Категории

Установка сервера 1С на Ubuntu с веб-доступом

2025-11-13 09:23:54 | Статья из категории: Linux

Установка сервера 1С на Ubuntu с веб-доступом

Привет! Сегодня разберём, как на свежую Ubuntu (18.04 / 20.04 / 22.04) поставить сервер 1С:Предприятие 8.3 с PostgreSQL и веб-публикацией. Пока не проверял, так чисто стартовая статья, потом доработаю. Это не "теория про IT-инфраструктуру", а именно рабочий сценарий — без лишних пакетов, без лицензионной магии и с акцентом на то, что реально работает. Всё делаем вручную, без "умных" установщиков, чтобы потом не удивляться, почему ничего не запускается.

1. Подготовка системы

Имя сервера — не опционально

1С не любит безымянных машин. Задайте имя и пропишите его в /etc/hosts, особенно если DNS у вас "потом сделаю".

hostnamectl set-hostname server1c.local
echo "127.0.1.1 server1c.local" | sudo tee -a /etc/hosts

Брандмауэр

Открыть нужно три порта:

Если используете UFW:

ufw allow 1540:1541/tcp
ufw allow 1560/tcp
ufw allow 80/tcp

2. Установка PostgreSQL для 1С

Не обычная PostgreSQL, а специальная сборка от Postgres Pro, адаптированная под 1С. Обычная PostgreSQL не поддерживает нужные для платформы 1С расширения.

Установка локалей

apt install -y locales
locale-gen ru_RU.UTF-8 en_US.UTF-8
update-locale

Добавление репозитория Postgres Pro 15 для 1С

Скрипт от Postgres Pro сам определит вашу ОС и архитектуру.

curl -sLO https://repo.postgrespro.ru/1c/1c-15/keys/pgpro-repo-add.sh
sudo sh pgpro-repo-add.sh

Установка СУБД

apt install -y postgrespro-1c-15

Инициализация кластера

Сначала остановим службу и очистим пустой каталог data, иначе initdb не запустится.

systemctl stop postgrespro-1c-15
rm -rf /var/lib/pgpro/1c-15/data/*
/opt/pgpro/1c-15/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8
systemctl start postgrespro-1c-15

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

Не забудьте убрать пароль из истории:

sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'ваш_надёжный_пароль';"
history -d $((HISTCMD-1))

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

Зависимости

apt install -y imagemagick unixodbc ttf-mscorefonts-installer

Распаковка дистрибутива

Дистрибутив берётся из личного кабинета 1С. Допустим, у вас архив 8.3.25.1336.tar.gz.

mkdir 1c_install
tar -zxf 8.3.25.1336.tar.gz -C 1c_install/

Установка пакетов

dpkg -i 1c_install/1c-enterprise83*.deb

Настройка systemd

Найдите путь к .service-файлу:

find /opt -name "srv1cv8*service"

Скопируйте его в /etc/systemd/system:

cp /opt/1cv8/x86_64/8.3.25.1336/srv1cv8-8.3.25.1336@.service /etc/systemd/system/srv1cv83.service
systemctl daemon-reload
systemctl enable srv1cv83
systemctl start srv1cv83

4. Первичная настройка кластера

Подключитесь с любого ПК в сети через "Утилиту администрирования серверов 1С". Создайте кластер, укажите:

Если выскакивает "Этот хост неизвестен" — проверьте разрешение имени сервера. Лучше всего использовать IP или прописать в hosts.

5. Веб-публикация через Apache

1С поддерживает веб-клиент через Apache + модуль webinst.

Установка Apache

apt install -y apache2
systemctl enable apache2
systemctl start apache2

Публикация базы

Предположим, у вас база называется prod и сервер доступен по IP 192.168.1.10.

DBNAME=prod
SERVER1C=192.168.1.10

mkdir -p /var/www/html/$DBNAME

# Узнаём путь к установленной версии 1С:
# systemctl status srv1cv83 → смотрим путь к ragent

cd /opt/1cv8/x86_64/8.3.25.1336/
./webinst -apache24 -wsdir $DBNAME -dir /var/www/html/$DBNAME -connstr "Srvr=${SERVER1C};Ref=${DBNAME};" -confPath /etc/apache2/apache2.conf

systemctl restart apache2

Теперь база доступна по адресу: http://192.168.1.10/prod

6. Обновление сервера 1С

Обновление — это почти та же установка, только с заменой systemd-юнита.

systemctl stop srv1cv83
# распаковываем новую версию → dpkg -i *.deb
# находим новый .service → копируем поверх старого
cp /opt/1cv8/x86_64/8.3.26.1500/srv1cv8-8.3.26.1500@.service /etc/systemd/system/srv1cv83.service
systemctl daemon-reload
systemctl start srv1cv83

7. Важно: не обновляйте PostgreSQL!

Если вы случайно обновите postgrespro-1c-15 через apt upgrade, вы получите обычную PostgreSQL — и 1С перестанет работать с базой.

Зафиксируйте версию:

apt-mark hold postgrespro-1c-15 postgresql-client-1c-15

Заключение

Всё. Сервер 1С на Linux — это не миф и не "костыль", а вполне рабочее решение, особенно если вы готовы немного поковыряться в терминале. Главное — не пытайтесь совместить "обычную" PostgreSQL с 1С, не пропускайте локаль ru_RU.UTF-8, и не забывайте, что веб-клиент — это отдельная компонента, зависящая от Apache.

Если у вас есть старая файловая база — выгружайте через конфигуратор в .dt и загружайте в новую PostgreSQL-базу. Это самый надёжный универсальный способ миграции.

Удачи, и пусть ваши сервера не падают в пятницу вечером!

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


кто я | книга | контакты без контактов

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA