1С 8.1 + PostgreSQL на Ubuntu

Пакеты сервера 1С и протестированной версии PostgreSQL доступны на сайте .

Скачанные архивы распаковываем, например, в

/usr/local/1c

сервер 1С
и

/usr/local/1c/pgsql

PostgreSQL.

Поскольку PostgreSQL на сайте есть только в rpm, то необходимо конвертировать пакеты в deb. Для этого устанавливаем

apt-get install chkconfig alien

Конвертируем пакеты:

cd /usr/local/1c/pgsql
alien –scripts –to-deb *.rpm

Могут возникнуть какие-то некритические ошибки, на них можно не обращать внимания - главное, чтобы каждый пакет сконвертировался.

Создаём группу postgres и пользователя postgres:

groupadd -g 5026 -o -r postgres
useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash -c \
“PostgreSQL Server” -u 5026 postgres

Устанавливаем PostgreSQL:

dpkg -i *.deb

Устанаывливаем сервер 1С:

cd /usr/local/1c
dpkg -i *.deb

Перед инициализацией можно переопределить каталог баз:

mkdir /1сbases
mkdir /1сbases/test1с
chown -R postgres:postgres /1сbases

Серверу PostgeSQL нужны старые библиотеки, нужно добавить ссылки на них. Проверьте сначала версии, которые есть в /lib. Для Ubuntu 9.10:

cd /lib
ln -s libreadline.so.5.2 libreadline.so.4
ln -s libncurses.so.5.7 libtermcap.so.2

Открываем

nano /etc/sysctl.conf

И добавляем в конец строки

kernel.shmmax=134217728
kernel.shmall=134217728

Теперь нужно настроить локаль. Это важно, т.к. при неверной настройке 1C будет ругаться на “неверное значение для параметра “lc_messages”:”en_US”"
Делаем следующее:

/usr/share/locales/install-language-pack en_US

Затем

nano /var/lib/locales/supported.d/local

добавляем в конец файла строчку

en_US UTF-8

Пересоздаем локали:

locale-gen

Теперь можно инициализировать PostgeSQL

su - postgres
initdb -D /bases/basetest -U sa -W // создаст пользователя sa и спросит пароль для него

Стартуем PostgeSQL

pg_ctl -D /1cbase/test1c -l /1cbase/test1c/pgsql.log start

Стартуем сервер 1С

/etc/init.d/srv1cv81 start

Проверяем работоспособность:

netstat -atu

Должны быть видны вот такие строки:

tcp 0 0 *:1540 *:* LISTEN
tcp 0 0 *:1541 *:* LISTEN
tcp 0 0 *:1560 *:* LISTEN
tcp 0 0 *:postgresql *:* LISTEN
tcp 0 0 *:1561 *:* LISTEN
tcp 0 0 *:1562 *:* LISTEN
tcp 0 0 *:1563 *:* LISTEN

Создаём скрипт запуска /etc/init.d/postgresql

#!/bin/sh

case $1 in

restart)

sudo -u postgres -H pg_ctl -D /1cbase/test1c -l /1cbase/test1c/pgsql.log stop
sudo -u postgres -H pg_ctl -D /1cbase/test1c -l /1cbase/test1c/pgsql.log start

;;

start)

sudo -u postgres -H pg_ctl -D /1cbase/test1c -l /1cbase/test1c/pgsql.log start

;;

stop)

sudo -u postgres -H pg_ctl -D /1cbase/test1c -l /1cbase/test1c/pgsql.log stop

;;

*)

echo start|stop|restart

return 1;

;;

esac

Всё, можно подключаться к базе и работать.

Оставьте свой комментарий

Вы должны войти, чтобы добавить комментарий.