Инструменты пользователя

Инструменты сайта


misc:1c-on-ubuntu

Ставим 1С сервер на ubuntu server 12.04

Труд не мой Автор (http://www.alsigned.ru/?p=2693)

Со времен моей последней статьи по установке 1с прошло уже больше года, и за прошедшее время многое изменилось. Помнится установка отнимала немало усилий, сначала сборка PostgreSQL с установкой 1с-овских патчей, потом мелкие заморочки с запуском сервера 1с предприятия. Я даже сделал свой репозиторий с собранным PostgreSQL, который работает по сей день, но 1с понемногу пошла людям на встречу: сначала появился неплохо собранный src.rpm для RedHat/CentOS, а сейчас на сайте 1с лежат уже готовые сборки как для CentOS/Redhat, так и для Debian/Ubuntu. Посмотрим что у них получилось.

Задача простая – нужно поставить связку 1с Предпритие и PostgreSQL на Ubuntu Server 12.04 x64. (Я ставил на 32-х разрядный) Сколько помню, если сравнить Ubuntu Server и Debian, Ubuntu Server из-за более свежих версий пакетов был всегда более капризный по мелочам.

1. Ставим PostgreSQL

Прежде чем начать установку, нам понадобится провести ряд подготовительных процедур. PostgreSQL может установиться и без этого, но проще будет если сразу во время установки он создаст правильные конфиги и инициализирует базу данных в нужной кодировке. Увеличиваем максимальный размер сегмента памяти до 64Мб.

root@ubsrv:~# echo "kernel.shmmax=67108864" >>/etc/sysctl.conf
root@ubsrv:~# sysctl -p

Генерируем русскую локаль и задаем переменную среды LANG, именно с ней будет работать скрипт инициализации базы данных.

root@ubsrv:~# locale-gen en_US ru_RU ru_RU.UTF-8
root@ubsrv:~# export LANG="ru_RU.UTF-8"

Устанавливаем необходимые зависимисти.

root@ubsrv:~# apt-get install libssl0.9.8 ssl-cert postgresql-common libossp-uuid16 libxslt1.1

Берем с сайта http://users.v8.1c.ru/ архив с PostgreSQL 9.1.2 для 64-битных DEB-систем, распаковываем и устанавливаем нужные компоненты. Нужных и не нужных компонентов в архиве много, для того что бы все заработало достаточно postgresql, postgresql-client и postgresql-contrib.

root@ubsrv:~# tar zxf postgresql_9_1_2_deb_x86_64_tar.gz
root@ubsrv:~/postgres# dpkg -i postgresql-9.1_9.1.2-1.1C_amd64.deb libpq5_9.1.2-1.1C_amd64.deb postgresql-client-   9.1_9.1.2-1.1C_amd64.deb postgresql-contrib-9.1_9.1.2-1.1C_amd64.deb  

После установки нужно еще немного подправить конфигурационный файл, как не странно будучи поставленным в пакете 1с он содержит не правильные настройки для обработки экранирующих символов, и при создании базы 1с выдает ошибки “syntax error at or near “SECOND” at character 127″ или “syntax error at or near “SECOND” at character 227″. Исправляем в файле /etc/postgresql/9.1/main/postgresql.conf следующие параметры.

backslash_quote = on
escape_string_warning = off
standard_conforming_strings = off

Перезапускаем сервис.

root@ubsrv:~# service postgresql restart

Меняем пароль для пользователя postgres – это тот пароль который мы будем задавать при создании базы данных.

root@ubsrv:~# su postgres
postgres@ubsrv:/root$ cd ~
postgres@ubsrv:~$ psql -U postgres -c "alter user postgres with password '123456';"
postgres@ubsrv:~$ exit

Отключаем обновление для пакетов 1с-овского PostgreSQL.

root@ubsrv:~# echo "libpq5" hold |  dpkg --set-selections
root@ubsrv:~# echo "postgresql-9.1" hold |  dpkg --set-selections
root@ubsrv:~# echo "postgresql-client-9.1" hold |  dpkg --set-selections
root@ubsrv:~# echo "postgresql-contrib-9.1" hold |  dpkg --set-selections

2. Установка сервера 1с Предприятия

Начнем с файла /etc/hosts, для того чтобы 1с-ка правильно создала свои конфиги из него нужно убрать любое упоминание об IPv6 и правильно задать соотношение IP адреса и имени сервера. Пример правильного /etc/hosts.

127.0.0.1       localhost
192.168.20.123  ubsrv.mydomain.local ubsrv

Теперь, точно также как и с Postgresql, забираем с сайта http://users.v8.1c.ru/ последнюю версию платформы сервера 1с 8.2 Предприятия, распаковываем и устанавливаем нужные компоненты.

root@ubsrv:~# tar zxf deb64.tar.gz
root@ubsrv:~# dpkg -i 1c-enterprise82-common_8.2.16-368_amd64.deb 1c-enterprise82-server_8.2.16-368_amd64.deb 1c-enterprise82-ws_8.2.16-368_amd64.deb

Даем права для пользователя и группы 1с Предприятия на каталог установки.

root@ubsrv:~# chown -R usr1cv82:grp1cv82 /opt/1C

Добавляем в автозагрузку и запускам сервис.

root@ubsrv:~# update-rc.d srv1cv82 defaults
root@ubsrv:~# service srv1cv82 start

На этом первоначальная настройка сервер 1с Предприятия 8.2 закончена.

3. Настройка config_server

Для правильной работы тонкого клиента и режима управляемого приложения, нужно сделать дополнительные настройки используемых шрифтов, установить и задать путь при помощи утилиты config_server. Делаем символическую ссылку на libc:

root@ubsrv:~# ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64/libc-2.15.so

Устанавливаем необходимые пакеты:

root@ubsrv:~# apt-get install ttf-mscorefonts-installer libt1-5 t1utils

Загружаем конвертер для шрифтов и устанавливаем его (вот тут проблема, шрифты конечно нашлись а вот конвертера нет. точнеее сть, но не установился, вывалились какие то странные зависимости разрулить которые не получилось):

root@ubsrv:~# wget http://archive.ubuntu.com/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.3_amd64.deb
root@ubsrv:~# dpkg -i ttf2pt1_3.4.4-1.3_amd64.deb

Переходим в каталог /opt/1C/v8.2/x86_64/utils/ и запускаем config_server

root@ubsrv:~# cd /opt/1C/v8.2/x86_64/utils/
root@ubsrv:~# ./config_server /usr/share/fonts/truetype/msttcorefonts

Теперь сервер полностью настроен и готов к употреблению.

4. Заключение

Казалось бы если отказаться от сборки Posgresql установка станет намного проще, но в итоге по объему работы получается тоже на тоже, много недочетов и мы опять возвращаемся к тому что новички просто не справятся с такой установкой. Если например взять архив с postgresql и установить все пакеты стандартной debian-овской последовательностью команд deb -iR * и apt-get install -f, то postgresql просто не встанет и часть 1с-овских компонентов будет перезаписана стандартными из репозитория. Дальше рихтование конфига, установка локалей, установка прав доступа на каталог 1с – все это создает дополнительные трудности. И как мне кажется, если сейчас забросить работу с 1с, и вернуться к ней года этак через два-три, то все останется на своих местах, будет все таже завсегдатая куча примочек и фенечек ;)

misc/1c-on-ubuntu.txt · Последние изменения: Thu, 26 Sep 2013 18:12 (внешнее изменение)