среда, 9 декабря 2009 г.

Установка сервера 1С:Предприятия плюс PostgreSQL на Fedora

http://ubelousov.blogspot.com/2008/10/1-postgresql-fedora-core-9.html
суббота, 4 октября 2008 г.
Установка сервера 1С:Предприятия плюс PostgreSQL на Fedora Core 9

Инструкция как поставить сервер 1С + PostgreSQL на линукс, в частности Fedora Core 9.

Почему я решил это написать?
Потому что, сам столкнулся с этой проблемой, так как необходимо перейти с сервера 2003 полностью на линукс.
В интернете много статей на эту тему, но везде кое что да упущено, а упущено именно самое главное. Поэтому, надеюсь, моя заметочка будет отличаться от остальных.

Почему именно линукс?
Лично у нас в организации необходимость состоит в том, что после перехода с 8.0 на 8.1 с базой происходят разные глюки, но и производительность линукс серверов повыше будет.

Вторая причина, это то что линукс и PostgreSQL они ж бесплатны и можно сэкономить на лицензии.

К делу
Сервер Fedora Core 9. Сервер установлен в только в режиме командной строки. Почему?
Потому что для таких целей графический интерфейс совершенно не нужен, да и на сервере нет видеокарты, да и не нужна она.



Скачиваем с сайта 1С под линукс, несколько rpm пакетов.
Устанавливаем их в следующем порядке

rpm -ivh 1C_Enterprise-common-8.1.12-101.i386.rpm
rpm -ivh 1C_Enterprise-common-nls-8.1.12-101.i386.rpm
rpm -ivh 1C_Enterprise-server-8.1.12-101.i386.rpm
rpm -ivh 1C_Enterprise-server-nls-8.1.12-101.i386.rpm


Есть еще пакеты от 1С, но их необязательно ставить без необходимости


Запустить сервер 1С можно командой
/etc/rc.d/init.d/srv1cv81 start
Чтобы создать кластер сервера необходимо на windows машине открыть консоль серверов 1С предприятия и там, введя ip адрес создать кластер серверов.

Далее интереснее, ставим PostgreSQL
Так же скачиваем с сайта 1С rpm пакеты postges.
Перед тем как ставить постгрес инеобходимо поставить следующие библиотеки

libtermcap-2.0.8-47.i386.rpm
readline-compat-4.3-307.i586.rpm
tcl-8.4.17-1.fc8.i386.rpm
Библиотека ICU http://icu-project.org/

Первые три в виде rpm пакетов, найти их не составит труда. Ввести в гугл название и первая же ссылка.
Установка библиотек

rpm -ivh --nodeps libtermcap-2.0.8-47.i386.rpm
rpm -ivh readline-compat-4.3-307.i586.rpm
tcl-8.4.17-1.fc8.i386.rpm


Библиотека icu ставиться так:
сначала распаковываем архив, а затем
переходим в папку icu/source
cd icu/source
пишем права
chmod +x runConfigureICU configure install-sh
Конфигурируем
./configure
Компилируем
gmake
и, наконец, инсталлируем
gmake install

Если не поставить эту библиотеку, то информационная база создаваться не будет!! Именно этого я не нашел ни на одном форуме, ни в одной статье!
Если СУБД поставлена до этой библиотеки, то можно ее поставить после, но базу придется инициализировать заново.

Теперь ставим PostgreSQL
Ставим в следующем порядке

rpm -ivh postgresql-libs-8.3.3-2.1C.i386.rpm
rpm -ivh postgresql-8.3.3-2.1C.i386.rpm
rpm -ivh postgresql-server-8.3.3-2.1C.i386.rpm
rpm -ivh postgresql-contrib-8.3.3-2.1C.i386.rpm

Далее инициализируем PostgreSQL командой
su - postgres -c 'initdb --locale=ru_RU.utf8 -D /var/lib/pgsql/data/'

Отключаем пароли на подключение к PostgresSQL, заменяя в файле /var/lib/pgsql/data/pg_hba.conf строку
host all all 0.0.0.0/0 md5

на

host all all 0.0.0.0/0 trust


Запускаем PostgresSQL
/sbin/service postgresql start

Подключаемся к PostgresSQL
psql -h localhost postgres postgres

меняем пароль пользователя postgres
ALTER USER postgres PASSWORD 'new_password';

И выходим
\q


Включаем пароли на подключение к PostgresSQL, заменяя в файле /var/lib/pgsql/data/pg_hba.conf строку
host all all 0.0.0.0/0 trust

на

host all all 0.0.0.0/0 md5

Перезапускаем PostgresSQL
/sbin/service postgresql restart

Собственно на этом все. надо еще посмотреть на счет фаервола в линуксе, т.к. он блокирует доступ.
Отключается он так
/etc/init.d/iptables stop

Далее открываем консоль серверов 1С предприятия на виндовой машине, создаем кластер сервера 1С:Предприятия и создаем инф. базу. Базу данных создавать только средствами консоли серверов, т.к. если создавать базу данных средствами PostgreSQL, то база будет не пригодна.

И еще одно. Процесс сервера 1С на линуксе имеет имя localhost.localdomain, сдедовательно в файле hosts в windows необходимо написать запись для этого
Например,
172.*.*.* fedora9_1C localhost.localdomain


Вот собственно и все, надеюсь это вам поможет, т.к. на многих сайтах кучи похожих статей, но таких подробностей, которые я постарался описать там нет.