Рассматривая установку сервера 1С:Предприятие на платформе Linux нельзя обойти вниманием вторую важную компоненту - систему управления базами данных, наиболее популярной из которых для данной платформы является PostgresSQL. В наших прошлых материалах мы использовали сборки от компании Ethersoft, это было связано с тем, что 1С предоставляла готовые пакеты только для RPM-совместимых систем, теперь ситуация изменилась и можно свободно скачать официальные пакеты для Ubuntu Server/Debian.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Прежде чем продолжать, напомним, что сервер СУБД является независимой частью клиент-серверной системы 1С:Предприятие и никак не связан по настройкам и зависимостям с самим сервером 1С, т.е. вы можете установить PostgreSQL как на одну физическую машину с сервером 1С, так и на разные.
Второе важное замечание, мы не видим смысла использовать 32-разрядную версию Postgres, разве что в учебно-ознакомительных целях, при этом нет никакого требования на совпадение разрядности сервера 1С и сервера СУБД, это значит, что вы можете успешно совмещать 32-разрядный сервер 1С и 64-разрядный Postgres, в том числе и на одном физическом сервере. Про установку 32-разрядного сервера на 64-разрядную платформу мы рассказывали в одной из предыдущих статей.
В нашем примере будет использоваться сервер под управлением Ubuntu Server 14.04 или Debian 8, все незначительные отличия между системами будут оговариваться отдельно.
Откуда получить дистрибутив Postgres для работы с 1С:Предприятием? С официального сайта, напомним, что стандартная версия PostgreSQL с 1С работать не будет, требуется специальная сборка с патчами от компании. На странице загрузки представлено довольно много версий, для всех платформ и разрядностей. Нас интересует только версия DEB для систем x86-64, архив с дополнительными модулями не потребуется.
Скачаем данный архив и разместим его в удобном месте на сервере, скажем в домашней папке. Но прежде чем приступать к установке следует подготовить систему.
Сначала сгенерируем и установим необходимые локали, это особенно важно, если система была установлена с языком отличным от русского.
В Ubuntu Server выполните:
locale-gen en_US
locale-gen ru_RU
затем установите язык по умолчанию:
update-locale LANG=ru_RU.UTF8
и завершите настройку:
dpkg-reconfigure locales
В Debian немного проще:
dpkg-reconfigure locales
Данная команда вызывает псевдографическую утилиту при помощи которой следует выбрать локали en_US ISO-8859-1, en_US.UTF-8 и ru_RU.UTF-8
По умолчанию выбираем ru_RU.UTF-8
Для применения изменений обе системы потребуется перезагрузить.
Правильно настроив региональные параметры перейдем к зависимостям. Нам потребуются пакет ssl-cert и библиотеки libxslt и libicu, с первыми двумя все просто:
apt-get install libxslt1.1 ssl-cert
А вот дальше есть небольшие сложности. В отличие от сборки Ethersoft, которая умела подтягивать по зависимостям текущую версию libicu, сборка от 1С "прибита гвоздями" к определенной версии библиотеки, точно узнать необходимую версию можно из документации, устанавливаемая нами версия PostgreSQL 9.4.2-1.1C требует libicu48, в то время как в репозиториях присутствует более новая версия. Решение простое - скачать и установить требуемый пакет вручную, его можно получить здесь: libicu48_4.8.1.1-3_amd64.deb.
Будем считать, что скачанный пакет находится в домашней директории, перейдем туда и установим его.
cd ~
dpkg -i libicu48_4.8.1.1-3_amd64.deb
Теперь можно переходить к установке непосредственно PostgreSQL, архив с которой также должен находиться в вашей домашней папке, распакуем его:
tar -xvf postgresql-9.4.2-1.1C_amd64_deb.tar.bz2
Если сервер 1С или сборку от Ethersoft можно было просто установить в автоматическом режиме, то здесь такой фокус не пройдет, нужно строго соблюдать очередность установки пакетов, в противном случае возникнут нарушенные зависимости, автоматическое разрешение которых приведет к замене некоторых пакетов от 1С пакетами из репозитория, что сделает установленный экземпляр неработоспособным.
Требуемая последовательность установки такова:
dpkg -i libpq5_9.4.2-1.1C_amd64.deb
dpkg -i postgresql-client-common_154.1.1C_all.deb
dpkg -i postgresql-common_154.1.1C_all.deb
dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb
dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb
dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb
После установки требуется произвести некоторые настройки, в частности установить пароль суперпользователю СУБД postgres, для этого откроем /etc/postgresql/9.4/main/pg_hba.conf и найдем в нем строку:
local all postgres peer
и приведем ее к виду:
local all postgres trust
Перезапустим службу:
service postgresql restart
Теперь установим пароль командой:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"
где password - желаемый пароль и еще раз перезапустим PostgreSQL.
На этом настройку сервера СУБД можно считать законченной. Но остается один момент, для того, чтобы к нему можно было обращаться по сетевому имени, следует добавить соответствующую A-запись на DNS-сервер предприятия или запись в файл hosts тех ПК, которые будут работать с данным сервером. Напомним, что с сервером СУБД работает исключительно сервер 1С и если вы добавляете записи в файл hosts, то делать это нужно прямо на сервере 1С, а не на клиентских ПК.
Также к серверу СУБД, в отличие от сервера 1С, можно обращаться по IP-адресу, а если PostgreSQL и сервер 1С находятся на одной машине, то в качестве имени сервера правильным будет использовать localhost.
Как видим, сложной установку PostgreSQL-1C назвать нельзя, однако от вас потребуется определенная внимательность и строгое выполнение последовательности установки пакетов.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии