Если с течением времени скрипт перестанет работать или я что-то упустил, то пишите в комментариях
Дано: машина с развернутой Ubuntu 22.04.4 LTS и подключением по ssh
Скачиваем с сайта 1C дистрибутивы 1C сервера, PostgreSQL и зависимости для PostgreSQL. Загружаем их на свой сайт, чтобы доставку дистрибутивов на Ubuntu выполнить командой wget. Для примера дистрибутивы загружались на собственный сайт (ссылки в скриптах заменены, потому что размещать дистрибутивы 1С в общем доступе нельзя)
Если дистрибутивы уже загружены на сайт и удалить все комментарии из скрипта, чтобы сразу весь скрипт выполнить в консоли, то установка действительно занимает не более 5 минут.
Скрипт установки PostgreSQL
#Установить локаль, нужно выбрать именно ru_RU.UTF-8 иначе при создании базы 1С вылетит ошибка sudo locale-gen ru_RU.UTF-8; sudo dpkg-reconfigure locales; sudo apt-get install -y bzip2 unzip; #создаем директорию загрузки mkdir /tmp/pg-install; #скачиваем и устанавливаем зависимости для postgresql_16, если выйдет следующая версия то замените libs16 cd /tmp/pg-install; wget https://itviar.ru/pg/16.2-3.1C/ubuntu22.x86_64.tar.gz; tar -xvf ubuntu22.x86_64.tar.gz; cd /tmp/pg-install/libs16; sudo dpkg -i *.deb; #скачиваем и устанавливаем сервер postgresql cd /tmp/pg-install; wget https://itviar.ru/pg/16.2-3.1C/postgresql_16.2_3.1C_amd64_deb.tar.bz2; tar -xvf postgresql_16.2_3.1C_amd64_deb.tar.bz2; cd /tmp/pg-install/postgresql-16.2-3.1C_amd64_deb; sudo dpkg -i *.deb; #удаляем директорию загрузки rm -R /tmp/pg-install; #настраиваем postgresql - использовал команду sed, чтобы вручную не править конфигурационные файлы sudo sed -i 's/local\s*all\s*postgres\s*peer/local all postgres trust/g' /etc/postgresql/16/main/pg_hba.conf; sudo sed -i 's/#listen_addresses = '"'"'localhost'"'"'/listen_addresses = '"'"'*'"'"'/g' /etc/postgresql/16/main/postgresql.conf; sudo systemctl restart postgresql; #замените password на свой пароль psql -U postgres -c "ALTER USER postgres PASSWORD 'password'"; sudo sed -i 's/local\s*all\s*postgres\s*trust/local all postgres md5/g' /etc/postgresql/16/main/pg_hba.conf; sudo systemctl restart postgresql;
Скрипт установки сервера 1С
sudo apt-get install bzip2 unzip; sudo apt-get install -y imagemagick unixodbc ttf-mscorefonts-installer libgsf-1-114; mkdir /tmp/1c-install; cd /tmp/1c-install; wget https://itviar.ru/1c/8_3_25_1286/deb64_8_3_25_1286.zip; unzip deb64_8_3_25_1286.zip; sudo dpkg -i *.deb; rm -R /tmp/1c-install; #добавление сервера 1С в автозапуск sudo mv /opt/1cv8/x86_64/8.3.25.1286/srv1cv8-8.3.25.1286@.service /opt/1cv8/x86_64/8.3.25.1286/srv1cv8.service; sudo systemctl link /opt/1cv8/x86_64/8.3.25.1286/srv1cv8.service; sudo systemctl enable srv1cv8; sudo systemctl start srv1cv8; #добавление службы удаленного администрирования сервера 1С в автозапуск sudo mv /opt/1cv8/x86_64/8.3.25.1286/ras-8.3.25.1286.service /opt/1cv8/x86_64/8.3.25.1286/ras.service; sudo systemctl link /opt/1cv8/x86_64/8.3.25.1286/ras.service; sudo systemctl enable ras; sudo systemctl start ras;
Далее создаем новую базу 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С.