Изображенный на стодолларовой купюре президент Бенджамин Франклин когда-то предостерегал потомков от напрасных трат, напоминая, что даже маленькая течь способна потопить большой корабль. В сфере IT существует несколько вполне законных способов сэкономить. Можно перевести предприятие на Linux, можно использовать Zentyal вместо службы Active Directory, а еще можно настроить под Linux сервер 1С, переведя работу бухгалтерии на бесплатную платформу. Чем мы сегодня и займемся, попутно сэкономив еще и на сервере терминалов.
 

Установка и настройка

Серверная версия 1С для Linux допускает до 14 технологических клиентских подключений даже без лицензии, но это не означает, что лицензию не нужно покупать. Можно установить программу, протестировать и оценить ее возможности. Дистрибутив доступен на портале 1С при наличии подписки ИТС, а если хорошенько поискать, в интернете можно найти и другие источники загрузки.

Для начала работы с 1С в Linux (я использую CentOS 7 и 1С версии 8.3.2033) нужно установить PostgreSQL. Но перед этим придется подключить репозитории PostgreSQL для 1С:

$ sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos94.noarch.rpm

Далее переходим непосредственно к установке PostgreSQL Pro:

$ sudo yum update && sudo yum install postgresql-pro-1c-9.5

Для удобства администрирования базы можно установить в своей локальной системе pgAdmin, версии которого имеются не только для Linux, но также для Windows и macOS. А можно использовать консоль — su postgres. Затем под учеткой пользователя postgres инициализируем служебные базы данных с русской локализацией:

$ initdb --locale=ru_RU.UTF-8

Теперь запускаем сервер СУБД PostgreSQL:

$ systemctl enable postgresql-9.5
$ systemctl start postgresql-9.5
$ systemctl status postgresql-9.5

Переходим к 1С. Установочный пакет сервера 1С для Linux представляет собой архив с именем rpm64.tar.gz. Распакуй хранящиеся внутри файлы с расширением .rpm в какую-нибудь папку, перейди в нее и запусти установку программы следующей командой:

$ yum localinstall *.rpm

Если ты не используешь дополнения 1С, расширения, какие-либо нестандартные конфигурации, то одним сервером на Linux вполне можно обойтись. Конфигурации 1С, отличающиеся от типовых, а также некоторые дополнительные модули и библиотеки 1С используют для обмена данными между базами COM-объекты. Если на твоем предприятии используется именно такая конфигурация (например, расширение или отдельная база для обмена с «1С Мобильная торговля» либо аналогичными конфигурациями), без установки 1С-сервера на Windows не обойтись. Такой сервер использует СУБД MSSQL, которая, в свою очередь, может крутиться на любом сервере, в том числе на Linux.

Процесс установки 1С на Windows не представляет ни малейших сложностей, важно лишь при выборе устанавливаемых компонентов выбрать Средства администрирования сервера, 1С-сервер (если ставим 1С-сервер сразу на Windows) и сбросить флажок установки драйвера защиты. Все остальные параметры можно оставить по умолчанию.

Подведем промежуточный итог: у нас установлены серверы 1С под Windows и CentOS и сервер СУБД PostgreSQL под CentOS 7. Настало время создать новую базу данных в консоли управления 1С.

Создание БД в консоли 1С-сервера
Создание БД в консоли 1С-сервера

Внимательно прописываем имя базы (оно будет отображаться в консоли управления 1С-сервера), описание базы, в поле Сервер баз данных можно вбить IP-адрес СУБД сервера, если это не одна и та же машина, или имя сервера (в этом случае не забудь предварительно настроить DNS или файл hosts). В поле База данных вводим имя базы данных для PostgreSQL. Пользователь сервера БД для PostgreSQL — это postgres, а пароль этой учетки мы задавали при установке. В Microsoft SQL пользователя зовут sa, а его пароль также задается в процессе установки сервера. Далее опционально выбираем раздачу лицензий сервером 1С. Устанавливаем флажок Создать базу данных в случае ее отсутствия и нажимаем ОК. Аналогичным образом создаем необходимое количество баз.

Теперь нужно позаботиться о резервных копиях. Существует несколько путей решения этой задачи. Можно бекапить сервер целиком (это особенно удобно, если сервер развернут на виртуальной машине), а можно бекапить только базы. Мы будем сохранять в резервной копии и то и другое! Бекап сервера целиком мы рассмотрим в самом конце, когда все настроим, а сейчас займемся бекапом баз PostgreSQL.

 

Бекапим базы PostgreSQL

Для организации резервного копирования БД существует множество различных программ. Но, как мне кажется, для такой простой задачи совсем необязательно ставить какое-то дополнительное ПО, тем более в Postgres есть специальная утилита pg_dump. Поэтому мы напишем небольшой скрипт, который будет бекапить базу и сохранять ее туда, куда нам нужно.

Предварительно подготовим место, куда будем складывать резервные копии. Предположим, в нашей сети есть сервер samba с разграничением доступа. Создадим на этом сервере пользователя backup с паролем password. Теперь создадим серверную папку /home/samba/backup/pgsql/, в которую разрешим запись только этому пользователю.

Следующим шагом настроим в CentOS с сервером 1С поддержку samba:

$ sudo yum install cifs-utils

Пускай временным каталогом у нас будет /var/backup. В таком случае
скрипт для резервного копирования баз данных будет выглядеть следующим образом:

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Check Also

Фреймворки для постэксплуатации. Выбираем между Metasploit, Cobalt Strike, Merlin, Apfell, Faction C2, Koadic и другими

В этой статье мы поговорим о фреймворках, которые помогут эксплуатировать уязвимости, закр…

4 комментария

  1. Аватар

    ArchiYAstreb

    25.09.2019 at 12:53

    Если мой любимый журнал пытается экономить на софте. Придется поскрести по сусекам и оформить в конце да концов платную подписку.

    • Александр «Plus» Рак

      Александр «Plus» Рак

      25.09.2019 at 13:02

      Сейчас модно импортозамещаться. Вот пример 🙂 эту схему можно заводить на «отечественных» дистрибутивах Linux.
      чем не повод 😉 ?
      забыл упомянуть, что в последних версиях pgsql ( попробовал на 10.9-5.1) синтаксис pg_dump немного упростился:
      pg_dump.exe -U postgres -v bd > test.bak
      🙂

  2. Аватар

    Asylum

    25.09.2019 at 19:20

    Зентал вроде платный, можно поставить Федору, Active Directory их изобретение, либо Clear OS.
    Про 1С ничего не могу сказать, сейчас бюджетников стали на Парус переводить, хотя по сути та же параолимпиада

  3. Аватар

    alien-ag

    27.09.2019 at 00:39

    FreeIPA ставится из пакета, поддержка Samba, Bind и Kerberos, имеет веб-интерфейс, наверное лучшая замена AD.

Оставить мнение