Комментарии

Галерея

Опрос

Из каких стран идет больше всего спама, попыток взлома на ваши серверы?:

OCS Inventory Server & Agent. Ошибка 500 Internal Server Error

Аватар пользователя maximum
     

Столкнулся с проблемой запуска ocsinventory-agent и ocsinventory-server. Архивы брал с официального сайта: http://www.ocsinventory-ng.org/en/download/
Краткая суть проблемы:
1. Ставим server (sh setup.sh)
2. Запускаем инсталляцию ocs-server (http://localhost/ocsreports)
3. Ставим agent (perl Makefile.PL && make && make install)
Получаем:

Activating modules if needed...
Launching OCS Inventory NG Unix Unified agent...
   -> Failed!
You may want to launch the agent with the --verbose or --debug flag.
New settings written! Thank you for using OCS Inventory

В логах apache:

[Tue Jun 04 12:15:22 2013] [notice] Apache/2.2.16 (Debian) PHP/5.3.3-7+squeeze15 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Tue Jun 04 12:18:37 2013] [error] [client 127.0.0.1] Can't call method "do" on an undefined value at /usr/local/share/perl/5.10.1/Apache/Ocsinventory/Server/System.pm line 177.\n

В логах ocs-server:
[error] Cannot establish communication : 500 Internal Server Error
В чем проблема:
При инсталляции ocs-server создается конфигурационный файл /etc/apache2/conf.d/z-ocsinventory-server.conf в котором хранятся данные для подключения к базе данных ocsweb, собственно эти данные должны сохраняться во время инсталляции через web-интерфейс, но почему-то не сохраняются.
Решение:
открываем /etc/apache2/conf.d/z-ocsinventory-server.conf, ищем блок и приводим его в нужный нам вид:

 # Master Database settings
  # Replace localhost by hostname or ip of MySQL server for WRITE
  PerlSetEnv OCS_DB_HOST localhost
  # Replace 3306 by port where running MySQL server, generally 3306
  PerlSetEnv OCS_DB_PORT 3306
  # Name of database
  PerlSetEnv OCS_DB_NAME ocsweb
  PerlSetEnv OCS_DB_LOCAL ocsweb
  # User allowed to connect to database
  PerlSetEnv OCS_DB_USER ocs -- заменяем на нашего пользователя базы данных, которого указывали при инсталляции ocs-server 
  # Password for user
  PerlSetVar OCS_DB_PWD ocs -- заменяем на пароль пользователя базы данных.

Перезапускаем apache
Запускаем ocsinventory-agent

Спасибо !