1С. Установка сервера 1С:Предприятие 8.3 + PostgreSQL на Linux
Имеется сервер с 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
Или воспользоваться утилитой с псевдо-графическим интерфейсом, которая делает все тоже самое
В псевдо-графическом интерфейсе необходимо проверить правильность выбранных вариантов и ответить утвердительно.
Для применения изменений необходимо перезагрузить систему.
Установка сервера 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
Если вдруг пакеты не установились из-за неудовлетворенных зависимостей, то воспользуемся командой
в итоге станет все хорошо, если хорошо не стало, то читаем выхлоп и правим зависимости. У меня проблем не возникло.
На этом этапе уже можно добавить сервер в консоль серверов и он должен быть виден.
Для запуска, перезапуска, остановки службы сервера 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
и изменяем на peer на 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
Проверка результата
Теперь можно зайти в консоль серверов добавить ИБ и проверить работу.
Поднимаем сервер 1С на UBUNTU и PostgreSQL за 20 минут
Рассматривать, как установить UBUNTU на сервер, тут нет никакого смысла, поэтому начнем непосредственно с установки нужных компонент для Postgresql и 1С сервер.
1. Первым делом на сервер под управлением OS UBUNTU я установил удаленный доступ через SSH. Сделать это очень легко, просто в терминале вводим команду sudo apt install openssh-server и затем добавим эту службу в автозагрузку командой sudo systemctl enable sshd.
Теперь мы можем удаленно подключиться к серверу через SSH клиент, например, такой, как PUTTY. Еще я использовал удобный файловый менеджер WinSCP, чтобы загрузить на сервер необходимые дистрибутивы с компьютера под управлением OS windows.
2. Скачиваем все необходимые дистрибутивы с официального сайта 1С, а именно дистрибутив патченной postgresql в моем случае(10.5) и дистрибутив Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем нужной версии.
Затем предварительно распаковав архивы, при помощи файлового менеджера перекачиваем их на наш сервер с Linux.
3. Приступим к установке Postgresql. Первым делом выполняем команду sudo apt update и затем sudo apt upgrade. Тем самым мы обновляем систему до актуального состояния.
Далее необходимо установить локаль системы, это необходимо для корректной работы Postgresql с базами 1С. Для этого выполним команду sudo dpkg-reconfigure locales .
Затем в открывшемся списке наводим курсор на локаль ru_RU.UTF-8 UTF-8 и нажимаем пробел. Далее наводим курсор на ОК и нажимаем ВВОД.
Теперь можем приступить к установке вспомогательных компонент для субд.
Первым делом нужно установить компоненту libssl1.0.
Для этого выполняем команды по очереди:
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb
dpkg -i ./libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb
Затем нужно установить компоненту libicu55, Для этого выполняем команды:
wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb
sudo dpkg -i libicu55_55.1-7_amd64.deb
Теперь еще установим компоненту postgresql-common при помощи команды sudo apt install postgresql-common.
4. Приступим к установке непосредственно субд. Для этого нужно перейти в директорию куда мы скинули распакованные архивы с дистрибутивами при помощи команды cd / в этой директории должно быть 3 файла, установим их строго в заданной последовательности (библиотека,клиент,сервер).
sudo dpkg -i libpq5_10.3-2.1C_amd64.deb
sudo dpkg -i postgresql-client-10_10.3-2.1C_amd64.deb
sudo dpkg -i postgresql-10_10.3-2.1C_amd64.deb
В результате должно появиться что-то подобное
Если видим такое сообщение, значит, все делали правильно и радуемся. Мы установили postgresql.
5. Теперь приступим к настройке Postgresql.
Установим пароль пользователя postgres. Для этого выполним команду sudo nano /etc/postgresql/10/main/pg_hba.conf.
Листаем файл вниз и находим строчку
local all postgres peer
local all postgres trust
Затем нажимаем Ctrl+X затем ставим Y и нажимаем ввод.
Кроме этого можно открыть файл sudo nano /etc/postgresql/10/main/postgresql.conf и проверяем в нем строку:
listen_addresses = ‘*’ это значит что субд будет обрабатывать запросы со всех ip адресов.
Затем также нажимаем Ctrl+X затем ставим Y и нажимаем ввод.
После необходимо перезапустить службу postgresql командой sudo service postgresql restart
Теперь у нас есть возможность поменять пароль суперпользователя postgres:
Выполним команду psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘Пароль'»
Затем снова открываем файл sudo nano/etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:
local all postgres trust
local all postgres md5
В заключении еще раз перезапускаем сервер: sudo service postgresql restart
На этом настройка Postgresql закончена приступим к установке сервера 1С.
6. Установим необходимые компоненты:
sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install libgsf-1-114
sudo apt-get update
7. Теперь переходим в директорию куда загрузили распакованный архив дистрибутива 1С сервера cd /
Там обычно 6 файлов, нужно их установить в строгой последовательности
sudo dpkg -i 1c-enterprise83-common_8.3.14-1694_amd64.deb
sudo dpkg -i 1c-enterprise83-common-nls_8.3.14-1694_amd64.deb
sudo dpkg -i 1c-enterprise83-server_8.3.14-1694_amd64.deb
sudo dpkg -i 1c-enterprise83-server-nls_8.3.14-1694_amd64.deb
sudo dpkg -i 1c-enterprise83-ws_8.3.14-1694_amd64.deb
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.14-1694_amd64.deb
Пакеты с приставкой «-nls» нужны для поддержки дополнительных языков и не являются обязательными к установке. Пакеты с приставкой «-ws» нужны для работы веб-клиента и также не являются обязательными, но если на нашем сервере планируется еще развернуть и веб сервер , тогда ставить их обязательно.
Теперь можем запустить сервер sudo service srv1cv83 start.
Проверяем что сервер запустился командой sudo service srv1cv83 status.
На этом установка завершена. Пробуем подключаться и создавать базу!
Если необходимо опубликовать базу на Веб сервере тогда делаем следующее:
Установим дистрибутив веб сервера apache : sudo apt-get install apache2
Откроем файл с настройками веб сервера: sudo nano /etc/apache2/ports.conf
Исправляем строку Listen 80 на Listen
Затем также нажимаем Ctrl+X затем ставим Y и нажимаем ввод.
Переходим в директорию установленной платформы: cd /opt/1C/v8.3/x86_64/
sudo ./webinst -publish -apache24 -wsdir -dir /var/www/ -connstr “Srvr=” -confpath /etc/apache2/apache2.conf
ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации
ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие
ИМЯ БАЗЫ – на имя базы, совпадающим с именем базы зарегистрированной в кластере
Затем перезапускаем службу веб сервера: sudo service apache2 restart
Теперь все готово. Надеюсь, кому-то эта статья поможет сэкономить время и нервы на поисках всего этого в сети.