- Установка 1C Server + Postgres PRO + Apache + Эмулятор HASP в Centos 8
- Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров
- Установка Postgres PRO
- Настройка Postgres PRO
- Установка сервера 1C
- Настройка сервера 1C
- Установка и настройка драйвера HASP
- Настройка Firewalld
- Создание базы 1с (на windows-машине через консоль администрирования серверов 1С Предприятия)
- Установка шрифтов для подготовки к публикации web-сервера
- Установка web-сервера Apache
- Настройка SELinux
- Установка эмулятора HASP в Centos 8 из исходников
- Разное
- Похожие записи
- Бесплатный SSL и Widacard SSL сертификат от Let’s Encrypt, подключение в NGINX и автообновление на Centos 7
- Установка Docker в Centos 7
- Создаем SSH-туннель с помощью Putty / Kitty
- Установка MySQL 5.7 на CentOS 6
- Убираем лишние элементы в blogger
- Установка и подключение модуля компрессии Brotli для NGINX в Centos 7
Установка 1C Server + Postgres PRO + Apache + Эмулятор HASP в Centos 8
Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров
Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.
Установка Postgres PRO
$ sudo rpm -i http://repo.postgrespro.ru/pgpro-12/keys/centos.rpm
$ sudo dnf makecache
$ sudo dnf -y install postgrespro-std-12
$ sudo systemctl status postgrespro-std-12
$ sudo rm -rf /var/lib/pgpro/std-12/data
$ sudo /opt/pgpro/std-12/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8
$ sudo systemctl enable --now postgrespro-std-12
$ ss -nltup
Настройка Postgres PRO
$ sudo nano /var/lib/pgpro/std-12/data/pg_hba.conf
…
#IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.11.0/24 md5
$ sudo su - postgres
$ psql
=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'vTH886v4g2TqcD';
=# \q
$ exit
$ sudo systemctl restart postgrespro-std-12
Установка сервера 1C
Для начала необходимо скачать дистрибутив server 1c под linux в каталог /tmp
Сделать это можно с официального сайта, либо поискать в интернете Распаковываем архив с дистрибутивом и устанавливаем
$ cd /tmp
$ tar xvf rpm64_8_3_17_1549.tar.gz
$ sudo dnf -y localinstall *.rpm
$ sudo chown -R usr1cv8:grp1cv8 /opt/1C
$ sudo systemctl enable srv1cv83
$ sudo systemctl start srv1cv83
$ sudo systemctl status srv1cv83
Настройка сервера 1C
$ sudo mkdir -p /mnt/1c/base
$ sudo chown -R usr1cv8:grp1cv8 /mnt/1c/base
$ sudo nano /etc/sysconfig/srv1cv83
…
SRV1CV8_DATA=/mnt/1c/base
$ sudo systemctl restart srv1cv83
$ sudo systemctl status srv1cv83
Установка и настройка драйвера HASP
$ cd /tmp
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/CentOS/7/haspd-7.90-eter2centos.x86_64.rpm
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/CentOS/7/haspd-modules-7.90-eter2centos.x86_64.rpm
$ sudo dnf -y localinstall haspd*
$ sudo nano /etc/haspd/hasplm.conf
…
NHS_IP_LIMIT = 127.0.0.1, 192.168.11.0/24
В этой строчке перечислены сети и хосты, которые смогут видеть HASP-ключ Перезапускаем сервис haspd, смотрим статус
$ sudo systemctl restart haspd
$ sudo systemctl status haspd
Настройка Firewalld
$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=1540/tcp
$ sudo firewall-cmd --permanent --add-port=1541/tcp
$ sudo firewall-cmd --permanent --add-port=1560/tcp
$ sudo firewall-cmd --permanent --add-port=5432/tcp
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all
Создание базы 1с (на windows-машине через консоль администрирования серверов 1С Предприятия)
Central 1C:Enterprise 8.3 servers - Создать - Центральный сервер 1С:Предприятие 8.3
Протокол: TCP
Имя: server1c
IP порт: 1540
Выбираем "Local cluster" - Информационные базы - ПКМ - Создать - Информационная база
Имя: base1c
Защищенное соединение: выключено
Сервер баз данных: sever1c
Тип СУБД: PostgreSQL
База данных: base1c
Пользователь сервера БД: postgres
Пароль пользователя БД: vTH886v4g2TqcD (этот пароль был задан на этапе установки БД)
Создать базу данныз в случае ее отсутствия: +
Установка шрифтов для подготовки к публикации web-сервера
$ sudo dnf -y install rpm-build ttmkfdir fontconfig freetype libgsf unixODBC
Так же нам нужен пакет cabextract, но под Centos 8 в базовых репозиториях его нет. По-этому скачиваем его из стороннего источника и устанавливаем
$ cd /tmp
$ wget https://pkgs.dyn.su/el8/base/x86_64/cabextract-1.9-2.el8.x86_64.rpm
$ sudo dnf -y localinstall cabextract-1.9-2.el8.x86_64.rpm
$ wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec
$ rpmbuild -bb msttcorefonts-2.5-1.spec
При выполнении команды rpmbuild … должны скачаться все шрифты, и собраться пакет. Если в процессе выполнения команды появится ошибка, например: “Connection timed out, не удалось разрешить адрес зеркала”, нужно запустить команду еще раз. Устанавливаем пакет шрифтов
$ sudo rpm -ivh $HOME/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm
Установка web-сервера Apache
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd
$ sudo mkdir -p /var/www/infobase
$ sudo touch /etc/httpd/conf.d/base.conf
$ cd /opt/1C/v8.3/x86_64
$ sudo ./webinst -apache24 -wsdir base -dir /var/www/infobase/ -connStr "Srvr=server1c;Ref=base1c;" -confPath /etc/httpd/conf.d/base.conf
Publication successful
-dir — путь к папке вебсервера, ранее созданная директория
-connStr — путь к расположеныю файловой базы 1С
-confPath — путь к файлу конфигурации вебсервера, ранее созданный файл (должен быть быть пустым)
-publish - указывает необходимое действие, в данном случае публикацию, может быть опущен, так как это действие по умолчанию
-wsdir - имя публикации, по которому к базе следует обращаться из браузера, обратите внимание, что оно регистрозависимое
-connstr - строка соединения, состоит из нескольких частей: Srvr - имя сервера, Ref - имя базы на сервере, каждая часть должна заканчиваться служебным символом ";"
$ sudo chown apache:apache /var/www/infobase/default.vrd
$ sudo systemctl restart httpd
Настройка SELinux
$ cd /tmp
$ nano httpd_1c.te
module httpd_1c 1.0;
require type httpd_t;
type httpd_tmp_t;
type user_home_t;
type httpd_sys_content_t;
class dir < add_name create read remove_name rmdir write >;
class file < create lock open read rename setattr unlink write >;
class file execute;
>
============= httpd_t ==============
. This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:file write;
. This avc is allowed in the current policy
allow httpd_t user_home_t:dir < add_name create read remove_name rmdir write >;
allow httpd_t user_home_t:file rename;
. This avc is allowed in the current policy
allow httpd_t user_home_t:file < create lock open read setattr unlink write >;
. This avc can be allowed using the boolean ‘httpd_tmp_exec’
allow httpd_t httpd_tmp_t:file execute;
$ sudo checkmodule -M -m -o httpd_1c.mod httpd_1c.te
$ sudo semodule_package -o httpd_1c.pp -m httpd_1c.mod
$ sudo semodule -i httpd_1c.pp
$ sudo systemctl restart httpd
В моем случае верхнее правило не помогло, пришлось поступать следующим образом: Анализируем лог, компилируем и устанавливаем еще одну политику
$ cd /tmp
$ sudo grep httpd /var/log/audit/audit.log | grep denied | audit2allow -m httpdlocalconf > httpdlocalconf.te
$ sudo grep httpd /var/log/audit/audit.log | grep denied | audit2allow -M httpdlocalconf
$ sudo semodule -i httpdlocalconf.pp
Или через тонкий клиент 1С по тому же адресу. На этом установка Сервера 1с с базой данных PostgreSQL и публикацией сервера в web завершена. Можно подключать USB-ключ с лицензией к серверу и работать.
Но, если вы разворачиваете ради тестирования, можно установить эмулятор HASP.
Установка эмулятора HASP в Centos 8 из исходников
$ sudo dnf -y install gcc gcc-c++ make
$ sudo dnf -y install kernel-devel
$ sudo dnf -y install jansson-devel libusb.i686 elfutils-libelf-devel
$ cd /usr/src
$ sudo wget https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/vhci-hcd-1.15.tar.gz/download -O vhci-hcd-1.15.tar.gz
$ sudo wget https://sourceforge.net/projects/usb-vhci/files/native%20libraries/libusb_vhci-0.8.tar.gz/download -O libusb_vhci-0.8.tar.gz
$ sudo git clone https://github.com/sam88651/UsbHasp.git
$ sudo tar -xpf libusb_vhci-0.8.tar.gz
$ sudo tar -xpf vhci-hcd-1.15.tar.gz
$ KVER=`uname -r` $ cd vhci-hcd-1.15 $ sudo mkdir -p linux/$/drivers/usb/core $ sudo cp /usr/src/kernels/$/include/linux/usb/hcd.h linux/$/drivers/usb/core $ sudo sed -i 's/#define DEBUG/\/\/#define DEBUG/' usb-vhci-hcd.c $ sudo sed -i 's/#define DEBUG/\/\/#define DEBUG/' usb-vhci-iocifc.c $ sudo sed -i 's/VERIFY_READ, //' usb-vhci-iocifc.c $ sudo sed -i 's/VERIFY_WRITE, //' usb-vhci-iocifc.c $ sudo make KVERSION=$
$ echo "usb_vhci_hcd" | sudo tee /etc/modules-load.d/usb_vhci.conf
$ sudo modprobe usb_vhci_hcd
$ echo "usb_vhci_iocifc" | sudo tee -a /etc/modules-load.d/usb_vhci.conf
$ sudo modprobe usb_vhci_iocifc
$ cd ../libusb_vhci-0.8
$ sudo ./configure
$ sudo make -s
$ sudo make install
$ echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/libusb_vhci.conf
$ sudo ldconfig
$ sudo cp dist/Release/GNU-Linux/usbhasp /usr/local/sbin
$ sudo nano /etc/systemd/system/usbhaspemul.service
[Unit]
Description=Emulation HASP key for 1C
Requires=haspd.service
After=haspd.service
[Service]
Type=simple
ExecStart=/usr/bin/sh -c 'find /etc/usbhaspkey -name "*.json" | xargs /usr/local/sbin/usbhasp'
Restart=always
[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable usbhaspemul
$ sudo cp /tmp/Dumps/1c_server_x64.json /etc/usbhaspkey/
$ sudo cp /tmp/Dumps/100user.json /etc/usbhaspkey/
$ sudo systemctl start usbhaspemul
$ sudo systemctl status usbhaspemul
Разное
OS: Centos 8.2 dvd iso
сеть: сетевой мост
$ cat /etc/hosts
192.168.11.235 server1c
В винде в drivers/etc/hosts
192.168.11.235 server1c
У блога появился новый хостинг, его любезно предоставила компания Selectel. Selectel — Серверы. Облако. Дата-центры. Строим и поддерживаем IT-инфраструктуру компаний, которые создают и развивают цифровые продукты.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Если вы размещаете материалы этого сайта в своем блоге, соц. сетях, и т.д., убедительная просьба публиковать обратную ссылку на оригинал
Похожие записи
Бесплатный SSL и Widacard SSL сертификат от Let’s Encrypt, подключение в NGINX и автообновление на Centos 7
Wildcard-сертификат — сертификат открытого ключа, который может использоваться с несколькими поддоменами *.example.ru Устанавливаем утилиту certbot Получаем SSL сертификат. Тип проверки: TXT-запись в DNS После чего certbot попросит для проверки прописать TXT-запись для доменных имен.Прописываем их на нашем dns-сервере, ждем некоторое время, чтоб они прописались и возвращаемся в консоль для подтверждения. Обязательно надо выждать некоторое время,…
Установка Docker в Centos 7
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами. Установим репозитории EPEL и REMI Установим программное обеспечение и обновимся…
Создаем SSH-туннель с помощью Putty / Kitty
SSH туннель — это туннель, создаваемый посредством SSH соединения и используемый для шифрования туннелированных данных. Используется для того, чтобы обезопасить передачу данных в интернете. Настройка туннеля Запускаем Putty / Kitty В поле Host Name вводим IP-адрес сервера, к которому мы будем подключаться, в поле Port вводим ssh-порт (по-умолчанию 22) Переходим в левом меню в раздел SSH…
Установка MySQL 5.7 на CentOS 6
Устанавливаем репозиторий MySQL Устанавливаем сервер и клиент MySQL Запускаем MySQL Ищем в log-файле пароль Подключаемся к MySQL используя пароль из log-файла Меняем пароль пользователя root
Убираем лишние элементы в blogger
Убираем панель навигации (NavBar): Админка блога – Шаблон – Изменить HTML. В HTML коде ищем строчку ]]> и перед ней вставить: #navbar-iframe < height: 0px; visibility: hidden; display: none; >Сохранить шаблон. Убираем “Подписаться на: Сообщения (Atom)”: Админка блога – Шаблон – Изменить HTML. В HTML коде ищем строчку ]]> и перед ней вставить: .feed-links…
Установка и подключение модуля компрессии Brotli для NGINX в Centos 7
Brotli – это новый алгоритм сжатия, который теперь широко поддерживается во многих браузерах. Метод сжатия brotli основан на современном варианте алгоритма LZ77.По сравнению с классическим алгоритмом deflate (середина 1990-х, ZIP, gzip), brotli, как правило, достигает на 20% более высокую степень сжатия для текстовых файлов, сохраняя сходную скорость сжатия и распаковки. Добавим репозиторий GetPageSpeed Установка NGINX…