Жизнь без Windows, установка серверов на Arch, часть1

13.09.22

Администрирование - Linux

Пошаговое описание установки сервера 1С 8.3.21 и Postgresql 14 на Arch Linux (актуальность лето 2022)

Преамбула: холивары на тему "Арч в продакшн" попрошу изливать в специализированные темы на форуме. Данная статья никоим образом не призывает использовать указанный дистрибутив, но написана исключительно для тех, кто взвесив все "за" и "против" самостоятельно пришёл к такому решению, либо хочет оценить его сложность в сравнении с другими вариантами.

Предполагается, что читатель немного подготовлен и уже научился устанавливать простые дистрибутивы типа Ubuntu, Mint, Астра и т.д. с графическим окружением, а также смог установить и успешно запустить клиента 1С. Статей на эту тему полно, расписывать смысла нет.

Установка Arch Linux

Инструкция будет "по верхам", раскрывающая отклонения от установки по умочанию. Рекомендую для начала потренироваться в виртуальном окружении, для этого установите QEMU/KVM и virt-manager. Подробный порядок установки QEMU/KVM для своего дистрибутива вы легко найдете в сети, ничего сложного там нет. При выборе железа для виртуального сервера установите контроллер VirtIO SCSI и диск типа SCSI, сетевая карта тоже VirtIO. Удалите ненужные для сервера устройства Планшет и Звук:

 

* В боевом окружении вы скорее всего будете использовать несколько дисков и партиций, особенно для СУБД Postgres, но в данной статье всё будет на одном небольшом диске тренировочной машины.

С недавних пор в Arch вернулся скрипт установки, потому порог вхождения в данный дистрибутив стал не сложнее обычных. После загрузки с установочного образа запускаем установщик:

# archinstall
 

Список того что я поменял:

  • Mirror region указал Russia (зеркало репозиториев, необязательно)
  • Выбрал локаль ru_RU.UTF8
  • Разметку диска автоматически на ext4
  • Поменял Hostname на server2
  • Добавил пользователя user1 и дал ему права sudo
  • Выбрал профиль Server, включил sshd
  • Выбрал ядро linux-zen вместо стокового (если политика ИБ требует, то hardened)
  • Дополнительные пакеты mc и base-devel (необязательно, можно установить и позже если надо)
  • Настроил сетевую карту Manual configuration - DHCP
  • Установил Timezone на московское время

Теперь можно начать установку нажав Install. После установки уберите установочный диск, и заготовку сервера на этом считаем завершенным.

* Конечно можно еще установить и настроить firewall, включить selinux, шифрование дисков, настроить очередь дисков, энергосбережение cpupower, сделать много других усовершенствований и оптимизаций, но это тема отдельных больших статей и касаться здесь этих тем я не буду.

Для выяснения адреса тут же в графической консоли virt-manager логинимся на сервер созданным при установке пользователем user1 и набираем команду ip address:

 

Теперь окно virt-manager можно закрыть и в дальнейшем работа с сервером осуществляется только через удаленную консоль ssh. Наберите в консоли своего рабочего компьютера следующую команду (при первом заходе набираем yes) и далее пароль для user1:

ssh user1@10.1.0.230
 

 

Установка сервера 1С 8.3.21

Скачайте и распакуйте у себя на компьютере полный дистрибутив платформы x64 для Linux. Чтобы копировать файлы с линукса на линукс никакие серверы samba или ftp поднимать и настраивать не требуется, просто зайдите на своем компе в каталог с требуемым файлом и воспользуйтесь командой scp:

$ scp setup-full-8.3.21.1393-x86_64.run user1@10.1.0.230:/home/user1

Файл будет скопирован через протокол ssh в домашний каталог пользователя user1 на сервере. Заходим на сервер с помощью ssh и запускаем установщик с привилегией sudo:

$ cd /home/user1
$ sudo ./setup-full-8.3.21.1393-x86_64.run

Нам нужно установить только сервер, веб-расширение (если требуется), и обязательно администрирование, нажимая в ответ на вопросы 'y' или 'n':

 

После завершения все необходимые файлы установились в каталог /opt/1cv8. Это основной каталог программ 1С в Linux, аналог C:\Program Files\1cv8, для изменения файлов в нём требуются административные права, в Linux это команда sudo.
Для запуска агента сервера 1С в качестве службы необходимо провести несложные манипуляции.

Копируем файл описания службы в системный каталог с новым именем, с этим именем и будет запускаться служба (в команде версия платформы указывается актуальная, в данном случае это 8.3.21.1393), имя службы у нас будет srv1cv8:

$ sudo cp /opt/1cv8/x86_64/8.3.21.1393/srv1cv8-8.3.21.1393@.service /usr/lib/systemd/system/srv1cv8.service

Если требуется режим отладки то редактируем скопированный файл (редактор nano не был установлен, поэтому сначала установим его):

$ sudo pacman -S nano
$ sudo nano /usr/lib/systemd/system/srv1cv8.service

Находим следующую строчку и дописываем в конец -debug

Environment=SRV1CV8_DEBUG=-debug

Жмем Ctrl-O, Enter, Ctrl-X для выхода из редактора. Разрешаем автозапуск службы командой:

$ sudo systemctl enable srv1cv8
Created symlink /etc/systemd/system/multi-user.target.wants/srv1cv8.service U94; /usr/lib/systemd/system/srv1cv8.service.

Запускаем:

$ sudo systemctl start srv1cv8

Проверяем статус службы:

[user1@server2 ~]$ systemctl status srv1cv8
`79; srv1cv8.service - 1C:Enterprise Server 8.3 (8.3.21.1393) ()
     Loaded: loaded (/usr/lib/systemd/system/srv1cv8.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2022-07-08 15:14:19 MSK; 1s ago
   Main PID: 1325 (ragent)
      Tasks: 82 (limit: 4687)
     Memory: 59.2M
        CPU: 245ms
     CGroup: /system.slice/srv1cv8.service
             _00;^72;1325 /opt/1cv8/x86_64/8.3.21.1393/ragent -d /home/usr1cv8/.1cv8/1C/1cv8 -port 1540 -regport 1541 -range 1560:1591 -seclev 0 ->
             ^92;^72;1338 /opt/1cv8/x86_64/8.3.21.1393/rmngr -port 1541 -host server2 -range 1560:1591 -d /home/usr1cv8/.1cv8/1C/1cv8/ -debug -tcp>

Если у вас такой же вывод, то поздравляю! Сервер 1С запущен и работает. Но этого нам недостаточно, ведь еще нужно администрировать кластер, а в среде линукс это можно делать только с помощью службы ras.

Создайте с помощью nano или mc новый файл конфигурации службы /usr/lib/systemd/system/srv1cv8-ras.service и введите в него следующее содержание:

[Unit]
Description=1C:Enterprise Remote Administration Service
After=network.target
Requires=network.target
[Service]
Type=simple
ExecStart=/opt/1cv8/x86_64/8.3.21.1393/ras cluster --port=1545
KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5
User=usr1cv8
Group=grp1cv8
[Install]
WantedBy=multi-user.target

При необходимости поменяйте порт на другой номер, отличный от 1545.

Включим, запустим и проверим статус службы:

[user1@server2 ~]$ sudo systemctl enable srv1cv8-ras
Created symlink /etc/systemd/system/multi-user.target.wants/srv1cv8-ras.service U94; /usr/lib/systemd/system/srv1cv8-ras.service.
[user1@server2 ~]$ sudo systemctl start srv1cv8-ras
[user1@server2 ~]$ sudo systemctl status srv1cv8-ras
`79; srv1cv8-ras.service - 1C:Enterprise Remote Administration Service
     Loaded: loaded (/usr/lib/systemd/system/srv1cv8-ras.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2022-07-08 15:30:53 MSK; 5s ago
   Main PID: 24467 (ras)
      Tasks: 12 (limit: 4687)
     Memory: 17.3M
        CPU: 21ms
     CGroup: /system.slice/srv1cv8-ras.service
             ^92;^72;24467 /opt/1cv8/x86_64/8.3.21.1393/ras cluster --port=1545

июл 08 15:30:53 server2 systemd[1]: Started 1C:Enterprise Remote Administration Service.
июл 08 15:30:53 server2 ras[24467]: 1C:Enterprise 8.3 (x86-64)  (8.3.21.1393) Remote Administration Server started. Ctrl+C to exit.
[user1@server2 ~]$ 

После всех настроек на всякий случай перезагрузим весь сервер и снова проверим статус всех служб. Также проверим какие порты слушает наш сервер:

[root@server2 user1]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      345/sshd: /usr/bin/ 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      337/systemd-resolve 
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      337/systemd-resolve 
tcp        0      0 127.0.0.54:53           0.0.0.0:*               LISTEN      337/systemd-resolve 
tcp        0      0 0.0.0.0:1560            0.0.0.0:*               LISTEN      843/rphost          
tcp        0      0 0.0.0.0:1541            0.0.0.0:*               LISTEN      373/rmngr           
tcp        0      0 0.0.0.0:1540            0.0.0.0:*               LISTEN      344/ragent          
tcp        0      0 0.0.0.0:1545            0.0.0.0:*               LISTEN      343/ras             
tcp6       0      0 :::22                   :::*                    LISTEN      345/sshd: /usr/bin/ 
tcp6       0      0 :::5355                 :::*                    LISTEN      337/systemd-resolve 
tcp6       0      0 :::1560                 :::*                    LISTEN      843/rphost          
tcp6       0      0 :::1541                 :::*                    LISTEN      373/rmngr           
tcp6       0      0 :::1540                 :::*                    LISTEN      344/ragent          
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           337/systemd-resolve 
udp        0      0 0.0.0.0:1541            0.0.0.0:*                           373/rmngr           
udp        0      0 0.0.0.0:1560            0.0.0.0:*                           843/rphost          
udp        0      0 0.0.0.0:34357           0.0.0.0:*                           344/ragent          
udp        0      0 127.0.0.54:53           0.0.0.0:*                           337/systemd-resolve 
udp        0      0 127.0.0.53:53           0.0.0.0:*                           337/systemd-resolve 
udp        0      0 10.1.0.230:68           0.0.0.0:*                           264/systemd-network 
udp6       0      0 :::37989                :::*                                843/rphost          
udp6       0      0 :::5355                 :::*                                337/systemd-resolve 
udp6       0      0 :::1541                 :::*                                373/rmngr           
udp6       0      0 :::1560                 :::*                                843/rphost          
udp6       0      0 :::57572                :::*                                344/ragent          
[root@server2 user1]# 

Для администрирования кластера создаем у себя на компьютере с помощью конфигуратора новую пустую файловую базу 1С и открываем его тонким клиентом, необходимо включить Функкции для технического специалиста и найти обработку Управление серверами

 

 

Готово! Уже можно работать с отдельным сервером СУБД.

Во второй части будет установка Postgresql 14 на этот же сервер.

arch linux postgres postgresql установка настройка 8.3.21

См. также

В облако на работу: Все варианты авторизации ОС сервером 1С на базе РЕД ОС 8 в домене windows. Рецепты от Капитана

Облачные сервисы, хостинг Linux Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В публикации рассматриваются все варианты авторизации ОС сервером 1С на базе РЕД ОС 8 в домене windows. Как случаи, когда сервер 1С авторизирует веб и обычных клиентов 1С в active directory, так и когда сам сервер является клиентом, например при HTTP запросах выполняемых сервером 1С.

18.03.2024    563    capitan    0    

9

Три пингвина под окном… Точки над Ё. Обзор рабочих мест пользователя 1С, собранных на отечественных дистрибутивах linux

Облачные сервисы, хостинг Linux Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Прошлая публикация "Три пингвина под окном… Обзор рабочих мест пользователя 1С, собранных на отечественных дистрибутивах linux" набрала более 20К просмотров. В моем случае это абсолютный рекорд. Как и обещал в ней, рассказываю, как установить неподдерживаемый дистрибутив ОС у облачного провайдера.

25.02.2024    2263    capitan    0    

6

Тестовый кластер 1С на UBUNTU 23.10

Linux Платформа 1С v8.3 Россия Абонемент ($m)

Описан процесс создания простого кластера 1С в связке: отдельный сервер UBUNTU версия 23.10 + сервер 1С версия 8.3.23.1997 + PostgreSQL версия 15. Автор не претендует на новизну решения, но пошаговая упорядоченная инструкция позволяет стандартными методами быстро и просто создать кластер 1С на серверах Linux.

1 стартмани

08.02.2024    1588    janerev1956    7    

18

В облаке, как дома: Устраиваемся поудобнее. Рабочее место пользователя 1С на базе РЕД ОС (HTTPS и архивирование)

Linux Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

На прошедшем вебинаре "В облаке, как дома: Как настроить рабочее место пользователя 1С на базе РЕД ОС" мы договорились, что продолжением будет установка соединения по HTTPS и архивирование. Это финальные штрихи в настройке рабочего места. Вот и оно (продолжение) или они (штрихи), прошу под кат...

29.01.2024    791    capitan    5    

6

Определение длительности аудиофайла (Linux)

Linux Разное Платформа 1С v8.3 Абонемент ($m)

Пример обработки для определения длительности аудиофайла в среде Linux.

1 стартмани

12.01.2024    397    0    ErAK    2    

2

Три пингвина под окном... Обзор рабочих мест пользователя 1С, собранных на отечественных дистрибутивах linux

Linux Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

На прошедшем вебинаре "В облаке, как дома: Как настроить рабочее место пользователя 1С на базе РЕД ОС" мы договорились, что продолжением будет обзор рабочих мест на других отечественных ОС. Вот и оно (продолжение) или он (обзор), прошу под кат...

25.12.2023    2163    capitan    6    

14

Интерпретатор команд (только Linux)

Linux Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Интерпретатор команд для Linux, позволяет выполнять команды в среде Linux под правами пользователя сервера 1С. Полезно, когда необходимо выполнить команду на сервере, а доступа к командной строке нет.

1 стартмани

11.12.2023    525    3    Svb84    0    

4

Автоматическое монтирование целевых папок по ключу при изменении местоположения источника (раздела диска)

Linux Бесплатно (free)

Вариант динамического автоматического монтирование целевых папок по ключу папки при изменении местоположения источника (раздела диска).

16.11.2023    520    NeSPEC    3    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1294 08.07.22 20:57 Сейчас в теме
Вариант под ubuntu https://infostart.ru/1c/articles/1613181/, с ключами для 8.3.21 разобрался. По PG так же готовая установка, возможно под arch адаптировать нужно
2. App0st0l 31 09.09.22 17:24 Сейчас в теме
Запускаем:

$ sudo systemctl enable srv1cv8


Здесь наверное $ sudo systemctl start srv1cv8
3. cdiamond 233 13.09.22 07:19 Сейчас в теме
4. onec.developer 180 17.02.23 08:48 Сейчас в теме
Где обещанная вторая часть? =)
5. cdiamond 233 22.03.24 11:46 Сейчас в теме
все новые статьи читайте на моем личном сайте almaz-sharipov.ru, т.к. не хочу ограничивать себя в высказываниях в адрес 1С и подставлять хостера или работодателя.
Оставьте свое сообщение