Сервер 1С:Предприятия 8.3 под Ubuntu: от чистой системы до первой базы

· 10 мин

Содержание

Чтобы установить 1С на Linux Ubuntu, нужны три вещи: единый дистрибутив платформы setup-full-8.3.xx.xxxx-x86_64.run с сайта поддержки, сборка PostgreSQL с патчами для 1С и лицензия (программная или ключ HASP). Порядок такой: готовим систему и локаль → ставим сервер 1С и регистрируем службу systemd → ставим СУБД → активируем лицензию → создаём информационную базу. На чистой Ubuntu 22.04 или 24.04 весь путь занимает около часа.

Ниже описан вариант для платформы 8.3.20 и новее, где для Linux выпускается один установщик .run вместо набора deb-пакетов. Команды выполняются от пользователя с правами sudo. Номер платформы в примерах (8.3.24.1548) замените на свой.

Что подготовить в Ubuntu до установки 1С

Перед установкой проверьте требования к железу и версии ОС для вашей платформы в списке поддерживаемых систем. Для небольшого сервера на 5–15 пользователей ориентир такой: 4 ядра, 8–16 ГБ памяти, SSD под базы PostgreSQL.

Обновление системы и имя хоста

sudo apt update && sudo apt upgrade -y
hostnamectl

Имя сервера потом попадёт в строку подключения клиентов. Задайте его сразу и больше не меняйте: после смены имени кластер 1С придётся перенастраивать.

sudo hostnamectl set-hostname srv1c

Пропишите имя и IP в /etc/hosts самого сервера, а на клиентских компьютерах — либо в DNS, либо в их файлах hosts. Клиент 1С ищет сервер по имени, и без этого подключение не пройдёт даже при открытых портах.

Русская локаль

Сервер 1С и PostgreSQL должны работать с локалью ru_RU.UTF-8. Иначе возможны проблемы с сортировкой и созданием базы.

sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
locale -a | grep ru_RU

После смены локали перезайдите в систему.

Пакеты, которые нужны серверу

Серверу нужны библиотеки работы со шрифтами и файлами. Без шрифтов печатные формы, выгруженные на сервере в PDF, получаются с «кракозябрами» или пустыми.

sudo apt install -y fontconfig libfreetype6 libgsf-1-114 ttf-mscorefonts-installer
sudo fc-cache -fv

Пакет ttf-mscorefonts-installer лежит в репозитории multiverse и при установке попросит принять лицензию шрифтов.

Если установщик 1С на следующем шаге пожалуется на отсутствующую библиотеку, посмотрите её точное имя в сообщении и найдите пакет командой apt-file search имя_библиотеки (пакет apt-file ставится отдельно).

Порты

ПортКто слушаетЗачем
1540агент сервера (ragent)первичное подключение клиента и консоли
1541менеджер кластера (rmngr)работа кластера
1560–1591рабочие процессы (rphost)диапазон по умолчанию, задаётся в свойствах рабочего сервера
1545сервер администрирования (ras)консоль с Windows и утилита rac
5432PostgreSQLтолько если СУБД на другой машине

Если включён ufw:

sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
sudo ufw allow 1545/tcp

Порт 1545 открывайте только для своей подсети администраторов, а не для всего интернета.

Установка сервера 1С:Предприятия из единого дистрибутива

Где взять файл

Дистрибутив скачивается из личного кабинета на портале поддержки 1С по договору ИТС. Вам нужен архив «Технологическая платформа 1С:Предприятия (64-bit) для Linux» — внутри лежит файл setup-full-8.3.24.1548-x86_64.run. Скопируйте архив на сервер, например через scp, и распакуйте.

tar -xzf server64_8_3_24_1548.tar.gz
chmod +x setup-full-8.3.24.1548-x86_64.run

Имя архива у разных версий немного отличается — ориентируйтесь на то, что скачали.

Запуск установщика

На сервере без графики установщик удобнее запускать в тихом режиме, перечислив нужные компоненты:

sudo ./setup-full-8.3.24.1548-x86_64.run --mode unattended \
  --enable-components server,ws,server_admin,ru

Что означают компоненты:

  • 🖥️ server — сам сервер 1С:Предприятия (агент, менеджер, рабочие процессы);
  • 🌐 ws — модули расширения веб-сервера, нужны для публикации баз через Apache;
  • 🛠️ server_admin — сервер администрирования ras и утилита rac;
  • 🇷🇺 ru — русский интерфейс сообщений.

Полный список компонентов вашей версии выводит ./setup-full-...run --help. Клиент 1С на сервер ставить не обязательно.

Платформа ставится в /opt/1cv8/x86_64/8.3.24.1548/. Установщик сам создаёт системного пользователя usr1cv8, от имени которого работает служба.

На платформах до 8.3.20 вместо .run шли deb-пакеты 1c-enterprise83-common, 1c-enterprise83-server и другие, а служба запускалась скриптом /etc/init.d/srv1cv83. Инструкции под старую схему к новому дистрибутиву не подходят.

Регистрация и запуск службы

Начиная с 8.3.21 в каталоге платформы лежит готовый unit-файл systemd. Его нужно подключить и включить:

cd /opt/1cv8/x86_64/8.3.24.1548/
sudo systemctl link /opt/1cv8/x86_64/8.3.24.1548/srv1cv8-8.3.24.1548@.service
sudo systemctl enable --now srv1cv8-8.3.24.1548@default
sudo systemctl status srv1cv8-8.3.24.1548@default

Суффикс @default — имя экземпляра с настройками по умолчанию: порты 1540/1541, каталог кластера в домашней папке usr1cv8.

Проверьте, что процессы поднялись и слушают порты:

ss -tlnp | grep -E '1540|1541'
ps aux | grep -E 'ragent|rmngr|rphost'

Сервер администрирования ras

Без ras не подключится ни консоль кластера с Windows, ни rac. В том же каталоге есть его unit-файл:

sudo systemctl link /opt/1cv8/x86_64/8.3.24.1548/ras-8.3.24.1548.service
sudo systemctl enable --now ras-8.3.24.1548

Если unit-файла ras в вашей сборке нет, проверьте, что ставили компонент server_admin.

PostgreSQL для 1С: какую сборку ставить и как настроить

Обычный PostgreSQL из репозитория Ubuntu для 1С не подходит: платформе нужны доработки, которые есть только в специальных сборках. Варианты:

СборкаГде взятьКомментарий
Postgres Pro для 1Срепозиторий Postgres Professionalпакеты postgrespro-1c-NN, свободная лицензия для 1С
PostgreSQL от фирмы 1Спортал поддержки 1С, раздел дистрибутивовготовые deb-пакеты под Ubuntu/Debian

Версию СУБД сверяйте с требованиями вашей платформы: слишком новая сборка может оказаться ещё не поддержанной.

Установка на примере Postgres Pro

У Postgres Professional для 1С-сборок есть скрипт, который подключает репозиторий под вашу версию Ubuntu. Скачайте его со страницы сборки «для 1С» на их сайте, запустите и поставьте пакет:

sudo sh pgpro-repo-add.sh
sudo apt install -y postgrespro-1c-16

Номер 16 — пример, берите ту версию, что поддерживает ваша платформа. После установки кластер СУБД обычно уже создан и запущен. Проверка:

sudo systemctl status 'postgrespro-1c-16*'
sudo -u postgres psql -c "SHOW lc_collate;"

В выводе lc_collate должно быть ru_RU.UTF-8. Если там C или en_US, кластер инициализировался до настройки локали — пересоздайте его, пока в нём нет баз.

Пароль пользователя postgres

Сервер 1С подключается к СУБД по логину и паролю. Задайте пароль:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"

Для рабочей системы лучше создать отдельную роль с правом создавать базы, а не отдавать 1С суперпользователя. Но на старте многие оставляют postgres.

Базовые параметры памяти

Параметры лежат в postgresql.conf каталога данных. Стартовые ориентиры для сервера, где СУБД и 1С живут вместе на 16 ГБ памяти:

ПараметрОриентирСмысл
shared_buffers25% памяти (4GB)общий кеш СУБД
effective_cache_size50% памяти (8GB)сколько кеша ОС учитывает планировщик
work_mem32–64MBпамять на сортировку в одном запросе
maintenance_work_mem512MB–1GBдля VACUUM и построения индексов

После правки перезапустите службу СУБД. Перезапуск обрывает все текущие сеансы 1С — делайте его вне рабочего времени.

Лицензии 1С на Linux-сервере: программные и аппаратные

Без лицензии сервер не даст клиентам работать с базой. Под Linux работают оба типа защиты.

Программная лицензия

Проще всего активировать её с клиентского компьютера. Подключитесь к базе на сервере — при первом запуске 1С предложит получить лицензию . Выберите размещение на сервере, введите пин-код и регистрационный номер из комплекта.

Файлы активированных лицензий сервер хранит в каталоге /var/1C/licenses. Проверьте права: служба usr1cv8 должна иметь к нему доступ на чтение.

Программная лицензия привязывается к параметрам оборудования. Замена сетевой карты, диска или перенос виртуальной машины на другой хост может сделать её недействительной, и потребуется повторная активация резервным пин-кодом.

Для работы с лицензиями из консоли есть утилита ring, которая ставится с платформой. Посмотреть активированные лицензии — ring license list, остальные команды — в справке ring license help.

Ключ HASP

Для USB-ключа нужен драйвер haspd (демон aksusbd). Готовые пакеты под Ubuntu выпускает компания Etersoft. После установки:

sudo systemctl enable --now haspd
lsusb | grep -i aladdin

Если ключ сервера стоит на этой же машине, 1С увидит его сама. Сетевой ключ на другом компьютере требует файла nethasp.ini с адресом менеджера лицензий.

На виртуальной машине USB-ключ пробрасывают с хоста гипервизора или через USB-over-IP. Программная лицензия на виртуалках удобнее, но чувствительна к переносам.

Как создать информационную базу на сервере 1С под Ubuntu

Через клиент 1С с Windows

Самый понятный путь:

  1. Запустите 1С на рабочем компьютере, в списке баз нажмите Добавить.
  2. Выберите «Создание новой информационной базы» и шаблон (или пустую базу).
  3. Тип расположения — «На сервере 1С:Предприятия».
  4. Заполните параметры:
    • кластер серверов — srv1c (имя Linux-сервера);
    • имя базы в кластере — например, buh;
    • защищённое соединение — выключено;
    • тип СУБД — PostgreSQL;
    • сервер баз данных — localhost, если СУБД на той же машине;
    • имя базы данных — buh;
    • пользователь и пароль — роль PostgreSQL из предыдущего раздела;
    • отметьте «Создать базу данных в случае её отсутствия».
  5. Нажмите Далее и Готово.

Поле «Сервер баз данных» заполняется с точки зрения сервера 1С, а не вашего компьютера. Поэтому localhost здесь правильный ответ, если 1С и PostgreSQL стоят вместе.

Из консоли через rac

Если клиента под рукой нет, базу создают прямо на сервере. Сначала узнайте идентификатор кластера:

/opt/1cv8/x86_64/8.3.24.1548/rac cluster list

Затем создайте базу, подставив cluster из вывода:

/opt/1cv8/x86_64/8.3.24.1548/rac infobase --cluster=<uuid> create \
  --create-database --name=buh --dbms=PostgreSQL \
  --db-server=localhost --db-name=buh --locale=ru \
  --db-user=postgres --db-pwd='СложныйПароль' \
  --license-distribution=allow

Флаг --license-distribution=allow разрешает серверу выдавать клиентам лицензии. Список баз — rac infobase --cluster=<uuid> summary list.

Администрирование кластера

Для ежедневной работы удобна «Консоль кластера серверов» на Windows-машине администратора. Добавьте в ней новый центральный сервер с именем srv1c и портом 1545 — это порт ras, а не агента. Через консоль видно сеансы, блокировки, лицензии и рабочие процессы.

Перед тем как пустить пользователей
Выполнено: 0 / 6

Рабочее место пользователя под Linux

Клиент 1С тоже работает на Ubuntu. Ставится из того же setup-full с компонентами клиента:

sudo ./setup-full-8.3.24.1548-x86_64.run --mode unattended \
  --enable-components client_full,ru

Для тонкого клиента используйте компонент client_thin. Ярлык появится в меню приложений.

Клиенту на Linux тоже нужны шрифты из ttf-mscorefonts-installer, иначе формы и отчёты съезжают. Для работы с ЭЦП, торговым оборудованием и банк-клиентами проверьте, есть ли у их производителей версии под Linux: внешние компоненты под Windows там не запустятся.

Ошибки при установке 1С на Ubuntu и как их снять

Диагностика: выберите симптом

Отдельно про обновление платформы. Новая версия встаёт в свой каталог рядом со старой. Службу старой версии нужно остановить и отключить, а новую — подключить так же через systemctl link. Остановка службы обрывает сеансы всех пользователей — предупредите их и делайте переключение вечером. Клиенты должны перейти на ту же версию платформы, что и сервер.

Частые вопросы

Можно ли поставить файловую базу 1С на Ubuntu без сервера?
Да. Клиент 1С под Linux открывает файловую базу из локального каталога. Сервер и PostgreSQL нужны, когда пользователей больше нескольких человек или требуется доступ по сети.
Подходит ли PostgreSQL из стандартного репозитория Ubuntu?
Нет. Для 1С нужна сборка с доработками: Postgres Pro для 1С или PostgreSQL из дистрибутивов фирмы 1С.
Нужен ли отдельный ключ сервера для Linux?
Нет, лицензия сервера 1С одна для Windows и Linux. Отличается только способ установки драйвера ключа и размещение файлов лицензий.
Можно ли держать на одном сервере две версии платформы?
Да, каждая ставится в свой каталог. Но если запускать обе службы одновременно, второму экземпляру нужно назначить другие порты агента, менеджера и рабочих процессов.
Как перенести базу с Windows-сервера на Ubuntu?
Выгрузите базу в файл .dt в Конфигураторе на старом сервере, создайте пустую базу на новом и загрузите в неё .dt. Загрузка требует монопольного доступа, поэтому пользователи в это время не работают.