Имеется сервер с Linux на борту, необходима установка сервера 1С и PostgreSQL, свежих версий.
Данная запись написана уже давно, во времена Ubuntu 16.04, технологической платформы 1С:Предприятия 8.3.10 и PostgreSQL 9.4. С выходом новых релизов обновляется, и является пособием для установки актуальных версий. Выявленные особенности сочетания дистрибутивов описаны отдельно.
Задача
Есть сервер с Ubuntu(Debian) на борту, необходимо установить и настроить для совместной работы сервер 1С:Предприятие 8.3 и PosgreSQL
Решение
Самым первым делом устанавливаем локализацию, сервер 1С работает с локализацией ru_RU.UTF8, соответственно PostgreSQL нужен с ней же. PostgreSQL создает кластер с локализацией по умолчанию ОС, если будет указана отличная локализация, то сервевер 1С и PostgreSQL не встретятся.
# locale-gen en_US # locale-gen ru_RU # update-locale LANG=ru_RU.UTF8
Или воспользоваться утилитой с псевдо-графическим интерфейсом, которая делает все тоже самое
# dpkg-reconfigure locales
В псевдо-графическом интерфейсе необходимо проверить правильность выбранных вариантов и ответить утвердительно.
Для применения изменений необходимо перезагрузить систему.
Установка сервера 1С:Предприятие
Предварительно установим необходимые пакеты
# apt install imagemagick ttf-mscorefonts-instal
Для получения дистрибутива сервера 1С:Предприятие необходимо перейти на https://releases.1c.ru/project/Platform и выбрать необходимый релиз с необходимой разрядностью. В моем случае актуальный релиз. Далее по тексту, вместо релиза буду указывать x.x.xx-xxxx.
С установкой cсервера, как правило проблем нет, просто последовательно устанавливаем пакеты
# dpkg -i 1c-enterprise83-common_x.x.xx-xxxx_amd64.deb # dpkg -i 1c-enterprise83-server_x.x.xx-xxxx_amd64.deb # dpkg -i 1c-enterprise83-ws_x.x.xx-xxxx_amd64.deb
Если вдруг пакеты не установились из-за неудовлетворенных зависимостей, то воспользуемся командой
# apt -f install
в итоге станет все хорошо, если хорошо не стало, то читаем выхлоп и правим зависимости. У меня проблем не возникло.
На этом этапе уже можно добавить сервер в консоль серверов и он должен быть виден.
Для запуска, перезапуска, остановки службы сервера 1С:Предприятие можно воспользоваться командами:
# /etc/init.d/srv1cv83 start # /etc/init.d/srv1cv83 restart # /etc/init.d/srv1cv83 stop
Если необходимо установить драйвер HASP, то прочитать как это делается можно в статье 1С. Установка 1С:Предприятие 8.3 на Linux.
Установка PostgreSQL
Фирма 1С распространяет специально обученный дистрибутив PostgreSQL, который отличается от «стандартного» наложенным патчем. При желании можно взять «стандартный» PostgreSQL, пропатчить его и собрать.
Получение дистрибутива
Для получения дистрибутива необходимо перейти на https://releases.1c.ru/project/AddCompPostgre и выбрать необходимый релиз с необходимой разрядностью. В моем случае необходимо было установить релиз 11.5, на нем и буду проводить дальнейшее описание.
Кроме дистрибутива необходимо обратить внимание на раздел Особенности релиза, в нем описано:
- C какой версисей платформы реализована поддержка и проводилось нагрузочное тестироввние;
- Список поддерживаемых дистрибутивов Linux и что необходимо выполнить до установки.
Для Ubuntu 16.04 и старше указано, что необходимо предварительно установить пакеты libicu55 и postgresql-common.
Ранее необходимо было искать недостающие пакеты по репозиториям, скачивать и устанавливать. Теперь же в нижней части страницы с релизами есть раздел Дополнительные материалы. В разделе выложены необходимые пакеты для удовлетворения зависимостей дистрибутива. Например для Ubuntu Server 20.04, к PostgreSQL 11.5 архив содержит пакеты:
- libicu55_55.1-7_amd64.deb
- libllvm6.0_6.0-1ubuntu2_amd64.deb
- libllvm9_9_+20191211102125+c1a0a213378-1_exp1_20191211212701.104_amd64.deb
- postgresql-client-common_207_all.deb
- postgresql-common_207_all.deb
- ssl-cert_1.0.39_all.deb
Установка
Пакет postgresql-common я установил из репозитория
# apt install postgresql-common
Пакет libicu55, установил из скачанного ахива дополлнительных материалов
# dpkg -i ./libicu55_55.1-7ubuntu0.4_amd64.deb
Далее необходимо установить пакеты скачанного дистрибутива PostgreSQL
# dpkg -i ./libpq5_11.5-19.1C_amd64.deb # dpkg -i ./postgresql-11_11.5-19.1C_amd64.deb # dpkg -i ./postgresql-client-11_11.5-19.1C_amd64.deb
Теперь все установилось без проблем, но Postgres после этого автоматически не запускается, а предлагает это выполнить вручную. Запуск проиходит без проблем.
# pg_ctlcluster 11 main start
Теперь необходимо зафиксировать установленные вручную пакеты, иначе при первом же обновлении они будут заменены пакетами из репозитория
# apt-mark hold libpq5 postgresql-11 postgresql-client-11
Настройка
При установке автоматически создается кластер main, необходимо только произвести некоторые настройки. Для возможности подключения открываем файл /etc/postgresql/11.6/main/pg_hba.conf
# nano /etc/postgresql/11/main/pg_hba.conf
находим строку
local all postgres peer
и изменяем на peer на trust
local all postgres trust
Далее сменим пароль для пользователя postgres, от которого будет происходить подключение к СУБД
# psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'Password'"
вместо Password пишем необходимый пароль.
Остается перезапустить службу, и можно подключиться к серверу PostgreSQL средствами pgAdmin.
Для запуска, перезапуска, остановки службы сервера PostgreSQL можно воспользоваться командами:
# /etc/init.d/postgresql start # /etc/init.d/postgresql restart # /etc/init.d/postgresql stop
Если Вы все сделали и сервер так и не заработал, то первым делом необходимо проверить локализацию. Если установлена не та локализация, то необходимо пересоздать кластер, команды и результат выполнения ниже
# pg_dropcluster --stop 11 main Redirecting stop request to systemctl # pg_createcluster --locale ru_RU.UTF-8 11 main Creating new cluster 11/main ... config /etc/postgresql/11/main data /var/lib/postgresql/11/main locale ru_RU.UTF-8 socket /var/run/postgresql port 5432
Проверка результата
Теперь можно зайти в консоль серверов добавить ИБ и проверить работу.