Сервер 1С:Предприятия на Ubuntu, Debian и CentOS: от пакетов до первой базы
Содержание
Чтобы установить сервер
1С на Linux, скачайте архив «Технологическая платформа 1С:Предприятия (64-bit) для Linux», запустите из него установщик setup-full-<версия>-x86_64.run с компонентами server и ws, подключите службу srv1cv8-<версия>@default в systemd и откройте порты 1540, 1541 и 1560–1591. Затем ставите PostgreSQL в сборке для 1С, создаёте базу на сервере и активируете серверную лицензию.
Инструкция рассчитана на платформу 8.3.20 и новее: с этой версии под Linux выходит единый установщик вместо набора deb- и rpm-пакетов. Команды даны для Ubuntu 22.04/24.04 и Debian 12, отличия для CentOS, РЕД ОС и других RPM-систем вынесены отдельно.
1. Готовим Linux к установке сервера 1С
Сервер 1С не требует «особой» сборки ОС, но три вещи стоит сделать до установки, иначе потом придётся разбираться с ошибками подключения.
Имя сервера и файл hosts
Клиенты 1С обращаются к серверу по имени, а сервер сообщает клиенту имена своих рабочих процессов. Если имя не разрешается, подключение падает уже после первого рукопожатия.
- Задайте постоянное имя:
sudo hostnamectl set-hostname srv1c. - Пропишите его в
/etc/hostsс реальным IP, а не только с127.0.1.1:
192.168.10.20 srv1c.office.local srv1c
- На клиентских компьютерах имя
srv1cдолжно разрешаться в тот же адрес — через DNS или их собственный файл hosts.
Строка 127.0.1.1 srv1c, которую Ubuntu добавляет по умолчанию, — частая причина того, что консоль подключается, а клиенты нет. Удалите её или замените на реальный адрес.
Локаль, время и пакеты
- 🌐 Локаль
ru_RU.UTF-8нужна и серверу 1С, и PostgreSQL:sudo locale-gen ru_RU.UTF-8 && sudo update-locale LANG=ru_RU.UTF-8. - 🕒 Часовой пояс и синхронизация времени:
sudo timedatectl set-timezone Europe/Moscow, службаsystemd-timesyncdилиchrony. Расхождение часов ломает лицензирование и даты в журнале регистрации. - 🔤 Шрифты для печатных форм: без пакета
ttf-mscorefonts-installer(Ubuntu, Debian с репозиторием contrib) отчёты, сформированные на сервере, печатаются «съехавшими». - 📦 Библиотеки, которые обычно требуются:
fontconfig,imagemagick,libgsf-1-114,unixodbc.
sudo apt update
sudo apt install -y fontconfig imagemagick libgsf-1-114 unixodbc ttf-mscorefonts-installer
Ресурсы машины
| Нагрузка | Пользователи | ОЗУ (1С + PostgreSQL на одной машине) | Диск |
|---|---|---|---|
| Небольшой офис | до 10 | от 8 ГБ | SSD от 100 ГБ |
| Средняя | 10–40 | 16–32 ГБ | SSD/NVMe, отдельный раздел под базы |
| Крупная | от 50 | 64 ГБ и больше, СУБД лучше вынести | NVMe, RAID |
Цифры ориентировочные: реальная потребность зависит от конфигурации и объёма базы. ERP съедает ресурсы заметно быстрее, чем Бухгалтерия.
2. Где взять дистрибутив и как установить сервер 1С на Linux
Дистрибутив скачивают с портала обновлений 1С по договору ИТС (или комплекту поставки с правом на обновления). В разделе платформы выберите версию и пункт «Технологическая платформа 1С:Предприятия (64-bit) для Linux» — получите архив вида server64_8_3_24_1586.zip или .tar.gz.
Версия сервера должна точно совпадать с версией клиентов, вплоть до последней цифры сборки. Сервер 8.3.24.1586 не примет клиента 8.3.24.1548.
Установка в тихом режиме
- Скопируйте архив на сервер, например через
scp, и распакуйте:
mkdir ~/1c && cd ~/1c
unzip server64_8_3_24_1586.zip # или tar xzf ...tar.gz
chmod +x setup-full-8.3.24.1586-x86_64.run
- Запустите установку только серверных компонентов, без графического клиента:
sudo ./setup-full-8.3.24.1586-x86_64.run --mode unattended \
--enable-components server,ws,server_admin
server— сам сервер 1С:Предприятия (агент, менеджер кластера, рабочие процессы);ws— модули расширения веб-сервера, нужны для публикации через Apache;server_admin— сервер администрированияras, через который работаютracи консоль на Windows.
Полный список компонентов для вашей версии выводит ./setup-full-...run --help.
- Проверьте результат: файлы ложатся в
/opt/1cv8/x86_64/8.3.24.1586/, а установщик создаёт системного пользователяusr1cv8, от имени которого работает служба.
На платформах до 8.3.20 вместо установщика были пакеты 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-ws и каталог /opt/1C/v8.3/x86_64/. Если видите такие пути в старых инструкциях — это другая схема, команды из них к новым версиям не подходят.
Отличия для CentOS, РЕД ОС, ALT
Установщик .run один для всех дистрибутивов. Различаются только подготовка и брандмауэр:
| Задача | Ubuntu / Debian | CentOS / РЕД ОС / AlmaLinux |
|---|---|---|
| Пакеты | apt install | dnf install (имена библиотек свои, например libgsf) |
| Брандмауэр | ufw | firewall-cmd |
| Шрифты | ttf-mscorefonts-installer | пакет MS-шрифтов из репозитория дистрибутива или копирование .ttf в /usr/share/fonts |
| Политики | AppArmor обычно не мешает | при отказе запуска проверьте SELinux: getenforce, журнал audit.log |
3. Запуск службы и настройка кластера серверов 1С
Начиная с 8.3.21 установщик кладёт рядом с бинарниками готовый unit-файл systemd. Его нужно подключить и включить вручную.
V=8.3.24.1586
sudo systemctl link /opt/1cv8/x86_64/$V/srv1cv8-$V@.service
sudo systemctl enable --now srv1cv8-$V@default
systemctl status srv1cv8-$V@default
Экземпляр default запускает агент на стандартных портах и хранит реестр кластера в /home/usr1cv8/.1cv8/1C/1cv8. В этом каталоге лежит описание кластера и список баз — его стоит включить в резервное копирование
.
Сервер администрирования ras
На Linux нет оснастки MMC, поэтому кластером управляют через ras (порт 1545). Подключите его так же, как основную службу:
sudo systemctl link /opt/1cv8/x86_64/$V/ras-$V.service
sudo systemctl enable --now ras-$V
После этого:
- с самого сервера:
/opt/1cv8/x86_64/$V/rac cluster list localhost:1545— команда вернётclusterс идентификатором кластера; - с Windows: в консоли «Администрирование серверов 1С Предприятия» добавьте центральный сервер с именем
srv1cи портом 1545, а не 1540.
Порты и брандмауэр
| Порт | Кто слушает | Нужен клиентам |
|---|---|---|
| 1540 | агент сервера (ragent) | да |
| 1541 | менеджер кластера (rmngr) | да |
| 1560–1591 | рабочие процессы (диапазон задаётся в свойствах рабочего сервера) | да |
| 1545 | сервер администрирования ras | только администратору |
sudo ufw allow from 192.168.10.0/24 to any port 1540:1541 proto tcp
sudo ufw allow from 192.168.10.0/24 to any port 1560:1591 proto tcp
Для firewall-cmd аналогично: --add-port=1540-1541/tcp и --add-port=1560-1591/tcp с --permanent, затем --reload.
4. PostgreSQL для 1С: установка и подключение к серверу
Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит: платформе нужны доработки (типы mchar, mvarchar и другие), которые есть только в специальных сборках. Варианты:
- 🐘 PostgreSQL от 1С — выкладывается на том же портале обновлений, в названии версии есть суффикс
1C(например, 16.x-x.1C); - 🐘 Postgres Pro в редакции для 1С — бесплатная сборка от Postgres Professional с собственным репозиторием и инструкцией по подключению.
Версию СУБД сверяйте со списком поддерживаемых для вашей платформы: свежий PostgreSQL на старой платформе может не завестись.
Минимальная настройка
- Установите пакеты сборки для 1С по инструкции поставщика и инициализируйте кластер с русской локалью:
sudo -u postgres initdb -D /var/lib/pgpro/1c-16/data --locale=ru_RU.UTF-8
Путь к каталогу данных зависит от сборки; у пакетов из дистрибутива 1С кластер нередко инициализируется при установке автоматически.
- Задайте пароль пользователю
postgres:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
- Подправьте
postgresql.confпод объём памяти. Ориентир для выделенной машины с 16 ГБ, где работает и 1С:
shared_buffers = 4GB # около 25% ОЗУ
effective_cache_size = 8GB # около 50% ОЗУ
work_mem = 64MB
maintenance_work_mem = 1GB
- Перезапустите СУБД:
sudo systemctl restart <имя службы postgres>.
Если PostgreSQL стоит на той же машине, что и сервер 1С, в pg_hba.conf достаточно разрешить подключения с 127.0.0.1 по паролю (scram-sha-256 или md5). Открывать порт 5432 наружу не нужно.
Создаём информационную базу
Проще всего — из клиента 1С на рабочем месте той же версии:
- В списке баз нажмите
Добавить→Создание новой информационной базы. - Выберите шаблон конфигурации или пустую базу.
- Тип расположения —
На сервере 1С:Предприятия. - Заполните параметры:
| Поле | Пример |
|---|---|
| Кластер серверов 1С:Предприятия | srv1c |
| Имя информационной базы в кластере | buh |
| Тип СУБД | PostgreSQL |
| Сервер баз данных | 127.0.0.1 (адрес с точки зрения сервера 1С) |
| Имя базы данных | buh |
| Пользователь / пароль | postgres / ваш пароль |
| Создать базу данных в случае её отсутствия | отметить |
Поле «Сервер баз данных» заполняют с позиции сервера 1С, а не клиента: если СУБД стоит рядом с 1С, это 127.0.0.1, даже когда вы сидите на другом компьютере.
Для работы под нагрузкой заведите отдельную роль PostgreSQL для 1С вместо postgres. Права на создание баз ей понадобятся, только если базы создаются из 1С.
5. Лицензия сервера 1С и защита машины
Без лицензии сервер не запустит базу в клиент-серверном режиме. Лицензия сервера 1С:Предприятия 8.3 (32- или 64-разрядного) бывает двух видов.
Программная лицензия
Активируется при первом подключении к базе на сервере: клиент 1С покажет окно получения лицензии, где вводят регистрационный номер и пин-код из комплекта. Получить лицензию можно автоматически через интернет , по телефону или файлом.
- Файл лицензии сохраняется на сервере в
/var/1C/licenses/. - Лицензия привязана к параметрам машины. После замены диска, сетевой карты или переноса виртуальной машины её придётся восстановить запасным пин-кодом — их в комплекте ограниченное число.
- Клиентские программные лицензии тоже можно активировать на сервере: тогда их выдаёт сервер, и на рабочих местах ничего ставить не нужно.
Сделайте копию каталога /var/1C/licenses сразу после активации и храните её вне сервера.
Аппаратный ключ
USB-ключ сервера на Linux работает через драйвер Sentinel (пакет aksusbd). Установите его, вставьте ключ и проверьте, что служба драйвера запущена. Для виртуальной машины ключ пробрасывают с хоста или используют сетевой USB-концентратор.
Минимальная защита
- 🔐 Задайте администратора кластера: без него любой, кто достучится до порта 1545 или консоли, управляет базами. Это делается в консоли (свойства кластера → Администраторы) или через
rac— синтаксис смотрите вrac help cluster. - 🧱 Порты 1540–1541, 1560–1591 открывайте только для своей сети. Публиковать сервер 1С в интернет напрямую нельзя: для удалённых сотрудников есть VPN или веб-публикация через Apache.
- 👤 Служба работает от
usr1cv8. Не запускайтеragentот root «чтобы заработало» — это маскирует проблему с правами на каталоги. - 💾 Настройте резервные копии:
pg_dumpбаз по расписанию плюс копия/home/usr1cv8/.1cv8и/var/1C/licenses.
6. Проверка после установки сервера 1С
Короткий прогон перед тем, как пускать пользователей:
7. Ошибки при установке сервера 1С на Linux и что с ними делать
Сначала посмотрите журнал службы — там видно, почему агент не стартовал:
journalctl -u srv1cv8-8.3.24.1586@default -n 100 --no-pager
sudo ss -tlnp | grep -E '154[015]|15[6-9][0-9]'
ping srv1c), слушает ли он 1540 и не режет ли брандмауэр порты. Частая причина — строка 127.0.1.1 в /etc/hosts на сервере.Любой перезапуск службы srv1cv8 обрывает все сеансы пользователей. Делайте это вне рабочего времени или предупредите людей заранее, чтобы они сохранили документы.
Если причина неочевидна, включите технологический журнал: файл logcfg.xml кладут в каталог conf установки платформы (в новых версиях — /opt/1cv8/conf/). Логи пишутся в указанный в нём каталог, у которого владелец должен быть usr1cv8. После диагностики журнал отключите — он быстро занимает диск.
8. Частые вопросы об установке сервера 1С на Linux
Можно ли поставить две версии сервера 1С на одну машину?
/opt/1cv8/x86_64/<версия>/ и имеет свою службу. Второму экземпляру нужно назначить другие порты агента, менеджера и рабочих процессов, например 2540, 2541 и 2560–2591.Обязательно ли держать PostgreSQL на той же машине?
Нужна ли графическая оболочка на сервере?
rac или консоль на Windows. Графический клиент ставят только если хотите открывать базы прямо на сервере.Подойдёт ли лицензия, купленная для Windows-сервера?
Как обновить сервер на новую версию платформы?
/home/usr1cv8/.1cv8 подхватится. Клиенты нужно обновить до той же версии.