Настройка Web-публикации 1С на ОС Linux для разработки и тестирования
В этой статье рассмотрим сборку на виртуальной машине (ВМ) Hyper-V (Win10pro), Astra Linux CE 2.12, 1C, PostgresPro, Apache2.
Предварительно необходимо скачать:
1) Дистрибутив платформы x64 8.3.23.1437 для Linux и для Windows. https://releases.1c.ru/total


2) orel-stable.iso образ Astra Linux CE 2.12 https://dl.astralinux.ru/astra/stable/2.12_x86-64/iso/
3) WinSCP (для работы с файловой системой ВМ) https://winscp.net/eng/download.php
4) SSH-клиент (Putty подойдет более чем) https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
5) pgAdmin4 (для администрирования PostgreSQL) https://www.pgadmin.org/download/pgadmin-4-windows/
Contents
Создание и настройка виртуальной машины для установки 1С на Linux
Можно использовать VirtualBox https://www.virtualbox.org/. Имея Windows 10 pro, для создания ВМ использую Hyper-V. Как его включить — можно посмотреть тут https://learn.microsoft.com/ru-ru/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v. (Рекомендуется в BIOS материнской платы включить аппаратную виртуализацию и отключить Suspend Mode.)
Создание ВМ
После приветственного экрана назначить имя для ВМ. Отметить галочкой папку размещения, в этой папке будут размещаться необходимые подпапки и файлы ВМ.

Далее выбрать второе поколение ВМ.

Далее можно выбрать динамическое расширение памяти и минимум 2048Мб для Astra Linux.

Далее сетевое подключение. По умолчанию должен присутствовать Default Switch, настройки которого можно посмотреть в Virtual Switch Manager.



Далее жесткий диск виртуальный. По умолчанию предложит создать диск 127Гб и размером блока 32Мб, это может вызвать ошибку при установке. Или можно указать небольшой размер диска — 32Гб, или создать диск с размером блока 1Мб в PowerShell.
New-VHD -Path F:\Hyper-V\test.vhdx -SizeBytes 127GB -Dynamic -BlockSizeBytes 1MB

Далее выбор устанавливаемой ОС. Можно указать позже.

Далее итоговая информация. Нажать финиш и создастся ВМ.
Настройка ВМ
Добавить DVD drive. Применить изменения, чтобы привод появился в условиях загрузки.

По желанию можно добавить ядра процессору. Желательно не более половины имеющихся физических.

Не забыть отключить Secure Boot.

И выставить загрузку с DVD.

Установка Astra Linux для дальнейшей веб-публикации 1С
Установка
Запустить ВМ (двойным нажатием). Выбрать образ диска ОС и нажать старт.

Выбрать графический режим установки.

Далее лицензионное соглашение.
Далее настройка раскладки клавиатуры.
Далее задать имя компьютера.

Далее задать имя администратора и пароль.


Далее выбрать время/часовой пояс.
Далее разметка диска, указать «да» при записи изменения на диск.





Далее выбрать ядро системы 5.4-generic. Оно менее защищенное, чем hardened, и поэтому работает быстрее. На тестовой ВМ можно выбрать скорость вместо защиты.

Далее выбрать компоненты системы. Убрать ненужные и отметить SSH для внешнего доступа к ВМ.

Далее система завершает установку. Ничего не меняя продолжить.
После установки идет перезагрузка и запуск ОС.
Проверка системы
Зайти под созданным администратором. Запустить в пуск – системные – терминал Fly.
Проверить сеть, выполнив ping ya.ru и ip a. Запомнить ip-адрес для доступа к компьютеру из внешней системы. По умолчанию Astra Linux устанавливается без firewall и имеет полный сетевой доступ из внешней системы.

Если забыли указать установку SSH при установке ОС, то можно установить в терминале Fly.
sudo apt install openssh—server
Установить и настроить скачанные WinSCP и PuTTY.


Дальнейшую установку удобно вести через терминал PuTTY.
sudo – команда для запуска других команд с правами супер пользователя.
mc – файловый менеджер Midnight Commander.
Для установки разрешения Full HD в терминале выполнить.
sudo mc
Найти в папке /etc/default/ файл grub. В строке GRUB_CMDLINE_LINUX_DEFAULT добавить
«video=hyperv_fb:1920×1080«
Сохранить файл, выйти из MC и выполнить.
sudo update-grub
Перезагрузить Astra Linux.
Установка 1С сервера
Установить версию 1С 8.3.23.1437. В версии 23 появилась лицензия community. Она предназначена для разработки и тестирования на базе клиент-сервера платформы. Здесь более подробно https://its.1c.ru/db/v8323doc#bookmark:adm:TI000001236.
В WinSCP создать новый каталог «/home/admin1c/distrib/» и перенести в него файлы платформы для Linux. В терминале перейти в созданный каталог.
cd /home/admin1c/distrib/
Распаковать платформу.
sudo tar -x -f server64_8_3_23_1437.tar.gz
Запустить установку платформы с выбором параметров
sudo setup—full-8.3.23.1437-x86_64.run
Или по умолчанию (предприятие, клиенты, сервер, веб-расширения сервера, администрирование сервера и JRE)
sudo setup-full-8.3.23.1437-x86_64.run —mode unattended —enable-components client_full,client_thin_fib,liberica_jre,server,ws,server_admin

Добавить службу сервера платформы.
sudo ln /opt/1cv8/x86_64/8.3.23.1437/srv1cv8-8.3.23.1437@{,default}.service
sudo systemctl link /opt/1cv8/x86_64/8.3.23.1437/srv1cv8-8.3.23.1437@default.service
Запустить сервис.
sudo systemctl enable srv1cv8-8.3.23.1437@default.service
sudo systemctl start srv1cv8-8.3.23.1437@default.service
Проверить работу службы.
systemctl status srv1cv8-8.3.23.1437@default.service
При корректной настройке среди выведенных строк должно быть Active: active (running)

Включить отладку на сервере. Запустить в терминале.
sudo mc
Исправить в файле /opt/1cv8/x86_64/8.3.23.1437/srv1cv8-8.3.23.1437@default.service.
[Service] Environment=SRV1CV8_DEBUG=-debug
Обновить сервис и перезапустить.
sudo systemctl daemon-reload
sudo systemctl restart srv1cv8-8.3.23.1437@default.service
Проверить что у rphost появились флаги -debug -tcp
systemctl status srv1cv8-8.3.23.1437@default.service
Можно проверить доступ к серверу 1С из внешней системы. Установить в Windows платформу, клиента и средства администрирования. Подключиться к серверу.


Установка PostgresPRO
В терминале перейти в папку distrib.
cd /home/admin1c/distrib/
Загрузить и выполнить скрипт репозитория.
wget https://repo.postgrespro.ru/1c-15/keys/pgpro-repo-add.sh
sudo sh pgpro-repo-add.sh

Запустить установку Postgres.
sudo apt-get install postgrespro-1c-15

Проверить что процесс активен и остановить его.
systemctl status postgrespro-1c-15
sudo systemctl stop postgrespro-1c-15
В папке /var/lib/pgpro/1c-15/data находятся файлы конфигурирования postgres. Перейти в неё.
sudo mc
Поправить файлы.
В pg_hba.conf добавить строчку для подключения к серверу из внешней системы.
# IPv4 local connections:
host all all 0.0.0.0/0 password
host all all 127.0.0.1/32 md5
В postgresql.conf проверить и поправить параметры согласно рекомендациям (больше лучше) https://postgrespro.ru/docs/postgrespro/15/config-one-c.
Проверить наличие строки для доступа из внешней системы.
listen_addresses = ‘*’



Запустить процесс и проверить что он активен.
sudo systemctl start postgrespro-1c-15
systemctl status postgrespro-1c-15
Задать пароль для супер пользователя Postgres .
sudo passwd postgres
Перейти на пользователя Postgres.
su postgres
Запустить клиента Postgres.
psql
Создать пользователя для работы с БД из 1С.
CREATE USER pg1cv8 SUPERUSER PASSWORD ‘password’;

Установить и попробовать подключиться из pgAdmin4.
При запуске установить и запомнить мастер пароль.
Настроить подключение и проверить его.


Попробовать создать базу из платформы 1с.



Так выглядит community лицензия.

Установка Apache
Установить apache и проверить что сервис запустился.
sudo apt install -y apache2
systemctl status apache2
В терминале создать папку для vrd-файла 1с.
sudo mkdir -p /var/www/1c/demo
Для публикуемой базы создать файл конфигурации apache.
sudo touch /etc/apache2/conf-available/demo.conf
Перейти в каталог платформы и опубликовать базу (я пробовал создавать базу KD3, её и опубликую).
cd /opt/1cv8/x86_64/8.3.23.1437
sudo webinst -apache24 -wsdir demo -dir ‘/var/www/1c/demo’ -connstr ‘Srvr=»localhost»;Ref=»KD3″;’ -confPath /etc/apache2/conf-available/demo.conf
Перезагрузить настройки apache.
sudo systemctl reload apache2
Подключить конфигурацию.
sudo a2enconf demo
Перезапустить apache с применением изменений.
sudo systemctl restart apache2
В Astra Linux запустить 1с клиента и добавить базу, при запуске предприятия запросит активизацию community лицензии. Лицензия должна появиться в папке /home/admin1c/.1cv8/1C/1cv8/conf


В терминале нужно создать его ссылку и передать права.
sudo cp -l /home/admin1c/.1cv8/1C/1cv8/conf/*.lic /var/1C/licenses/default.lic
sudo chown usr1cv8:grp1cv8 /var/1C/licenses/default.lic
Можно проверить в браузере windows.
http://ip адрес Linux/demo
Comments
So empty here ... leave a comment!