Установка 1с на Ubuntu 18.04

Все ниже указанное справедливо для 18.04


Обновляем систему до текущего состояния. Устанавливаем необходимые для работы пакеты. Меняем часовой пояс Для удобства все команды выполняются под sudo

apt-get update
apt-get dist-upgrade
apt-get install qemu-guest-agent
apt-get install mc
apt install nfs-kernel-server
apt-get install gpgsm
dpkg-reconfigure tzdata
apt-get install -y wget gnupg2
apt-get install imagemagick unixodbc libgsf-bin ttf-mscorefonts-installer
reboot

ПЕРЕД установкой 1с необходимо обязательно установить имя компьютера. Открываем файл

nano /etc/cloud/cloud.cfg

Ищем следующий текст и меняем. Таким образом мы запрещаем изменение имени компьютера после перезагрузки.

FROM:
preserve_hostname: false
TO:
preserve_hostname: true

Устанавливаем имя компьютера. для примера используется 1c-prod-un.unica-eng.local

hostnamectl set-hostname 1c-prod-un.unica-eng.local

Качаем пакет 1с сервера (на момент написания это 8.3.13.1690). Лежит в папке Installs на QNAP и распаковываем его.

cd /tmp/
wget ftp://192.168.101.2/Installs/deb64_8_3_13_1690.tar.gz
tar xvzf deb64_8_3_13_1690.tar.gz

Устанавливаем все из установочного пакета

dpkg -i *.deb

Проверяем статус

service srv1cv83 status

Должен быть такой выхлоп.

● srv1cv83.service - LSB: Starts and stops the 1C:Enterprise daemons
   Loaded: loaded (/etc/init.d/srv1cv83; generated)
   Active: active (exited) since Fri 2019-03-15 00:06:21 MSK; 9h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1376 ExecStart=/etc/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)

Mar 15 00:06:16 1c-dev-un.unica-eng.local systemd[1]: Starting LSB: Starts and stops the 1C:Enterprise daemons...
Mar 15 00:06:16 1c-dev-un.unica-eng.local su[1497]: Successful su for usr1cv8 by root
Mar 15 00:06:16 1c-dev-un.unica-eng.local su[1497]: + ??? root:usr1cv8
Mar 15 00:06:16 1c-dev-un.unica-eng.local su[1497]: pam_unix(su:session): session opened for user usr1cv8 by (uid=0)
Mar 15 00:06:16 1c-dev-un.unica-eng.local su[1497]: pam_unix(su:session): session closed for user usr1cv8
Mar 15 00:06:21 1c-dev-un.unica-eng.local srv1cv83[1376]: Starting 1C:Enterprise 8.3 server: OK
Mar 15 00:06:21 1c-dev-un.unica-eng.local systemd[1]: Started LSB: Starts and stops the 1C:Enterprise daemons.

Устанавливаем БД PgSQL

wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -
echo deb http://1c.postgrespro.ru/archive/2018_12_06/deb bionic main > /etc/apt/sources.list.d/postgrespro-1c.list
apt-get update -y
if dpkg -s libpq5 2>/dev/null; then apt-get remove -y libpq5; fi
apt-get install -y libpq5=9.6.*.1C.bionic
apt-get install -y postgresql-pro-1c-9.6
service postgresql status

Редактируем конфиг PgSQL. Разрешаем внутренние подключения

nano /etc/postgresql/9.6/main/pg_hba.conf

Находим строчку local all postgres peer и меняем ее на local all postgres trust

Перегружаем сервис PgSQL

service postgresql restart

Меняем (устанавливаем) пароль для служебного пользователя postgres

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'ТУТ_ВВОДИМ_СВОЙ_ПАРОЛЬ'"

Далее при необходимости надо опубликовать базы для WEB-доступа. Для примера название базы web

/opt/1C/v8.3/x86_64/webinst -apache24 -wsdir web -dir /var/www/html/web -connstr "Srvr=localhost;Ref=web;" -confPath /etc/apache2/apache2.conf

далее открываем файл на редактирвоание

nano /var/www/html/web/default.vrd

и заменяем содержимое — этим.

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                base="/web"
                ib="Srvr=localhost;Ref=web;">
        <standardOdata enable="false"
                        reuseSessions="autouse"
                        sessionMaxAge="20"
                        poolSize="10"
                        poolTimeout="5"/>
<ws>
                <point name="AccHRMDataTransfer"
                                alias="AccHRMDataTransfer.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="EnterpriseDataExchange_1_0_1_1"
                                alias="EnterpriseDataExchange_1_0_1_1.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="EnterpriseDataUpload_1_0_1_1"
                                alias="EnterpriseDataUpload_1_0_1_1.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="EquipmentService"
                                alias="EquipmentService.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="Exchange"
                                alias="exchange.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="Exchange_2_0_1_6"
                                alias="exchange_2_0_1_6.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="InterfaceVersion"
                                alias="InterfaceVersion.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="ManagedApplication_1_0_0_1"
                                alias="ManagedApplication_1_0_0_1.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="MessageExchange"
                                alias="messageexchange.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="MessageExchange_2_0_1_6"
                                alias="messageexchange_2_0_1_6.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="MobileAccounting"
                                alias="MobileAccounting.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="MobileEntrepreneur"
                                alias="MobileAcc.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="MobileEntrepreneur_1_0_2_1"
                                alias="MobileEntrepreneur.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="RemoteAdministrationOfExchange"
                                alias="RemoteAdministrationOfExchange.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="RemoteAdministrationOfExchange_2_0_1_6"
                                alias="RemoteAdministrationOfExchange_2_0_1_6.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                                <point name="RemoteAdministrationOfExchange_2_1_6_1"
                                alias="RemoteAdministrationOfExchange_2_1_6_1.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <point name="RemoteControl"
                                alias="RemoteControl.1cws"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
        </ws>
        <httpServices>
                <service name="AppMigration"
                                rootUrl="AppMigration"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
                <service name="ExternalAPI"
                                rootUrl="api"
                                enable="true"
                                reuseSessions="dontuse"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
<service name="ПередачаДанных"
                                rootUrl="dt"
                                enable="true"
                                reuseSessions="use"
                                sessionMaxAge="20"
                                poolSize="10"
                                poolTimeout="5"/>
        </httpServices>
</point>