Руководство по установке сервера 1С на Linux

6952

Руководство рассчитано на технических специалистов с опытом установки операционных систем семейства WINDOWS, но не работающих с ОС Linux. В руководстве описывается установка и настройка серверной системы на базе ОС Linux с сервером 1С, предназначенным для эксплуатации отраслевых решений 1С-Рарус. Система включает следующие компоненты: сервер 1С, сервер СУБД PostgreSQL, менеджер лицензий платформы, сервер лицензирования 1С-Рарус, сервер лицензирования СЛК, веб-сервер Apache, FTP сервер. Администрирование компонентов системы производится путем  удаленного подключения к консоли. Выполнена базовая оптимизация параметров работы компонентов в соответствии с рекомендациями 1С.

Системный администратор

Руководство рассчитано под конкретные версии

  • Ubuntu-16.04.3-server-amd64.
  • PostgreSQL Pro 9.6.3.3.
  • Apache 2.2.
  • Сервер 1С 8.3.13.1513.

Термины

  • deb — расширение для ОС Debian/Ubuntu.
  • tar — формат файла архива, а также название традиционной для Unix (https://ru.wikipedia.org/wiki/Unix) программы для работы с такими архивами.
  • Локаль (locale) — это файл, содержащий таблицу с указанием того, какие символы считать буквами, и как их следует сортировать.
  • Загрузка пакетов происходит из репозиториев. Список доступных репозиториев указывается в файле /etc/apt/sources.list.
  • Репозиторий, хранилище — место, где хранятся и поддерживаются какие-либо данные, необходимые для обновлений/установки приложений/пакетов.
  • Зависимости — одна из важнейших сфер деятельности RPM (менеджер пакетов). БД RPM отслеживает зависимости между пакетами, что значительно облегчает задачи администратора. Зависимости возникают в тех случаях, когда работоспособность ПО из одного пакета зависит от ПО, входящего в состав другого пакета.

1. Установка ОС Ubuntu (серверный вариант)

Дистрибутив Ubuntu можно взять на официальном сайте (http://old-releases.ubuntu.com/releases/16.04.3/). Для этого понадобится ISO-файл серверного образа для платформы х64 PC (AMD64).

Руководство рассчитано на версию Ubuntu-16.04.3-server-amd64.iso. На основе образа при помощи утилиты Rufus (https://rufus.ie/) необходимо создать загрузочную флешку. Для выбора компонентов при установке следует использовать клавишу «пробел».

При установке дистрибутива, везде выбираем язык системы English. В дальнейшем, при установке 1С, будет выставляться нужная локаль русского языка.

При выборе раскладки если клавиатура стандартная, выбираем пункт «не определять». Если не стандартная, например, клавиатура mac, выбираем «определить».

Разбивка диска производится на усмотрение оператора системы. Минимальный объём диска выбирается, исходя из размеров текущей/будущей базы 1С + 80Gb под временные файлы и систему/резерв. Если оператор системы не знаком с вариантами разбивки, рекомендуется делать разбивку, предложенную по умолчанию:

После чего записываем изменения на диск:

ВАЖНО! Если UbuntuServer устанавливается на диск, где уже находится какая-либо операционная система, то необходимо заранее выделить на этом диске место под неё. Если на диске стоит ОС Windows, то необходимо, например при помощи AcronisDiskManager, отделить от текущего диска необходимое место, и создать на его базе раздел в формате EXT3/4.

При установке отказываемся от автоматической установки update.

В software selection выбираем пункт (клавишей пробел) OpenSSh server, остальное на усмотрение оператора системы, но не рекомендуется перегружать 1С сервер излишними задачами, такими как  mail server/dns server/etc.

PostrgresSQL database устанавливается отдельно, так как БД, идущая в основной сборке UbuntuServer, не настроена под задачи 1С.

Если в дальнейшем для использования сервера требуется установить на нём графический интерфейс, то необходимо выполнить команду:

  • sudo apt-get install ubuntu-desktop -y

Если в процессе установки возникла ошибка «Неудовлетворенные зависимости. Попытайтесь выполнить „apt-get -f install“, не указывая имени пакета, (или найдите другое решение).», то выполнить команды:

  • sudo apt-get clean
  • sudo apt-get install -f

После чего повторить установку и перезагрузить сервер:

  • sudo reboot

Так же для удобства использования системы без графического интерфейса, необходимо установить MidnightCommander командой:

  • sudo apt-get install mc

 

2. Подготовка ПК под управлением OC Windows для удалённого управления UbuntuServer

Данный раздел нужен для того, чтобы вести дальнейшую работу с UbuntuServer из под ОС Windows. После завершения установки необходимо авторизироваться в системе под заданным паролем и логином. При подключении с другого ПК под windows необходим ssh-клиент. Рекомендуется использовать Putty (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).

Для подключения необходимо знать IP адрес сервера и проверить статус SSH. В консоли UbuntuServer пишем следующие команды:

  • sudo ifconfig — система покажет IP сервера.

sudo service ssh status — система покажет статус сервиса SSH.

Если сервис SSH не активен:

    • необходимо выполнить команду sudo service ssh start
    • повторить проверку статуса сервиса командой sudo service ssh status

Запустить Putty на удалённом ПК. Ввести ip-адрес UbuntuServer и нажать Оpen. В появившемся окне консоли ввести логин и пароль от UbuntuServer.

Для переноса файлов из ОС Windows на UbuntuServer необходима программа При использовании удаленного ПК c OC Windows рекомендуется программа WinSCP (https://winscp.net/download/WinSCP-5.15.1-Setup.exe) (программа, необходимая для переноса файлов из windows в linux системы, ftp-шары).

3. Установка сервера 1С

После установки сервера происходит генерация и установка необходимых локалей. Это особенно важно, если система была установлена с языком отличным от русского. Для этого в консоли вводятся следующие команды:

  • sudo locale-gen en_US
  • sudo locale-gen ru_RU
  • sudo dpkg-reconfigure locales (где выбираем ru_RU.UTF-8)

Создается папка для дистрибутива 1С при помощи команды:

  • mkdir ~downloads/

В созданную ранее папку нужно закачать имеющийся дистрибуrdсервера 1С для deb64, например: deb64_8_3_13_1513.tar.gz (https://releases.1c.ru/version_file?nick=Platform83&ver=8.3.13.1513&path=Platform%5C8_3_13_1513%5Cdeb64_8_3_13_1513.tar.gz). Это можно сделать из браузера сервера, используя графический интерфейс. Также можно поместить скачанные файлы на сервер, создав на нём ftp-сервер.

Запустив WinSCP, в появившемся окне необходимо указать ip-адрес UbuntuServer и нажать «войти»:

Далее в появившемся файловом менеджере в правом окне необходимо перейти в созданную на сервере папку и скопировать дистрибутив, после чего возвратиться в консоль сервера или Putty. Переход в папку с дистрибутивом осуществляется командой:

  • cd ~downloads/

Затем необходимо распаковать архив:

  • tar xvzf deb64_8_3_13_1513.tar.gz

Установить пакеты:

  • sudo dpkg -i *.deb

При установке на Ubuntu может возникнуть проблема с отсутствием пакета libwebkitgtk-1.0-0. Решить ее можно с помощью последовательного ввода команд в терминал:

  • sudo apt-get install libwebkitgtk-1.0-0
  • sudo apt-get -f install

ВАЖНО! У установочных пакетов deb1с есть зависимости, ввиду чего, если установка не закончилась успешно, необходимо пакеты входящие в поставку платформы 1С (https://releases.1c.ru/version_files?nick=Platform83&ver=8.3.13.1513) скачать отдельно в папку ~/downloads/

Запускаем сервер 1С:

  • sudo service srv1cv83 start

Проверяем запуск сервера:

  • sudo service srv1cv83 status

Для запуска сервера в режиме отладки необходимо изменить конфигурационный файл /etc/init.d/srv1cv83 (документация по файлу https://its.1c.ru/db/v837doc#bookmark:adm:TI000000418).

Если, после вывода статуса сервиса, в консоли нельзя ввести другую команду, то требуется нажать клавишу Q.

Для удобства пользования рекомендуется поставить файловый менеджер MidnightCommander. Для этого в консоли сервера прописывается команда:

  • sudo apt-get install mc.

В дальнейшем, после установки, можно работать в менеджере из-под консоли, выполнив команду:

  • sudo mc

Или сразу править нужный конфигурационный файл/скрипт командой:

  • sudo mcedit /etc/init.d/srv1cv83

Для примера отредактируем файл /etc/init.d/srv1cv83 командой:

  • sudo mcedit /etc/init.d/srv1cv83

В появившемся редакторе изменим ключ SRV1CV8_DEBUG (значение 1=вкл debug, значение 0=выкл debug). Также данную строку необходимо раскомментировать (убрать символ # перед ключом), после чего жмём F2 (сохранить изменения) и F10 (выйти из редактора).

После данных изменений сервис 1С севера необходимо перезапустить командой:

  • sudo service srv1cv83 restart

4. Установка PostgreSQL Pro 9.6.3.3 для 1С

Перед началом установки СУБД требуется произвести регистрацию ключа репозитория PostgreSQL и обновить его пакеты тут (http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C).

Добавить репозиторий командой:

  • sudo sh -c ‘echo «deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main» > /etc/apt/sources.list.d/postgrespro-1c.list’
  • wget —quiet -O — http://repo.postgrespro.ru/pgpro-11/keys/GPG-KEY-POSTGRESPRO | sudo apt-key add | sudo apt-get update

Установить postgresql 9.6:

  • sudo apt-get install postgresql-pro-1c-9. (точка в конце обязательна).

Отредактировать сетевую конфигурацию postgresql:

  • sudo mcedit /etc/postgresql/9.6/main/pg_hba.conf
  • Изменить строчку на host all all 127.0.0.1/32 trust

Запустить postgresql:

  • sudo service postgresql start

Установить пароль на пользователя (в поле %password% указать пароль):

  • psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD %password%»

Если вариант команд выше выдала ошибку, то выполнить следующие:

  • sudo -u postgres psql
  • ALTER USER postgres with PASSWORD ‘password’

Перезапустить postgresql:

  • sudo systemctl restart postgresql

Прописать postgresql в автозагрузку и проверить статус службы:

  • sudo systemctl enable postgresql 
  • systemctl status postgresql

Для работы в postgresql под UbuntuServer нужно для начала зайти под пользователем postgres:

  • sudo su postgres

Далее зайти в сам postgres командой:

  • psql (выйти из этого пользователя команда /q)

Для работы в Postgresql с удаленного ПК под управление ОС Windows используется утилита PgAdmin (https://www.postgresql.org/ftp/pgadmin/pgadmin3/v1.22.2/win32/). В самой утилите необходимо нажать «Добавить новое подключение к серверу». В появившемся окне ввести данные сервера: ip-адрес, логин и пароль пользователя postgresql, указанные при его установке.

5. Оптимизация параметров PostgreSQL

Рекомендации 1С по настройке postgresql можно посмотреть на сайте ИТС (https://its.1c.ru/db/metod8dev#browse:13:-1:1989:2035:2510:2536).

Для оптимизации параметров Postgresql можно воспользоваться сервисом (https://pgtune.leopard.in.ua/#/).

На странице сервиса необходимо указать параметры настраиваемой системы и сервера:

  • Версии СУБД = 9.6
  • Тип ОС = Linux
  • Количество ОЗУ
  • Количество процессоров
  • Количество подключений к базе (оптимально максимально возможное значение)
  • Тип жесткого диска (HDD/SSD/NAS)

Нажать Generate и скопировать данные из правого окна в конец конфигурационного файла расположенного по адресу /etc/postgresql/9.6/main/postgresql.conf.

Вставка в mcedit производиться с помощью комбинации клавиш shift+insert

После сохранения конфигурационного файла нужно перезапустить сервер postgres командой:

  • sudo systemctl restart postgresql

ВАЖНО! Сервер может не запуститься из-за технических ограничений, после выполнения указанных выше процедур. Для решения этого необходимо прописать следующие параметры самого сервера в конце файла /etc/sysctl.conf:

  • kernel.shmmax=17179869184 (2Гб в битах)
  • kernel.shmall=4194304 (0,52Мб в битах)

Перезагружаем сервер командой:

  • sudo reboot

6. Установкой менеджера hasp от etersoft

Необходимо скачать пакет для Ubuntu 16.04 тут (https://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/16.04/haspd_7.90-eter2ubuntu_i386.deb) с сайта (http://etersoft.ru) и поместить его на сервер UbuntuServer в папку ~/downloads/.

После того, как загрузка помещёна в папку указанную выше, необходимо в консоли сервера перейти в эту папку командой:

  • cd ~/downloads/

Разрешить установку х32 пакетов: sudo

  • sudo dpkg —add-architecture i386

Обновить список пакетов:

  • sudo apt-get update

Установить необходимые зависимости:

  • sudo apt install -f libc6:i386 libusb-1.0.0:i386 libgcc1:i386 gcc-6-base:i386 libudev1:i386

Затем запустить установку скачанного пакета и менеджера лицензий:

  • sudo dpkg -i haspd_7.90-eter2ubuntu_i386.deb
  • sudo service haspd start

Проверить его работу:

  • netstat -anp | grep hasp

Если необходимо, скачать драйвер ключа по ссылке (http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/16.04/haspd-modules_7.90-eter2ubuntu_i386.deb), установить:

  • sudo dpkg -i haspd-modules_7.90-eter2ubuntu_i386.deb

7. Установка типовой конфигурации

Для установки типовой конфигурации, необходим установленный графический интерфейс на UbunruServer, далее необходимо скачать архив данной конфигурации и поместить его на сервер UbuntuServer в папку ~/downloads/.

К примеру возьмем демонстрационную базу (https://releases.1c.ru/version_file?nick=Platform83&ver=8.3.13.1513&path=Platform%5C8_3_13_1513%5Cdemo.zip). База заархивирована в .zip формат и имеет имя demo.zip. После того, как архив помещён в папку указанную выше, необходимо в консоли сервера перейти в эту папку командой:

  • cd ~/downloads/

Затем требуется разархивировать архив при помощи команды:

  • unzip demo.zip

Приступить непосредственно к установке шаблона используя команду:

  • sh setup (не setup.exe)

8. Создание и добавление базы на 1С сервер

Для создании базы на ПК под управление OC Windows требуется записать в файл

  • C:\Windows\System32\drivers\etc\hosts

строку:

  • ip address  UbuntuServerName (к примеру 192.168.0.110 Ubuntu)

Для добавления базы непосредственно с сервера можно воспользоваться консольными утилитами ras и rac входящих в комплект сервера 1С.

Перейдем в каталог платформы:

  • cd /opt/1C/v8.3/x86_64

Запустим сервер удаленного администрирования кластера серверов:

  • sudo ./ras –daemon cluster

Прочитаем информацию о кластере сервер 1С:

  • ./rac cluster list

Получим список баз по данному кластеру (CLUSTER_UID — идентификатор кластера с предыдущего шага):

  • ./rac infobase –cluster=%CLUSTER_UID% summary list

Добавить администратора кластера:

  • ./rac cluster admin –cluster=%CLUSTER_UID% register –name=admin –pwd=%password% –auth=pwd

Добавить базу:

  • ./rac infobase create –cluster %CLUSTER_UID% –create-database –name=demo –dbms=PostgreSQL –db-server=loclahost –db-name=demo –locale=ru –db-user=postgres –db-pwd=%password% –cluster-user=admin –cluster-pwd=%password% –license-distribution=allow

    Где:

    • CLUSTER_UID — идентификатор кластера 1С;
    • name — имя базы по желанию, к примеру demo;
    • Db-server — расположение сервера Postgresql;
    • db-name — имя базы данных в Postgresql;
    • db-user — логин пользователя Postgresql;
    • db-pwd — пароль пользователя Postgresql;
    • cluster-user — администратор кластера 1С;
    • Cluster-pwd — пароль администратора 1С.

Если на сервере доступен графический интерфейс, то добавление можно произвести следующим образом:

  • Запустить 1С:

Выполнить следующие действия:

Добавить → Создать infobase → выбрать шаблон или создание пустой базы → Указать «сервер 1С» → ввести данные сервера:

  • Где:
    • кластер — localhost или 127.0.0.1;
    • имя базы — по желанию, к примеру demo;
    • безопасное соединение — отключено;
    • тип БД — PostgreSQL;
    • сервер БД — localhost или 127.0.0.1;
    • имя БД — по желанию, к примеру demo;
    • пользователь БД — postgres;
    • пароль пользователя (назначаемый при установке postgresql) если пароль не назначался, то оставить поле пустым.

Если в процессе создания базы появилась ошибка региональных стандартов, то необходимо запустить 1С с русской локалью командой в консоли:

  • LANG=ru_RU. UTF-8 /opt/1C/v8.3/x86_64/1cv8

Для создания базы с удалённого ПК требуется заменить localhost (или 127.0.0.1) на ip-адрес UbuntuServer.

9. Установка и настройка веб-сервера

Apache — популярный тип Apache-сервера, является веб-сервером по умолчанию для многих операционных систем и доступен в стандартном репозитории Ubuntu.
Установка Apache выполняется командой:

  • sudo apt-get install apache2

Конфигурировать Apache можно через файл apache2.conf при помощи команды:

  • sudo mcedit /etc/apache2/apache2.conf

После каждой реконфигурации файла требуется перезапуск Apache командой:

  • sudo service apache2 restart

 

10. Установка сервера лицензирования 1С-Рарус

Версия сервера лицензирования для Ubuntu, использованная в статье, опубликована по ссылке. Необходимо выбрать .deb пакет amd64 (так как сервер устанавливался х64).

После скачивания файл необходимо поместить на сервер в любую удобную папку, например /home/%username%/downloads, после чего в консоли перейти в неё с помощью команды:

  • cd ~/downloads

Дальнейшая установка осуществляется командой:

  • sudo dpkg -i licserver_2.1.0.339_amd64.deb

Проверить работу сервера лицензирования можно с помощью:

  • service LicServer status

При наличии графического интерфейса, зайти на сервер лицензирования можно непосредственно с UbuntuServer через браузер по адресу:

  • http://localhost:15201

С другого ПК заходить необходимо по адресу:

  • http://%IP_адрес_UbuntuServer%:15201

 

11. Установка сервера лицензирования СЛК

Для установки сервера СЛК требуется скачать нужный архив с сайта (http://prom.licencecenter.ru/), поместив его в папку /home/%username%/downloads/.

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

  • cd ~/downloads/

Выполнить установку:

  • dpkg –i licenceserver-%version%.amd64.deb(к примеру dpkg –i licenceaddin-3.0.18-8079.amd64.deb)

Проверить, что сервер успешно установлен и запущен можно при помощи команды:

  • service licenceserver status

Для ОС Linux с графическим окружением при установке сервера СЛК ссылка на консоль добавляется в меню приложений:

  • Приложения → Системные / Офис → Консоль сервера СЛК (браузер по умолчанию)

Для работы с удалённого ПК администрирование сервера, установка лицензий и настройка параметров выполняется с помощью консоли, выполненной в виде веб-приложения и доступной через веб-браузер по адресу и порту сервера СЛК. Например, на локальном компьютере при использовании стандартного порта адрес консоли будет http://localhost:9099 (где localhost это ip-адрес UbuntuServer). Более подробное руководство размещено на сайте licencecenter.com (https://licencecenter.com/downloads/licence/3.0/doc/СЛК3.0_Руководство_администратора.pdf).

12. Установка и настройка FTP-сервера

VSFTPD — популярный тип FTP-сервера, является FTP-сервером по умолчанию для многих операционных систем и доступен в стандартном репозитории Ubuntu.

Для установки  VSFTPD-сервера, используется команда:

  • sudo apt-get install vsftpd

После установки потребуется настроить FTP-сервер под конкретные задачи с помощью конфигурационного файла, расположенного по адресу /etc/vsftpd.conf.

Содержимое файла вполне доступно для понимания и достаточно детализировано, чтобы разобраться в нем самостоятельно. Тем не менее, рекомендуется изменить некоторые настройки следующим образом:

  • listen=YES
  • listen_ipv6=NO
  • anonymous_enable=NO
  • local_enable=YES
  • write_enable=YES
  • chroot_local_user=YES
  • local_umask=022
  • force_dot_files=YES
  • allow_writeable_chroot=YES

Прежде чем запустить FTP-сервер, необходимо добавить строку /<usr/sbin/nologin в файл /etc/shell, для подключения пользователей к FTP-серверу без предоставления им shell-доступа:

  • sudo su echo «/usr/sbin/nologin» >> /etc/shells

Теперь FTP-сервер готов к запуску:

  • sudo service vsftpd start

Для запрета доступа со всех IP-адресов, кроме тех, которые планируется использовать для подключения к FTP-серверу, необходимо внести изменения в файл /etc/hosts.allow:

  • vsftpd : 127.0.0.1 : allow
  • vsftpd : allowed_IP_adress : allow
  • vsftpd : ALL : deny

Добавьте пользователя, запретите ему подключение по ssh, а затем задайте домашнюю директорию (home directory) — каталог, где будут храниться данные пользователя.

После создания пользователя, смените ему пароль:

  • useradd %user_name% —shell /usr/sbin/nologin —home-dir /%path_to_directory% %passwd_user_name%

Для создания нового пользователя с правом редактирования файлов уже существующего пользователя, используются точно такие же идентификаторы UID и GID.

  • useradd %user_name% -o -u UID_client -g GID_client —shell /usr/sbin/nologin —home-dir /%path_to_directory% %passwd_user_name%

Проверка значений идентификаторов UID и GID осуществляется при помощи команды:

  • id %user_name%

источник