Сегодня установим на Linux-сервере под ОС Debian программу 1С (серверную часть программы 1С). Платформа: 1С:Предприятие 8.3.
Настройка локали и часового пояса
Чтобы программа 1С могла работать с базой данных PostgreSQL, необходимо выбрать нужную локаль и задать локаль по умолчанию:
dpkg-reconfigure locales
Выбираем локаль ru_RU.UTF-8 UTF-8:

Выбираем локаль по умолчанию ru_RU.UTF-8:

Проверим корректность установленного часового пояса:
dpkg-reconfigure tzdata
Проверяем географический район:

Проверяем город/область:

Установка базы данных PostgreSQL для 1С
Чтобы скачать бесплатный дистрибутив базы данных PostgreSQL для 1С, заходим на сайт https://1c.postgres.ru

Листаем сайт вниз, читаем информацию, для каких архитектур имеются дистрибутивы (сборки) PostgreSQL для 1С, и нажимаем Далее.

Выбираем самую свежую версию СУБД PostgreSQL, в моем случае это была PostgreSQL 14, и нажимаем Далее.

Выбираем операционную систему, для которой нам нужна сборка СУБД PostgreSQL для 1С, в моем случае это ОС Debian, и нажимаем Последний вопрос.

Указываем ФИО и свой действующий email. На указанный email придет письмо с инструкциями по скачиванию бесплатной сборки СУБД PostgreSQL выбранной версии и под выбранную ОС.

На email приходит письмо с инструкциями следующего вида:

Переходим на свой Linux-сервер c ОС Debian, выполняем по инструкции команду:
wget https://repo.postgrespro.ru/pg1c-14/keys/pgpro-repo-add.sh
Скачивается скрипт pgpro-repo-add.sh. Выполняем скрипт командой:
sh pgpro-repo-add.sh
Скрипт pgpro-repo-add.sh просто добавляет репозиторий repo.postgrespro.ru для скачивания пакетным менеджером apt дистрибутива PostgreSQL для 1С с этого репозитория:

Продолжаем действовать по инструкции из email и устанавливаем PostgreSQL для 1С командой:
apt-get install postgrespro-1c-14
На этом установка СУБД PostgreSQL для 1С завершена.
Чтобы остановить или стартовать демон PostgreSQL, будем использовать соответственно команды:
systemctl stop postgrespro-1c-14
systemctl start postgrespro-1c-14
Минимальные настройки СУБД PostgreSQL
Заходим под пользователем postgres:
su - postgres
Зададим пароль pass для пользователя postgres:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'pass'"
Выход из-под пользователя postgres:
exit
Установка сервера 1С
Наш Linux-сервер под операционной системой Debian, поэтому нас интересует сервер 1С для DEB-based Linux. Такой сервер 1С распространяется в виде архива с расширением .tar.gz, имя архива меняется в зависимости от версии.
Удаление предыдущей версии
Если на Linux-сервере ранее уже была установлена какая-то предыдущая версия сервера 1С, то перед установкой новой версии сервера 1С удалим старую версию.
Останавливаем работающий сервер 1С командой:
/etc/init.d/srv1cv83 stop
Удаляем старые пакеты сервера 1С (вместо 8.3.ХХ.ХХХХ введите вашу старую версию сервера 1С):
dpkg -r 1c-enterprise-8.3.XX.XXXX-crs
dpkg -r 1c-enterprise-8.3.ХХ.ХХХХ-ws-nls
dpkg -r 1c-enterprise-8.3.ХХ.ХХХХ-ws
dpkg -r 1c-enterprise-8.3.XX.XXXX-server-nls
dpkg -r 1c-enterprise-8.3.XX.XXXX-server
dpkg -r 1c-enterprise-8.3.XX.XXXX-common-nls
dpkg -r 1c-enterprise-8.3.XX.XXXX-common
rm /etc/init.d/srv1cv83
Установка новой версии
Закидываем архив .tar.gz с новой версией сервера 1С на Linux-сервер в какую-нибудь отдельную директорию и распаковываем архив командой:
tar -xvzf deb_8_3_18_1334.tar.gz
Устанавливаем все .deb-пакеты командой:
dpkg -i *.deb
На этом установка сервера 1С завершена.
Настройка автоматического старта сервера 1С
Для автоматического старта сервера 1С при перезагрузке Linux-сервера:
ln -s /opt/1cv8/i386/8.3.18.1334/srv1cv83 /etc/init.d/srv1cv83
А в файле /etc/rc.local добавляем строки:
/etc/init.d/srv1cv83 start

Чтобы вручную стартовать или остановить сервер 1С, будем использовать соответственно команды:
/etc/init.d/srv1cv83 start
/etc/init.d/srv1cv83 stop
Проверка работоспособности 1С
Под рукой Windows-машина с установленной клиентской частью программы 1С той же версии, что и только что установленный сервер 1С. Давайте проверим работоспособность 1С.
Первое проверим, запущен ли сервер 1С, для этого на Linux-сервере выполним команду:
ps ax | grep 1c
Должно работать три сервиса: ragent, rmngr, rphost.

А теперь проверим само взаимодействие клиентской части 1С и сервера 1С. Для этого сначала создадим Информационную базу, а затем к ней подключимся.
Создание Информационной базы
На Windows-машине с клиентской частью 1С запускаем программу Администрирование серверов 1С Предприятия. Другое название этой программы — Консоль управления (ММС). Стандартное расположение данной программы на Windows-машине:
C:\Program Files (x86)cv8\commonCV8 Servers.msc

Правой кнопкой мыши кликаем на Central 1C:Enterprise 8.3 servers, выбираем Создать, а затем выбираем Центральный сервер 1С:Предприятия 8.3.

В появившемся окне Новый центральный сервер, в поле Имя вводим IP адрес сервера 1С. В моем случае сервер и клиент 1С находятся в локальной сети, поэтому у меня локальный IP адрес 192.168.1.38. Нажимаем кнопку Ok.

Если возникла Ошибка соединения с сервером 1С:Предприятия 8.3: server_addr=tcp://… : Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик…,

то проверяем, разрешен ли доступ к Linux-серверу (с сервером 1С) Windows-машине (с клиентом 1С).
Например, я предоставлю полный доступ к Linux-серверу Windows-машине (IP адрес 192.168.1.34), запустив следующую команду на Linux-сервере:
iptables -A INPUT -s 192.168.1.34/32 -j ACCEPT
iptables-save > /etc/iptables.up.rules
Если возникла Ошибка соединения с сервером 1С:Предприятия. Этот хост неизвестен,

то проверяем, корректно ли IP адрес сервера 1С (в моем случае это 192.168.1.38) преобразуется в hostname сервера 1С. Hostname сервера 1С можно узнать, выполнив команду:
cat /etc/hostname
Данные о соответствии IP aдреса сервера 1С и имени (hostname) сервера 1С необходимо внести в файл hosts Windows-машины, с которой мы пытались установить соединение с сервером 1С. Стандартное расположение файла hosts на Windows-машине:
C:\Windows\system32\drivers\etc\hosts
Если ошибок соединения с сервером 1С не возникло, то кликаем правой кнопкой мыши по Информационные базы, выбираем Создать, а затем выбираем Информационная база.

В открывшемся окне Новая Информационная база вводим Имя создаваемой Информационной базы (db1c), указываем Сервер баз данных (это наш Linux-сервер с IP адресом 192.168.1.38), выбираем Тип СУБД (PostgreSQL), указываем Базу данных (db1c, т.е. имя Информационной базы будет совпадать с именем базы данных PostgreSQL), вводим имя Пользователя сервера БД (postgres), вводим Пароль пользователя БД (это тот, который мы задавали в разделе Минимальные настройки СУБД PostgreSQL), ставим галочку рядом с Создавать базу данных в случае ее отсутствия и нажимаем кнопку OK.

Ура! Информационная база создана.

Подключение к Информационной базе
На Windows-машине запускаем программу Толстый клиент 1С (версия клиента 1С должна совпадать с версией сервера 1С). Стандартное расположение данной программы на Windows-машине:
C:\Program Files (x86)cv8.3.18.1334\bincv8.exe
Открывается окно Запуск 1С:Предприятия, нажимаем кнопку Добавить.

В открывшемся окне Добавление информационной базы/группы выбираем Добавление в список существующей информационной базы и нажимаем Далее.

В следующем окне указываем наименование Информационной базы (db1c) и расположение Информационной базы (На сервере 1С:Предприятия). Кластер серверов — это сервер 1С, указываем тут его IP адрес (192.168.1.38). Вводим Имя информационной базы (db1c) и нажимаем Далее, а затем кнопку Готово.

Настройки соединения завершены, нажимаем кнопку 1С:Предприятие.

Если появилось окно (см. рисунок ниже), значит соединение с сервером 1С работает. Мы создали пустую базу данных PostgreSQL, поэтому и окно пустое, но соединение с сервером 1С работает. Ура!

Восстановление Информационной базы из бекапа .dt
Чтобы восстановить Информационную базу из бекапа с расширением .dt, нужно в окне Запуск 1С: Предприятия (см. рисунок выше) нажать кнопку Конфигуратор, а в открывшемся окне Конфигуратора выбрать меню Администрирование, а затем выбрать Загрузить информационную базу, в открывшемся окне Открыть указать файл бекапа с расширением .dt. Восстановление Информационной базы из бекапа может занимать довольно продолжительное время, наберитесь терпения.
Для справки: информационная база .dt = база данных + конфигурация + список пользователей.
Выводы
В данной статье мы реализовали связку: ОС Debian + PostgreSQL 14 для 1С + сервер 1С. А также проверили работоспособность сервера 1С, подключившись к нему с Windows-машины с клиентом 1С. И, как бонус, восстановили Информационную базу из предварительно сделанного бекапа Информационной базы с расширением .dt.
Как это может помочь бизнесу?
Руководствуясь данной статьей, мы установили серверную часть программы 1С на сервер с бесплатной ОС Linux. Использование бесплатной ОС Linux избавляет от необходимости оплаты лицензии за ее использование. При этом 1С замечательно работает на Linux-сервере. Так зачем же использовать другую ОС на сервере и платить больше?
Пожалуйста, все вопросы оставляйте в комментариях под статьей. Спасибо 🙂
Комментарии