1С 8.1 + PostgreSQL на Ubuntu
Пакеты сервера 1С и протестированной версии PostgreSQL доступны на сайте 1С.
Скачанные архивы распаковываем, например, в
/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
Всё, можно подключаться к базе и работать.
Оставьте свой комментарий
Вы должны войти, чтобы добавить комментарий.