Руководство рассчитано на технических специалистов с опытом установки операционных систем семейства 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%