Для корректной работы сервера, необходимо открыть порты:
1540 и 1541 для сервера 1С. 1560 — запросы к базе данных.
Для этого запустим следующие команды:
# iptables -I INPUT 1 -p tcp --dport 1540:1541 -j ACCEPT
# iptables -I INPUT 1 -p tcp --dport 1560 -j ACCEPT
Установим iptables-persistent:
# apt -y install iptables-persistent
И сохраним правила с помощью этой команды:
# netfilter-persistent save
В качестве СУБД задействуем PostgreSQL. Для 1С требуется специальная сборка postgresql, которая может быть установлена из специального дистрибутива или от поставщика 1С.
Настраиваем локаль:
# dpkg-reconfigure locales
В открывшемся окне выбираем ru_RU.UTF-8 UTF-8.
В следующем окне также выбираем ru_RU.UTF-8.
Для работы 1С рекомендуется установить специальный выпуск PostgreSQL Pro. Она может быть загружена и установлена бесплатно.
Заходим на страницу 1c.postgres.ru — проходим 3 шага мастера, выбрав нужную версию Postgresql и Linux.
На указанную в форме почту придет инструкция по установке выбранной версии PostgreSQL.
Скачиваем скрипт для установки репозитория:
# curl -o apt-repo-add.sh https://repo.postgrespro.ru/1c/1c-17/keys/apt-repo-add.sh
Устанавливаем gnupg2:
# apt-get install gnupg2
Запускаем скачанный скрипт:
# sh apt-repo-add.sh && apt update
Устанавливаем базу данных:
# apt-get install postgrespro-1c-17
Включаем автозагрузку сервиса:
# systemctl enable postgrespro-1c-17
Для инициализации базы данных:
1. Останавливаем сервис
# systemctl stop postgrespro-1c-17
2. Удаляем содержимое каталога data
# rm -rf /var/lib/pgpro/1c-17/data/*
3. Инициализируем базу с использованием русской локали и подстройки под 1С
# /opt/pgpro/1c-17/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8
4. Вновь запускаем сервис
# systemctl start postgrespro-1c-17
Задаем пароль для пользователя postgres:
# su - postgres -c /opt/pgpro/1c-13/bin/psql template psql (13.2) Введите "help", чтобы получить справку. postgres=# ALTER USER postgres with PASSWORD 'password'; ALTER ROLE postgres=# \q
Для корректной работы сервера 1С необходимо установить:
1. шрифты из состава Microsoft Core Fonts
# apt -y install ttf-mscorefonts-installer fontconfig && fc-cache -fv
2. дополнительные внешние библиотеки:
Для 1с 64 бит
# apt-get -y install imagemagick unixodbc libfreetype6 libgsf-1-common glib2.0
Для 1с 32 бит
# dpkg --add-architecture i386 && sudo apt update # apt-get install imagemagick-6.q16:i386 imagemagick:i386 unixodbc:i386 libgsf-bin:i386
Для удобства создадим каталоги для deb пакетов:
# mkdir -p ~/srv1c/{srv,hasp}
Скопируем файлы сервера 1С в папку srv, а файлы установки драйвера HASP в папку hasp. Архив с deb пакетами можно загрузить с сайта 1С или получить у поставщика. Загружаем драйвер HASP:
Для ключа 64 бит
# cd ~/srv1c/hasp/ # wget http://ftp.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Debian/9/haspd-modules_7.90-eter2debian_amd64.deb # wget http://ftp.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Debian/9/haspd_7.90-eter2debian_amd64.deb
Для ключа 32 бит
# cd ~/srv1c/hasp/ # wget https://download.etersoft.ru/pub/Etersoft/HASP/last/Debian/9/haspd_7.90-eter2debian_i386.deb # wget https://download.etersoft.ru/pub/Etersoft/HASP/last/Debian/9/haspd-modules_7.90-eter2debian_i386.deb
Копируем на сервер архив с дистрибутивом 1С в папку ~/srv1c/srv и распаковываем:
Для 1с 64 бит
# cd ~/srv1c/srv # tar zxvf 8.3.18.891_deb64.tar.gz
Для 1с 32 бит
# cd ~/srv1c/srv # tar zxvf 8.3.18.891_deb.tar.gz
Устанавливаем пакеты:
# cd ~/srv1c/srv # dpkg -i 1c*.deb
Делаем симлинк в каталог /etc/init.d на файл srv1cv83:
Для 1с 64 бит
# ln -s /opt/1cv8/x86_64/8.3.18.891/srv1cv83 /etc/init.d/srv1cv83
Для 1с 32 бит
# ln -s /opt/1cv8/i386/8.3.18.891/srv1cv83 /etc/init.d/srv1cv83
Запускаем сервер 1С
# systemctl start srv1cv83
Разрешаем автозапуск сервиса:
# systemctl enable srv1cv83
Понадобятся 32-битные библиотеки:
# apt -y install libc6-i386
И собственно драйвера
# cd ~/srv1c/hasp # dpkg -i *.deb # apt -f install
Запускаем
# systemctl start haspd.service
Доступ к серверу лицензий осуществляется по адресу http://host:1947 Если возникает ошибка 403, в /etc/hasplm/ создать файл hasplm.ini. Пример файла:
[SERVER] name = 1ctest idle_session_timeout_mins = 720 pagerefresh = 3 linesperpage = 20 ACCremote = 1 enablehaspc2v = 0 old_files_delete_days = 90 enabledetach = 0 reservedseats = 0 reservedpercent = 0 detachmaxdays = 14 commuter_delete_days = 7 disable_um = 0 requestlog = 0 loglocal = 0 logremote = 0 logadmin = 0 errorlog = 0 rotatelogs = 0 access_log_maxsize = 0 ;kB error_log_maxsize = 0 ;kB zip_logs_days = 0 delete_logs_days = 0 pidfile = 0 passacc = 0 accessfromremote = 1 accesstoremote = 1 bind_local_only = 0 ; 0=all adapters, 1=localhost only proxyconnect = 0 ; 0=disabled, 1=WPAD, 2=manual proxyhost = proxyport = 3128 [UPDATE] download_url = www.safenet-inc.com/hasp/language_packs/end-user update_host = www3.safenet-inc.com language_url = /hasp/language_packs/end-user/ [REMOTE] broadcastsearch = 1 aggressive = 0 serversearchinterval = 30 [ACCESS] [USERS] [VENDORS] [EMS] emsurl = http://localhost:8080 emsurl = http://127.0.0.1:8080 [LOGPARAMETERS] text = {timestamp} {clientaddr}:{clientport} {clientid} {method} {url} {function}({functionparams}) result({statuscode}){newline}