Жизнь без 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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Linux Системный администратор Программист 1С 8.3 Бесплатно (free)

Настоящее руководство описывает процесс развертывания и интеграции скриптов сборки, синтаксического контроля и автотестирования в реальную инфраструктуру контейнеризации Docker и конвейер GitLab CI/CD на серверах под управлением ОС Linux. Особое внимание уделено решению критической проблемы — сохранению стабильности коммерческого лицензирования платформы «1С:Предприятие» в динамическом контейнерном окружении.

28.08.2026    589    Ninel_S    0    

2

Linux DevOps и автоматизация разработки Программист 1С 8.3 Беларусь Россия Казахстан Бесплатно (free)

Разворачивание полноценной CI/CD инфраструктуры для 1С на Linux — это не просто дань моде, а жесткая необходимость для бизнеса, который не может позволить себе простои из-за ошибок человеческого фактора.

25.08.2026    859    Ninel_S    0    

1

Администрирование СУБД Linux Системный администратор Программист Россия Бесплатно (free)

30 декабря, пик предновогодних продаж, и тут — полная катастрофа. Сервер с 1С в единственной торговой точке пал жертвой вируса-шифровальщика. Бизнес встал, выручка — ноль, резервных копий нет. Знакомая ситуация? Но вместо того, чтобы просто переустановить «убитую» Windows, мы пошли другим путем. В свежей статье я честно рассказываю: почему сервер на «дешевых комплектующих» — это бомба замедленного действия. Как вирус проник в систему, если кассир работает исправно? Зачем микробизнесу смотреть в сторону бесплатного Linux (и при чем тут лицензии на Windows Server + MS SQL). Реально ли подружить 1С, торговое оборудование и «неродной» интерфейс? Спойлер: Сервер ожил, базу восстановили (да, это было больно), а клиент теперь спит спокойно.

20.07.2026    2245    maxber    7    

3

Linux Технологический журнал 1С:Предприятие 8 Бесплатно (free)

Графическая утилита, сделанная по принципу Microsoft SQL Server Profiler, но для СУБД PostgreSQL Позволяет легко настраивать сбор планов запросов как средствами PostgreSQL, так и технологическим журналом 1С Предприятие с их последующей визуализацией. Простая, понятная для пользователей утилита, не требующая прав администратора для визуализации, и требующая их для настройки. Скомпилированная в исполняемый файл.

20.05.2026    4300    capitan    4    

10

Linux Системный администратор Программист 1С:Предприятие 8 Абонемент ($m)

Графическое приложение на базе PyQt6, которое предоставляет простой интерфейс для очистки локального кэша баз данных 1С Предприятие для ОС Linux. Простая, понятная для пользователей утилита, не требующая прав администратора Скомпилированная в исполняемый файл

06.04.2026    2630    capitan    0    

2

Архивирование (backup) Linux Системный администратор Программист Россия Абонемент ($m)

Сценарий предназначен для восстановления баз данных PostgreSQL в Linux под учетной записью postgres из резервных копий, сформированных программой pg_dump в формате plain или custom.

1 стартмани

20.02.2026    1216    0    Магнат    2    

2

Архивирование (backup) Администрирование СУБД Linux Системный администратор Программист 1С:Предприятие 8 Россия Абонемент ($m)

Сценарий предназначен для избирательного создания ротационных резервных копий баз данных по дисциплине 2-1 (2 копии, одна на другом физическом диске, другая на компьютере вне серверной комнаты) в форматах custom и/или plain кластера PostgreSQL, а также глобальных свойств кластера: пользователи, пароли и т.д.

2 стартмани

19.02.2026    1372    0    Магнат    1    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1390 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 237 13.09.22 07:19 Сейчас в теме
(2) спасибо, исправил
4. onec.developer 174 17.02.23 08:48 Сейчас в теме
Где обещанная вторая часть? =)
5. cdiamond 237 22.03.24 11:46 Сейчас в теме
все новые статьи читайте на моем личном сайте almaz-sharipov.ru, т.к. не хочу ограничивать себя в высказываниях в адрес 1С и подставлять хостера или работодателя.
Для отправки сообщения требуется регистрация/авторизация