Перед установкой пакетов 1С и PostgreSQL, настроим некоторые системные параметры, необходимые для дальнейшего функционирования PostgreSQL и сервера 1С.
#vi /etc/sysconfig/network
внесем такие изменения:
NETWORKING=yes
HOSTNAME=1cv83.Domain.loc (где Domain.loc — доменное имя)
сохраняем и выходим
:wq
#vi /etc/hosts
нужно добавить следующее:
192.168.1.140 1cv83.Domain.loc 1C
где 192.168.1.140 — это ip-адрес вашего сервера 1С (это необходимо для того, чтобы имя сервера однозначно разрешалось в его ip-адрес)
Заметка
На клиентских компьютерах, необходимо такое же однозначное разрешение имя в ip-адрес, поэтому на каждой клиентской машине необходимо добавить такую запись или настроить внутренний DNS сервер (что более предпочтительно).
Проверим размер рабочей памяти в системе и, если необходимо, увеличим его (этот параметр необходим для нормальной работы PostgreSQL):
# cat /proc/sys/kernel/shmmax
изменим этот параметр в файле /etc/sysctl.conf на kernel.shmmax и обновим параметры sysctl:
# sysctl -p
либо
# echo 1073741824 >> /proc/sys/kernel/shmmax
Отключим iptables, хотя бы на время запуска и настройки сервера
# /etc/init.d/iptables stop
# chkconfig iptables off
# /etc/init.d/ip6tables stop
# chkconfig ip6tables off
Отключаем SELinux (в локальной сети он не нужен IMHO) в файле /etc/sysconfig/selinux ставим SELINUX=disabled. Но так как это изменение вступит в силу только после перезагрузки, то проделаем еще одну операция выключения, чтоб не перегружаться:
# setenforce 0
Настройка брэндмауера service iptables stop && chkconfig iptables off
Установка PostgreSQL
Начиная с версии 8.1 1С официально поддерживает работу с СУБД PostgreSQL, однако в чистом виде PostgreSQL с 1С не работает. На сайте 1С представлены патчи для PostgreSQL, а также исходные коды в виде src.rpm для сборки пакетов на rpm-based системах (при желании можно собрать и в deb-based системах). Можно воспользоваться еще двумя способами — зарегистрированным пользmcователям можно скачать готовые rpm пакеты с сайта 1C(или с диска ИТС) или воспользоваться готовой сборкой со всеми патчами от компании Etersoft (есть готовые пакеты для множества дистрибутивов). Мы воспользуемся вариантом от компании Etersoft.
Скачиваем все пакеты для нужного дистрибутива в определенный каталог (создадим, например, /root/install), переходим в него и устанавливаем все скачанные пакеты:
# mkdir /root/install
# cd /root/install
# wget ftp://updates.etersoft.ru/pub/Etersoft/Postgre@Etersoft/stable/x86_64/CentOS/6/*
# yum localinstall —nogpgcheck *.rpm
и инициализируем базу:
# su postgres
bash-4.1$ initdb -D /var/lib/pgsql/data —locale=ru_RU.UTF-8
bash-4.1$ exit
(для Украины нужно с другой локалью —locale=uk_UA.UTF-8)
Стартуем PostgreSQL и добавляем его в автозагрузку:
# service postgresql start
# chkconfig postgresql on
Создаем пароль пользователю postgres:
# su postgres
bash-4.1$ psql
postgres=#
postgres=# ALTER USER postgres WITH PASSWORD ‘020345’;
postgres=# ALTER ROLE
postgres=# \q
bash-4.1$ exit
Сервер PostgreSQL находится /etc/lib/pgsql
Установка сервера 1С
Теперь приступим к установке пакетов 1С. Необходим следующий список пакетов(версии могут отличаться):
1C_Enterprise82-common-8.2.15-289.x86_64.rpm
1C_Enterprise82-common-nls-8.2.15-289.x86_64.rpm
1C_Enterprise82-server-8.2.15-289.x86_64.rpm
1C_Enterprise82-server-nls-8.2.15-289.x86_64.rpm
1C_Enterprise82-ws-8.2.15-289.x86_64.rpm
1C_Enterprise82-ws-nls-8.2.15-289.x86_64.rpm
Взять эти пакеты можно или с диска ИТС или скачать у с сайта 1С, если вы являетесь зарегистрированным пользователем системы 1С. Переходим в каталог, в который вы сложили эти пакеты и выполняем знакомую нам команду установки:
скачиваем с сайта перед этим с другого компа заходим на сайт 1с и авторизируемся под логином и паролем
wget http://downloads.v8.1c.ru/get/Info/Platform/8_3_4_437/rpm64.tar.gz
разархивируем и запускаем команду установки
# tar -xzvf rpm64.tar.gz
# yum localinstall —nogpgcheck *.rpm
Запустим и добавим в автозагрузку службу 1С:
# /etc/init.d/srv1cv83 start
# chkconfig srv1cv83 on
Веб-клиент можеmcт работать только в том случае, если 1С работает в режиме «управляемого приложения» и пользовательский интерфейс разработан с помощью концепции «управляемого интерфейса». Следует заметить, что этот функционал в версии 8.1 не реализован, поэтому совместимости нет.
Для нормального функционирования в «управляемом режиме» необходимы шрифты truetype от Microsoft. По лицензионным соображениям, в стандартных репозиториях пакета с нужными нам шрифтами нет, поэтому будем собирать пакет из исходников. Для этого установим несколько необходимых пакетов, подключив сторонний репозиторий atrpms(считаем, что репозиторий epel уже подключен):
#rpm -ivh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm
#rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#yum install xorg-x11-xfs chkfontpath ttf2pt1 unixODBC ImageMagick cabextract
Если вы ставите версию x86_64 и у вас выдаёт
ls: cannot access /lib/libc-*.so: No such file or directory
то поставим 32 битные либы glibc
Если скрип настройки говорит об отсутствии libglib-2.0, нужно создать символическую ссылку на него:
# ln -s /lib64/libglib-2.0.so.0 /usr/lib/libglib-2.0.so
Дело в том, что библиотека в системе есть, но скрипт настройки и сервер 1c ищет её в /usr/lib, или /usr/lib64 вместо /lib или /lib64.
Необходимо установить 32 битные библиотеки glibc:
# yum install glibc.i686
# ln -s /lib64/libglib-2.0.so.0 /usr/lib64/libglib-2.0.so
Установка шрифтов Microsoft в CentOS
Устанавливаем необходимые пакеты:
yum install rpm-build cabextract
Скачиваем спеки для сборки rpm-пакета:
#wget http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec
Собираем пакет:
#rpmbuild -ba msttcorefonts-2.0-1.spec
Устанавливаем его:
#rpm -ivh /usr/src/искать куда записана сборка/msttcorefonts-2.0-1.noarch.rpm
yum install msttcorefonts
Установка apche
Для установки Apache 2.2 необходимо добавить репозиторий:
# rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
Устанавливаем клиенскую библиотеку
# yum install libmysqlclient15 —enablerepo=webtatic
Теперь новый репозиторий доступен для инсталятора. Вы можете устанавливать современные пакеты как графической утилитой, так и в консоли
# yum install httpd
После инсталяции сервер httpd необходимо «поместить» в автозагрузку и запустить
# chkconfig —levels 235 httpd on
# service httpd start
Установка Веб-клиента 1c
На этом установку можно было бы считать законченной и пользоваться нативными клиентами из под Windows(ну или через wine). Но в версии 1С:Предприятие 8.2 появилась одна очень интересная возможность — веб клиент. Веб-клиент дает возможность работать в 1С прям из браузера, что дает множество преимуществ, в том числе и независимость от Windows (конфигуратор будет работать только из нативного клиента для Windows). Кстати, стоит сказать, что в браузере будет работать только интерфейс, созданный с помощью управляемых форм, но это уже удел программистов 1С :). Итак, приступим.
Считаем, что http сервер apache уже установлен, в противном случае установите его. Выполним публикацию веб-клиента с помощью специальной утилиты:
[root@server-1C ~]# cd /opt/1C/v8.3/x86_64/
серверная база
./webinst -apache22 -wsdir galaxy -dir ‘/var/www/html/galaxy/’ -connStr ‘Srvr=»1cv83″;Ref=»Trade2014″‘ -confPath /etc/httpd/conf/httpd.conf
или файловая база
./webinst -apache22 -wsdir base -dir ‘/var/www/html/base/’ -connStr ‘File=»/pub/kurs»‘ -confPath /etc/httpd/conf/httpd.conf
где
apache22 — публикация веб-клиента для сервера apache версии 2.2 (возможно еще 2.0)
-wsdir – имя алиаса веб-сервера для соединения с базой, в последствии мы будем обращаться к ней набирая в браузере http://адрес.сервера/base
•-dir – директория где будут располагаться файлы web-интерфейса 1с (точнее один файл default.vrd);
•-connStr – строка соединения с базой 1с предприятия;
•-confPath – расположение конфигурационного файла web-сервера apache.
Теперь переопределим владельца файла default.vrd, чтобы apache имел к нему доступ:
# chown apache:apache /var/www/html/galaxy/default.vrd
Если вылазиет line=1069 file=./src/DataExchangeCommon.cpp
то проблема В файл vi /etc/hosts я просто в /var/www/html/база клиента/default.vrd заменил имя сервера на IP
Заметка
Утилита config_server зависит от 32х битных библиотек (которые будут необходимо и для драйвера hasp), поэтому необходимо доустановить пакет glib2.i686.
Если вы устанавливаете (как в данном случае) или обновляетесь до платформы версии 8.2.15, то необходимо еще доустановить пакет glib2-devel.
Перезапустим службу сервера и на этом установка завершена.
Обновляем 1с
Обновляем Сервер 1С Centos:
Скачиваем новые rpm пакеты 1С (users.v8.1c.ru)
Обновляем 1С сервер (в той папке, куда скачали), переконфигурируем
#service srv1cv82 stop
#yum –nogpgcheck localinstall *.rpm
#cd /opt/1C/v8.2/x86_64/utils/
#./config_server
#service srv1cv82 start
Кому надо (как мне) – обновляем веб-публикацию
#cd /opt/1C/v8.2/x86_64/
#./webinst -apache22 -wsdir ut -dir /var/www/html/ut -connstr File=/ххх/ххх/1c/ххх_ut11 -confpath /etc/httpd/conf/httpd.conf
#service httpd restart
Postgres не трогал.
Проверено на:
Centos 6.2 Linux 2.6.32-220.17.1.el6.x86_64
1С:Предприятие 8.2 (8.2.15.301)->(8.2.15.317) (Linux Server)
Следующие изменения конфигурации существенно ускоряют проведение документов (2-8 раз, проводит даже быстрее чем MSSQL2008 (~1,5-2 раз) на том же железе) при условии если снять флажки «Разрешить разделение итогов» на всех регистрах накопления и бухгалтерских.
geqo_threshold = 20
from_collapse_limit = 2
join_collapse_limit = 2
в основном здесь влияет то что
from_collapse_limit
join_collapse_limit
меньше чем
geqo_threshold
Если часто и много меняется база (перепроведение, и т.д.) то полезно следующее для уменьшения времени отклика:
bgwriter_delay = 40ms
bgwriter_lru_maxpages = 20
Протестировал на своих серверах и на стандартных конфигурациях 1С (Бухгалтерия Проф, Торговля 10-11, ЗУП базовая и проф).