Сервер 1С:Предприятия 8.3 под Ubuntu: от чистой системы до первой базы
Содержание
Чтобы установить 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 |
| 5432 | PostgreSQL | только если СУБД на другой машине |
Если включён 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_buffers | 25% памяти (4GB) | общий кеш СУБД |
effective_cache_size | 50% памяти (8GB) | сколько кеша ОС учитывает планировщик |
work_mem | 32–64MB | память на сортировку в одном запросе |
maintenance_work_mem | 512MB–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С:Предприятия».
- Заполните параметры:
- кластер серверов
—
srv1c(имя Linux-сервера); - имя базы в кластере — например,
buh; - защищённое соединение — выключено;
- тип СУБД —
PostgreSQL; - сервер баз данных —
localhost, если СУБД на той же машине; - имя базы данных —
buh; - пользователь и пароль — роль PostgreSQL из предыдущего раздела;
- отметьте «Создать базу данных в случае её отсутствия».
- кластер серверов
—
- Нажмите
ДалееиГотово.
Поле «Сервер баз данных» заполняется с точки зрения сервера 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, а не агента. Через консоль видно сеансы, блокировки, лицензии и рабочие процессы.
Рабочее место пользователя под 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. Остановка службы обрывает сеансы всех пользователей — предупредите их и делайте переключение вечером. Клиенты должны перейти на ту же версию платформы, что и сервер.