Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Установка 1с 8.2 и PostgreSQL 9.0.3 на CentOS 6

В очередной раз возвращаюсь к установке и настройке связки сервера 1с предприятия и PostgreSQL под Linux. Несколько месяцев назад вышел новый релиз CentOS 6, а немного ранее фирма 1с выложила на своем сайте попаченные исходники PostgreSQL 9.0.3. Меня очень порадовало, что версию 9.0.3 неплохо подточили под установку на Fedora/RHEL/CentOS и в ней уже нет необходимости править init-скрипты и spec-файлы.

В статье используются CentOS 6.0 x64, PostgreSQL 9.0.3, 1с Предприятие 8.2.14.528.

 

1. Сборка и настройка PostgreSQL 9.0.3

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

[root@1csrv ~]# yum install rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make icu libicu libicu-devel

Загружаем с сайта 1с и устанавливаем исходники PostgreSQL 9.0.3:

[root@1csrv ~]# wget http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.rpm
[root@1csrv ~]# rpm -ihv postgresql-9.0.3-3.1C.src.rpm
1:postgresql             ########################################### [100%]

Открываем для редактирования файл /usr/lib/rpm/macros и меняем в нем уровень подгона пачей _default_patch_fuzz на 2. Раньше подобные действия приходилось делать только на Fedora 12 и выше, при сборке софта не поддерживающего обработку пачей новыми скриптами, а начиная с 6-ой версии новые скрипты пришли и в CentOS.

%_default_patch_fuzz    2

Создаем символические ссылки на библиотеки libicu:

[root@1csrv ~]# ln -s /usr/lib64/libicui18n.so /usr/local/lib64/libicui18n.so.46
[root@1csrv ~]# ln -s /usr/lib64/libicudata.so /usr/local/lib64/libicudata.so.46
[root@1csrv ~]# ln -s /usr/lib64/libicuuc.so /usr/local/lib64/libicuuc.so.46

Переходим к сборке PostgreSQL. Установкой параметра 'runselftest 0' мы отказываемся от инициализации тестовой базы и проверки работоспособности PosgreSQL во время сборки, для того что бы тестирование прошло успешно его нужно выполнять из-под ограниченного пользователя, иначе процесс сборки будет остановлен.

[root@1csrv ~]# rpmbuild -bb --define 'runselftest 0' ~/rpmbuild/SPECS/postgresql-9.0-1C.spec

Просмотрим список собранных RPM-пакетов:

[root@1csrv ~]# ls -1 ~/rpmbuild/RPMS/x86_64
postgresql-9.0.3-3.1C.x86_64.rpm
postgresql-contrib-9.0.3-3.1C.x86_64.rpm
postgresql-devel-9.0.3-3.1C.x86_64.rpm
postgresql-docs-9.0.3-3.1C.x86_64.rpm
postgresql-libs-9.0.3-3.1C.x86_64.rpm
postgresql-server-9.0.3-3.1C.x86_64.rpm
postgresql-test-9.0.3-3.1C.x86_64.rpm

Совсем необязательно их все устанавливать, для норамальной работы PostgreSQL волне достаточно 4-х postgresql, postgresql-contrib, postgresql-libs и postgresql-server. Переходим в директорию /root/rpmbuild/RPMS/x86_64 и устанавливаем пакеты.

[root@1csrv ~]# cd ~/rpmbuild/RPMS/x86_64
[root@1csrv x86_64]# rpm -ihv postgresql-9.0.3-3.1C.x86_64.rpm postgresql-server-9.0.3-3.1C.x86_64.rpm \
   postgresql-libs-9.0.3-3.1C.x86_64.rpm postgresql-contrib-9.0.3-3.1C.x86_64.rpm
Preparing...                ########################################### [100%]
   1:postgresql-libs        ########################################### [ 25%]
   2:postgresql             ########################################### [ 50%]
   3:postgresql-server      ########################################### [ 75%]
   4:postgresql-contrib     ########################################### [100%]
[root@1csrv x86_64]# cd ~

Инициализируем базу данных

[root@localhost ~]# su postgres -c '/usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8'
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
 
The database cluster will be initialized with locale ru_RU.UTF-8.
The default database encoding has accordingly been set to UTF8.
 
...................
 
Success. You can now start the database server using:
 
    /usr/pgsql/bin/postgres -D /var/lib/pgsql/data
or
    /usr/pgsql/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start

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

[root@1csrv ~]# chkconfig postgresql on
[root@1csrv ~]# service postgresql start
Starting postgresql service:                               [  OK  ]

Задаем пароль для пользователя postgres:

[root@localhost ~]# psql -U postgres -c "ALTER USER postgres PASSWORD 'password'"
ALTER ROLE

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

Установка не представляет из себя ничего интересного - обычная установка RPM-пакетов, после которой сервер 1с предприятия сам создаст себе базовую конфигурацию и запустится. Я хочу рассмотреть этот процесс немого подробнее, потому что не смотря на видимую простоту, ошибки все-таки встречаются.

Первое - имя нашего сервера должно без проблем разрешаться в IP-адрес. В файле /etc/sysconfig/network проверяем значение параметра hostname (имя севера), при необходимости меняем, что бы новые параметры вступили в силу нужно перезапустить систему.

[root@1сsrv ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=1csrv.mydomain.local

В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера в нем должно быть прописано четкое соответствие IP-адрес сервера - FQDN имя - короткое имя. Пример правильного файла hosts:

[root@localhost x86_64]# cat /etc/hosts
127.0.0.1   localhost
192.168.1.11 1csrv.mydomain.local 1csrv

Второе - на файрволе не должно быть правил запрещающих взаимодействие между собой компонентов 1с предприятия. В большинстве случаев сервер 1с предприятия находится в пределах локальной сети, поэтому мы вполне может отключить файрвол (хотя бы на время пуско-наладки).

[root@1csrv ~]# chkconfig iptables off
[root@1csrv ~]# service iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]

Третье - отключаем SELinux. 1С Предприятие вполне может работать на CentOS 6 при использовании политики безопасности Targeted в режиме Enforcing, ранее же на Fedora 14/15 и СentOS 5 включенный SELinux был причиной ошибки Segmentation Fault. Кроме того, плюсы от использования SELinux на высоко-нагруженном сервере находящемся в пределах локальной сети выглядят крайне туманно.

Проверяем в каком режиме работает SELinux;

[root@1csrv ~]# getenforce
Enforcing

Открываем для редактирования файл /etc/sysconfig/selinux и задаем значение:

SELINUX=disabled

Перезагружаем систему.

Теперь можно с полной уверенностью устанавливать сервер 1с предприятия:

[root@1csrv rpm64]# rpm -ihv 1C_Enterprise82-common-8.2.14-528.x86_64.rpm 1C_Enterprise82-server-8.2.14-528.x86_64.rpm
Preparing...                ########################################### [100%]
1:1C_Enterprise82-common ########################################### [ 50%]
2:1C_Enterprise82-server ########################################### [100%]
Starting 1C:Enterprise 8.2 server: OK

Все, остается подключиться через MMC-консоль "Администрирование серверов 1с предприятия" и создать базы данных.


Иcтoчник
      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP