Изображенный на стодолларовой купюре президент Бенджамин Франклин когда-то предостерегал потомков от напрасных трат, напоминая, что даже маленькая течь способна потопить большой корабль. В сфере 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. В таком случае
скрипт для резервного копирования баз данных будет выглядеть следующим образом:

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

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

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

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    10 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии