Последнее время отвечая на комментарии в теме “Установка сервера 1с предприятия” замечаю что 90% ошибок повторяются из раза в раз, причем ошибки в основном связаны либо с невнимательностью, либо с установкой на платформу отличную от указанной в статье. Этот раздел посвящен именно ошибкам которые возникают во время установки и настройки сервера 1с предприятия и его компонентов.
В качестве эпиграфа приведу один из комментариев к статье “Установка сервера 1с предприятия на Fedora 12.”
“Я делаю все по статье, но прямо с первых строк ошибки, rpm – команда не найдена. Что я делаю не так? Ох уж эта 1с – как бубном была, так бубном и осталась. PS: У меня Ubuntu”
1. Ошибка при запуске config_server
Проблема возникает на операционных системах с архитектурой x86_64 из-за отсутствия 32-х битного пакета glibc.
[root@srv1c utils]# ./config_server /usr/share/fonts/microsoft-core/ ls: cannot access /lib/libc-*.so: No such file or directory
Решение:
[root@srv1c utils]# yum install glibc.i686
2. Не запустился сервер 1с предприятия
После завершения установки сервер 1с предприятия сообщил о том что запустился, но не работает:
[root@1csrv ~]# rpm -i 1C_Enterprise82-common-8.2.14-528.x86_64.rpm 1C_Enterprise82-server-8.2.14-528.x86_64.rpm Starting 1C:Enterprise 8.2 server: OK
При попытке остановить пишет:
[root@1csrv ~]# service srv1cv82 stop Stopping 1C:Enterprise 8.2 server: Warning: server not running!
1. Проверяем какие порты слушает сервер 1с предприятия
При правильно функционирующем сервере с настройками по-умолчанию: ragent (агент сервера) должен слушать порты 1540 и 1561; rmngr (менеджер сервера) - порты 1541 и 1560; rphost (рабочий процесс) – порты 1562 и 1563. Проверяем:
[root@1csrv ~]# netstat -tlnp | grep :15 tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 1508/rmngr tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 1508/rmngr
Если в результате проверки получилось что работает только rmngr (менеджер сервера), значит при установке были не правильно созданы конфигурационные файлы и мы можем переходить к п.2.
2. Проверяем selinux
Сервер 1с предприятия вполне может работать при включенным SELinux c политикой targeted в запрещающем режиме Enforcing, однако в некоторых комбинациях он может вызвать проблему при запуске ragent (агента сервера 1с). Проверяем:
[root@1csrv ~]# getenforce Enforcing
Открываем для редактирования /etc/sysconfig/selinux и меняем параметр SELINUX на disabled или permissive.
SELINUX=disabled
Перезагружаем сервер.
3. Разрешение имен hostname и hosts
Для работы сервера 1с предприятия очень важно что бы его имя правильно преобразовывалось в IP. По хорошему мы должны иметь возможность с любого хоста в сети разрешить FQDN и краткое имя сервера, но просто для запуска нам достаточно, что бы имя хоста разрешалось в пределах только самого сервера.
Смотрим какой у нас hostname, если hostname получился похожим на localhost.localdomain обязательно меняем его в файле /etc/sysconfig/network на FQDN-имя сервера, после перезагружаем систему.
[root@1csrv ~]# hostname 1csrv.mydomain.local
Просматриваем содержимое файла /etc/hosts, если видим что-то похожее – можно сразу начинать править.
[root@1csrv ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Для сервера с именем 1csrv.mydomain.local файл hosts должен выглядеть следующим побразом.
[root@1csrv ~]# cat /etc/hosts 127.0.0.1 localhost 192.168.20.164 1csrv.mydomain.local 1csrv
При этом 192.168.20.164 – адрес нашего сервера.
4. Пересоздаем конфигурацию по умолчанию
Если сервер 1с предприятия при запуске не находит свои конфигурационные файлы srvribrg.lst и 1CV8Reg.lst – он создает их заново. Этим мы и воспользуемся, чтобы сгладить проблемы возникшие при установке. Останавливаем сервер 1с предприятия:
[root@1csrv ~]# service srv1cv82 stop Stopping 1C:Enterprise 8.2 server: Warning: server not running! OK
Удаляем конфигурационные файлы:
[root@1csrv ~]# rm -f /home/usr1cv82/.1cv82/1C/1Cv82/srvribrg.lst [root@1csrv ~]# rm -f /home/usr1cv82/.1cv82/1C/1Cv82/reg_1541/1CV8Reg.lst
Запускаем:
[root@1csrv ~]# service srv1cv82 start Starting 1C:Enterprise 8.2 server: OK
Проверяем работоспособность:
[root@1csrv ~]# netstat -tlnp | grep :15 tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 1508/rmngr tcp 0 0 0.0.0.0:1561 0.0.0.0:* LISTEN 1658/ragent tcp 0 0 0.0.0.0:1562 0.0.0.0:* LISTEN 1665/rphost tcp 0 0 0.0.0.0:1563 0.0.0.0:* LISTEN 1665/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 1658/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 1508/rmngr
Если мы видим вывод подобный приведенному выше, значит все отлично сервер 1с предприятия запустился и работает.
3. Не могу подключиться к серверу 1с предприятия.
При попытке соединиться с сервером через консоль “Администрирование серверов 1с-предприятия” появляется “Ошибка соединения с сервером 1с предприятия 8.2: server_addr=tcp//1csrv.mydomain.local descr=Ошибка сетевого доступа к серверу”.
1. Проверяем сетевое соединение с сервером. С компьютера где установлена консоль управления запускаем “ping 1csrv.mydomain.local”, если пинги ходят значит переходим к следующему пункту.
2. Проверяем работает ли сервер 1с предприятия. Для этого на сервере выполняем следующую комманду:
[root@1csrv ~]# netstat -tlnp | grep :15 tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 1508/rmngr tcp 0 0 0.0.0.0:1561 0.0.0.0:* LISTEN 1658/ragent tcp 0 0 0.0.0.0:1562 0.0.0.0:* LISTEN 1665/rphost tcp 0 0 0.0.0.0:1563 0.0.0.0:* LISTEN 1665/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 1658/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 1508/rmngr
Если мы получили другой результат – значит сервер 1с предприятия не работает или работает не правильно и нам нужно обратиться к 2-ой части этого манула “Не запустился сервер 1с предприятия”.
3. Настройка Iptables. Сервер 1с предприятия в большинстве случаев находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности. Отключаем iptables:
[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 ]
Для тех кто все-таки хочет заморочиться с правильной настройкой.
Консоли администрирования нужен доступ к агенту сервера (ragent) по порту 1540, а для создания базы понадобится еще и доступ к рабочим процессам по портам 1562-1591. Толстому клиенту нужен доступ к менеджеру сервера (rmngr) по порту 1541 и рабочим процессам порты 1562-1591.
Остальное зависит только от вашей фантазии. Для стандартно настроенного файрвола в CentOS набор разрешающих правили будет выглядеть приближенно так:
[root@1csrv ~]# iptables -t filter -I INPUT -p tcp --dport 1562:1591 -j ACCEPT [root@1csrv ~]# iptables -t filter -I INPUT -p tcp --dport 1540 -j ACCEPT [root@1csrv ~]# iptables -t filter -I INPUT -p tcp --dport 1541 -j ACCEPT [root@1csrv ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
4. Postgesql – DATABASE не пригоден для использования
При создании базы данных через консоль администрирования, появляется сначала ошибка mvchar или fasttrun, а затем окно с ошибкой “DATABASE не пригоден для использования”.
1. Проверяем установлен ли potgresql-contrib. Для этого запрашиваем список установленных пакетов PostgreSQL:
[root@1csrv ~]# rpm -qa | grep postgresql postgresql-libs-9.0.3-3.1C.x86_64 postgresql-server-9.0.3-3.1C.x86_64 postgresql-9.0.3-3.1C.x86_64
Если в списке не нет postgresql-contrib – устанавливаем его из установочной директории и перезапускаем PostgreSQL:
[root@1csrv x86_64]# rpm -i postgresql-contrib-9.0.3-3.1C.x86_64.rpm [root@1csrv x86_64]# service postgresql restart Stopping postgresql service: [ OK ] Starting postgresql service: [ OK ]
2. Проверяем пакеты libicu. Не редко PostgreSQL собирают на одной машине, а устанавливают потом на другую – жесткой зависимости от пакетов licicu нет, отсюда и ошибки. Запрашиваем список пакетов icu:
[root@1csrv ~]# rpm -qa | grep icu icu-4.2.1-9.el6.x86_64 libicu-4.2.1-9.el6.x86_64
Если не находим в выводе icu и libicu, устанавливаем их.
[root@1csrv ~]# yum install icu libicu
3. Ссылки на libicu. Наверное самый наболевший в этой теме вопрос, операционных систем много, версий библиотек еще больше – и ссылки для каждого случая свои. Смотрим где лежат библиотеки, установленные в пакете libicu:
[root@1csrv ~]# rpm -ql libicu | egrep '(icudata|icui18|icuuc)' /usr/lib64/libicudata.so.42 /usr/lib64/libicudata.so.42.1 /usr/lib64/libicui18n.so.42 /usr/lib64/libicui18n.so.42.1 /usr/lib64/libicuuc.so.42 /usr/lib64/libicuuc.so.42.1
Делаем соответствующие ссылки
[root@1csrv ~]# ln -s /usr/lib64/libicui18n.so.42 /usr/local/lib64/libicui18n.so.46 [root@1csrv ~]# ln -s /usr/lib64/libicudata.so.42 /usr/local/lib64/libicudata.so.46 [root@1csrv ~]# ln -s /usr/lib64/libicuuc.so.42 /usr/local/lib64/libicuuc.so.46
4. Удаление базы. Итак мы проделали все вышеперечисленные процедуры, но ошибка “DATABASE не пригоден для использования” все-равно появляется. Это связано с тем что базу мы уже создали использования пакетов contrib и libicu, и 1с не может с ней работать. Запрашиваем список баз и удаляем испорченную.
[root@1csrv x86_64]# su postgres bash-4.1$ psql -l List of databases Name | Owner | Encoding | Collation | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- basa1 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | postgres | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | template0 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) bash-4.1$ dropdb basa1 bash-4.1$ exit exit
Заключение.
Этот раздел создан что бы упростить жизнь тем кто сталкивается с проблемами при установке 1с предприятие под Linux. Если вы хотите дополнить или к примеру вашей неполадки не оказалось в статье пишите на форум в теме “Настройка 1с предприятия 8.2 под Linux”.
Нет комментариев : “1c предприятие 8.2 – Troubleshooting”
Трекбеки/Пинги