ubuntu postgresql 1С

Установка 1С + PostgreSQL на Linux Ubuntu за 5 минут

Тема Ubuntu, PostgreSQL и 1С уже избитая. Но все же, следуя инструкциям всех мануалов, пришлось потратить около 3-х дней. И как результат — готовые скрипты для установки сервера 1С и PostgreSQL на свежей Ubuntu за 5 минут.

Если с течением времени скрипт перестанет работать или я что-то упустил, то пишите в комментариях

Дано: машина с развернутой Ubuntu 22.04.4 LTS и подключением по ssh

Скачиваем с сайта 1C дистрибутивы 1C сервера, PostgreSQL и зависимости для PostgreSQL. Загружаем их на свой сайт, чтобы доставку дистрибутивов на Ubuntu выполнить командой wget. Для примера дистрибутивы загружались на собственный сайт (ссылки в скриптах заменены, потому что размещать дистрибутивы 1С в общем доступе нельзя)

Если дистрибутивы уже загружены на сайт и удалить все комментарии из скрипта, чтобы сразу весь скрипт выполнить в консоли, то установка действительно занимает не более 5 минут.

Скрипт установки PostgreSQL

export SRC_PGLIBS=https://itviar.ru/pg/16.2-3.1C/ubuntu22.x86_64.tar.gz;
export SRC_PG=https://itviar.ru/pg/16.2-3.1C/postgresql_16.2_3.1C_amd64_deb.tar.bz2;
export PG_VERSION=16;
export PG_PASSWORD=password

sudo ufw allow 22;
sudo ufw allow 5432;
sudo ufw disable; sudo ufw enable;

sudo locale-gen ru_RU.UTF-8 && sudo update-locale LANG=ru_RU.UTF8;
sudo apt-get update && sudo apt-get install -y bzip2 unzip;

mkdir -p /tmp/pg/pg-download-libs && cd "$_";
wget -c $SRC_PGLIBS && tar -xvf *;
sudo dpkg -i libs$PG_VERSION/*.deb;

mkdir -p /tmp/pg/pg-download && cd "$_";
wget -c $SRC_PG && tar -xvf *;
sudo dpkg -i */*.deb;


cd /etc/postgresql/$PG_VERSION/main;
sudo sed -i 's/local\s*all\s*postgres\s*peer/local all postgres trust/g' pg_hba.conf;
sudo sed -i 's/#listen_addresses = '"'"'localhost'"'"'/listen_addresses = '"'"'*'"'"'/g' postgresql.conf;
sudo systemctl restart postgresql;

psql -U postgres -c "ALTER USER postgres PASSWORD '$PG_PASSWORD'";

sudo sed -i 's/local\s*all\s*postgres\s*trust/local all postgres md5/g' pg_hba.conf;
sudo systemctl restart postgresql;

Скрипт установки сервера 1С

export SRC_1C=https://itviar.ru/1c/8_3_25_1286/deb64_8_3_25_1286.zip;
export _1C_VERSION=8.3.25.1286

sudo apt-get update && sudo apt-get install -y bzip2 unzip;
sudo apt-get install -y imagemagick unixodbc ttf-mscorefonts-installer libgsf-1-114;

mkdir /tmp/1c-download && cd "$_";
sudo wget $SRC_1C && unzip *;
sudo dpkg -i *.deb;

sudo mv /opt/1cv8/x86_64/$_1C_VERSION/srv1cv8-$_1C_VERSION@.service /opt/1cv8/x86_64/$_1C_VERSION/srv1cv8.service;
sudo systemctl link /opt/1cv8/x86_64/$_1C_VERSION/srv1cv8.service;
sudo systemctl enable --now srv1cv8;

sudo mv /opt/1cv8/x86_64/$_1C_VERSION/ras-$_1C_VERSION.service /opt/1cv8/x86_64/$_1C_VERSION/ras.service;
sudo systemctl link /opt/1cv8/x86_64/$_1C_VERSION/ras.service;
sudo systemctl enable --now ras;
sudo ufw allow 1545;

sudo ufw allow 22;
sudo ufw allow 1540;
sudo ufw allow 1541;
sudo ufw allow 1560:1591/tcp;
sudo ufw allow 1545;
sudo ufw disable; sudo ufw enable;

Далее создаем новую базу 1С. Не забудьте прописать разрешение имени вашего сервера 1С в файле hosts на клиентском компьютере. При входе в базу предложит активировать лицензии на сервер и клиентские лицензии, если не найдет.

Я лицензии не активировал, а настраивал их получение с сервера лицензирования 1С под управлением Windows.

ВАЖНО!!! На сервере лицензирования тоже необходимо прописать разрешение имени сервера 1С Ubuntu в файле hosts иначе лицензии не выдаются, о причинах неполучения лицензии в ошибках информации нет — пришлось расследовать технологический журнал на сервере лицензирования.

Далее заходим в любую базу 1С и запускам стандартную обработку Управление серверам — так как под Linux нет оснастки администрирования сервера, для этого мы и устанавливали сервер удаленного администрирования ras. Добавляем наш сервер 1С (можно по IP, по имени вроде не отрабатывало) и добавляем сервер лицензирования в кластер (по IP, по имени не отрабатывало от слова совсем), настраиваем и применяем требования функциональности серверов.

P.S. Скажу честно, что промучился с этой установкой, в основном от недостатка опыта работы с Linux

Первая проблема была установке PostgreSQL — требуются устаревшие зависимости, собственно мы их и скачиваем с сайта 1С. Как вернуть устаревшие зависимости из репозиториев Ubuntu так и не разобрался. Есть вариант установки PostgresPRO, он ставиться скриптом с официального сайта, но хотелось попробовать именно из дистрибутивов 1С.

Вторая проблема с получением лицензий с сервера лицензирования: вначале тупил с удаленным администрированием (не знал как управлять сервером без оснастки Windows, потом когда разобрался, на определенном релизе платформы стандартная обработка «Управление серверами» была косячной —не назначались требования функциональности — пришлось в ней исправлять ошибку). После были неоднозначности как обращаться к серверу 1С по IP или по имени, но после дня мучений и разбора технологического журнала, решение было найдено. Еще как вариант настройка своего DNS, чтобы с IP не возиться.

Теперь можно тренироваться для подготовки к экзамену 1С:Эксперт по технологическим вопросам. И как оказалось, уже в процессе установки пришлось пощупать технологический журнал платформы 1С.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *