Установки 1С-сервера + PostgreSQL на виртуалке с Ubuntu 20.04

Подготовка сервера к установке

Характеристики виртуальной машины

В качестве виртуальной машины используем тариф Step2+ на хостинге Adman с параметрами:

  • Ядер: 2
  • Дисковое пространство: 40Гб
  • ОЗУ: 4Гб
  • ОС: Ubuntu 20.04

Загрузка необходимых пакетов Платформы «1С:Предприятие» в ОС Linux

Первым делом скачиваем дистрибутивы Платформы 1С с сайта https://releases.1c.ru/total для этого выбираем платформу :

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

Подключаемся к нашей виртуалке пользователем root. Я использую для этого PuTTY.

Создадим папку для скачивания пакетов 1С:

$ mkdir -p /1c/soft/1c

и перейдем в созданную папку

$ cd   /1c/soft/1c

Теперь запускаем у себя на компьютере программу WinSCP и скачиваем 1С:Предприятие для Linux и тонкий клиент 1С во вновь созданную папку.

Обновление Ubuntu

Для начала обновим установленную Ubuntu до последней версии

$ sudo apt update

Получим адрес сервера утилитой ifconfig, но для начала установим ее на сервер:

$ sudo apt install net-tools

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

Узнать имя сервера можно командой

$ hostname -f

Сменим имя сервера на другое имя (например на номер заказа, предоставленный хостингом)

$ sudo hostnamectl set-hostname z*****

Если у вас используется cloud.cfg, то после перезагрузки, название сервера может вернуться к тому, что было указано при установке. Поэтому вам необходимо отключить это в файле /etc/cloud/cloud.cfg

$ sudo nano /etc/cloud/cloud.cfg

Открыв файл для редактирования, нужно найти строку preserve_hostname, и значение false, заменить на true. Тогда после перезагрузки, у вас сохранится новое имя сервера.

Кстати, создание виртуального сервера в дата-центре Адман сэкономило мне время на настройке компьютеров пользователей. Т.к. при заказе виртуального сервера у Адман каждому заказу выдается поддомен типа z*****.adman.cloud , которому присвоен белый IP адрес из заказа и нет необходимости настраивать файлы hosts на компьютерах пользователей, которые будут устанавливать соединения с кластером серверов. Это очень удобно!

Установка языкового пакета (локали) русского языка на Ubuntu 20.04

Для нормального функционирования СУБД PostgreSQL установим на наш виртуальный сервер локализацию русского языка

$ sudo dpkg-reconfigure locales
$ sudo locale-gen en_US.UTF-8
$ sudo locale-gen ru_RU.UTF-8
$ sudo update-locale LANG=ru_RU.UTF8
Чтобы добраться до нужной локали используйте стрелки “вверх” – “вниз”, а чтобы выбрать – “пробел”

Чтобы установить локаль русского языка основной для системы необходимо в следующем окне выбрать ее:

В итоге этих действий получим следующее:

Не забудьте перезагрузить Ubuntu

$ sudo shutdown -r now

Как проверить установленные Локали в Ubuntu 20.04

После того, как вы установили локаль, она должна появиться в списке установленных, а также стать основной для системы (если мы это установили):

$ sudo locale
Мы все сделали правильно 🙂

Установка сервера PostgreSQL на Ubuntu

В качестве СУБД для работы с 1С будем использовать сборку СУБД от Postgres Pro Team, версию которого можно запросить на сайте 1c.postgres.ru

Добавление репозитория PostgreSQL Pro

$ sudo wget https://repo.postgrespro.ru/1c-14/keys/pgpro-repo-add.sh
$ sudo sh pgpro-repo-add.sh

Установка и настройка СУБД

Если устанавливаемая СУБД единственный Postgres на нашей машине и вы хотите
сразу получить готовую к употреблению базу:

$ sudo apt-get install postgrespro-1c-14

Если же у вас уже установлен другой Postgres и вы хотите чтобы он
продолжал работать параллельно (в том числе и для апгрейда с более
старой major-версии):

$ apt-get install postgrespro-1c-14-contrib
$ /opt/pgpro/1c-14/bin/pg-setup initdb --tune=1c
$ /opt/pgpro/1c-14/bin/pg-setup service enable
$ /opt/pgpro/1c-14/bin/pg-setup service start

Посмотрим статус службы:

$ systemctl status postgrespro-1c-14

Чтобы выйти из этого режима: Ctrl +C

Настройка PostgreSQL в Ubuntu 20.04

Итак СУБД у нас установлена, переключимся на пользователя postgres с помощью команды:

$ sudo -i -u postgres

Теперь мы можем запустить консоль PostgreSQL командой:

psql

И посмотреть информацию о соединении c базой:

\conninfo

Чтобы выйти из консоли наберите команду:

\q

Теперь создадим другие роли и базы данных.

Зададим пароль пользователя postgres

Первым делом зададим пароль для пользователя postgres. Для этого переключимся на пользователя postgres, если вы не под ним и перейдем в консоль СУБД (описано выше).

# alter user postgres with encrypted password 'Ваш пароль';

Пароль успешно поменяли, и на этом можно было бы успокоиться, но как всегда есть НО.

Postgres shell пишет историю командной строки в файл .psql_history, убедиться в этом легко:

выйдем из postgres shell командой \q и посмотрим на наш файл:

$ cat .psql_history;

Ну вот, как и предполагалось, все записано буква-в-букву.

Удалим файл истории командной строки и затем опять попробуем посмотреть его:

$ rm .psql_history;
$ cat .psql_history;
Теперь всё правильно!

Теперь переключимся обратно в root, выполнив exit и настроим свой конфиг pg_hba.conf (поищите тут /var/lib/pgpro/1c-14/data/pg_hba.conf), убедившись, что у вас есть следующая строка

local all postgres md5

Если такой строки нет, – надо добавить. Вы можете использовать редактор Linux-a, но самый простой способ это сделать – воспользоваться WinSCP, подключиться к серверу – перейти в директорию, где находится файл pg_hba.conf и открыть его для редактирования, внести изменения и сохранить.

После этого возвращаемся в PuTTY и перегружаем сервер

Вы можете воспользоваться любым из методов остановить и потом запустить сервис сервера postgres, или перегрузить (с остановкой) restart и (без остановки, а только с перезагрузкой конфигов) reload.

Например: Остановим сервис

$ systemctl stop postgrespro-1c-14

Посмотрим статус сервера PostgreSQL (убедимся что он остановлен)

$ systemctl status postgrespro-1c-14

И запустим сервер PostgreSQL заново

$ systemctl start postgrespro-1c-14

Для порядка можно еще раз посмотреть статус и убедиться что сервер работает.

Дополнительные меры безопасности для сервера СУБД PostgreSQL рассмотрим в отдельной статье.

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

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

$ su postgres

Создадим нового пользователя СУБД

Для работы с базами 1С:Предприятие создадим нового пользователя с определенными параметрами:

$ createuser -d -E -i -r -s -l -P --no-replication Имя_пользователя

Дважды введите пароль нового пользователя.

Пользователь с нужными правами создан

Новый пользователь создан. Все базы в 1С: Предприятие в дальнейшем будем создавать под этим пользователем.

от пользователя postgres его отличает только то, что он не может создавать репликации, остальные права те же!

Установка сервера 1С на Ubuntu 20.04

Придется немного подготовится

Установка шрифтов

Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts

$ apt-get -y install ttf-mscorefonts-installer

Также “откроем глаза” системе на установленные шрифты

$ apt install fontconfig
$ fc-cache –fv

так же установим дополнительные библиотеки

$ apt install libodbc1

Установка 1С:Платформы

Перейдем в папку, в которую мы изначально загрузили дистрибутивы 1С:Платформы

$ cd /1c/soft/1c

Распакуем дистрибутив платформы

$ tar zxf server64_8_3_20_1710.tar.gz

И установим его

в нашем случае нам понадобятся компоненты:

  • server – кластер серверов 1С:Предприятия
  • server_admin – сервер администрирования кластера серверов 1С:Предприятия
  • ws – модули расширения веб-сервера
  • client_full – толстый клиент и возможность работы в конфигураторе.
  • client_thin – тонкий клиент (без возможности работы с файловым вариантом информационной базы).

полный список приведен в официальной документации

$ ./setup-full-8.3.20.1710-x86_64.run --mode unattended --enable-components server,ws,server_admin,client_full

Регистрация служб 1С в linux

Сделаем символические ссылки для скрипта запуска и файла конфигурации

$ ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83 /etc/init.d/srv1cv83
$ ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83.conf /etc/default/srv1cv83

А также добавим в автозагрузку

$ update-rc.d srv1cv83 defaults

Перезагрузим сервер

$ systemctl restart srv1cv83

проверим статус службы

$ systemctl status srv1cv83

Фактически наш сервер 1С:Предприятие установлен, запущен и готов к работе, но еще один небольшой штришок.

Удаление оболочки GNOME на сервере 1С:Предприятие

Вместе с платформой 1С нам досталась графическая оболочка Gnome, которая для работы нашего сервера особо и не нужна, учитывая, что мы в основном используем ssh. Так что удалим лишнее, дабы не тратить ресурсы сервера.

$ apt purge gnome-shell gnome-control-center gnome-keyring
$ apt autoremove

Порядок действий при обновлении платформы 1С:Предприятие

  • Остановить службу
  • Установить новую платформу
  • Удалить старую
  • Обновить символические ссылки на скрипт запуска и конфигурации
  • Запустить службу

Проверим работоспособность 1С:Сервера

Запускаем 1С. толстый клиент:

sudo /opt/1cv8/x86_64/8.3.20.1710/1cv8

Хороший хостинг за разумные деньги с достойными пингами

Тратить стоит с умом!

Один Ответ

  1. aviatrix:

    Большое спасибо за информацию, она мне помогла сделать правильный выбор.

Добавить комментарий

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