Все о Linux. LinuxRSP.Ru
Альт Линукс СПТ 6.0 Сертификат ФСТЭК

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


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

В GIMP наконец-то появилась обработка с точностью 16 и 32 разряда на канал

В одном окне: GIMP 2.8

Релиз OpenBSD 5.1

HTML-редактор: BlueGriffon 1.5

Релиз Xfce 4.10

Команда Chromium представила кластер для автоматизации выявления уязвимостей

В Microsoft Office 15 будет обеспечена поддержка формата ODF 1.2

Анонсирован новый свободный анимационный фильм Tube

Обновление ядра: Linux 3.0.29, 3.2.16, 3.3.3

Представлен OpenSSH 6.0

Релиз графического редактора Pinta 1.2, претендующего на роль аналога Paint.NET

Вышел Firefox 12

Google прекращает поддержку Linux-версии приложения Picasa

Эмулятор приставок: Mednafen 0.9.21-wip

Линус Торвальдс получил премию Millennium Technology Prize 2012

Canonical не заинтересована в участии в разработке ядра Linux

Распределенные вычисления: BOINC 7.0

Google

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

Передача снапшота ZFS по сети

Правила хорошего тона: SSH

Некоторые рассуждения о защите от ddos на примере защиты от SSL denial of service attack

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост. Быстро NAT'им порты. rinetd.

NAT'им отдельные порты или "а что делать, если мой веб-сервер внезапно переехал на другую машину". Проброс портов в локалке на шлюзе наружу.

Как справляться с запланированной недоступностью веб-сайта

Архитектура Google 2011

Мониторинг Nginx с помощью MRTG

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

25 правил .htaccess, которые должен знать каждый web-разработчик

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Краткое руководство по GNOME Shell в Ubuntu 11.10

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

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 

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

1c:Предприятие 8.2 - Troubleshooting

Последнее время отвечая на комментарии в теме "Установка сервера 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 не пригоден для использования".
Ошибка создания информационной базы, 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. Если вы хотите дополнить или к примеру вашей неполадки не оказалось в статье пишите на форум Системное администрирование .


Иcтoчник
      

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


Реклама: