OCS-Inventory Checklist
Описание
OCS-Inventory - клиент-серверное ПО, позволяющее собирать информацию о компьютерах по сети.
Есть клиентская часть - ocsinventory-agent
Есть серверная часть - ocsinventory-server
Есть вебинтерфейс - ocsinventory-reports
В убунте есть все эти пакеты
# aptitude search ocsinventory i ocsinventory-agent - Hardware and software inventory tool (client) i ocsinventory-reports - Hardware and software inventory tool (Administration Console) i ocsinventory-server - Hardware and software inventory tool (Communication Server)
Установка сервера и вебинтерфейса
aptitude install ocsinventory-server ocsinventory-reports
Подготовка MySQL
В файле
/etc/mysql/my.cnf
выставляем параметры
[client] default-character-set = utf8 default-collation = utf8_general_ci
перезагружаем mysql
service mysql restart
Создаем в MySQL пользователя
ocs
с паролем
qwerty
и создаем для данного пользователя базу данных
ocsweb
Примечание: если вы устанавливаете систему впервые, сделайте именно такие логин/пароль/базу данных - тут есть нюансы. Впрочем, пароль можно другой.
Настройка системы из браузера
далее шагаем браузером по адресу
http://хост_установки/ocsreports
Вводим в форму данные:
MySQL login: ocs MySQL password: qwerty Name of Database: ocsweb MySQL HostName: localhost
Нажимаем
Send
Потом жмем
Отправить
Далее переходим по ссылке в окно входа в вебинтерфейс, жмем флаг страны и вводим
login: admin password: admin
Делаем систему секъюрной
После этого мы попадаем в вебинтерфейс и видим секъюрити-предупреждения
SECURITY ALERT! The install.php exists in ocsreports directory The default login/password is activate on OCS GUI
Первое говорит о том что файл install.php нужно удалить из директории /usr/share/ocsinventory-reports/, т.е.:
rm /usr/share/ocsinventory-reports/install.php
Второе говорит о том, что в вебинтерфейс сможет попасть любой дурак пароль у пользователя admin нужно поменять.
Это делается на вкладке "Пользователь" - морда на желтом фоне, горизонтальное меню, третий кружочек справа.
Если все сделано правильно, то после перезагрузки страницы (F5) секъюрити-алерты должны исчезнуть.
Проверяем работу SOAP интерфейса
Заходим по адресу
http://хост_установки/ocsinventory
И видим надпись
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log.
Это грабля номер раз
Открываем файл /etc/apache2/conf.d/ocsinventory.conf:
nano /etc/apache2/conf.d/ocsinventory.conf
находим там строку
# Master Database settings
ниже есть несколько параметров, которые необходимо настроить в соответствии с нашими настройками MySQL. Приводим данные параметры к следующему виду:
PerlSetEnv OCS_DB_HOST localhost PerlSetEnv OCS_DB_PORT 3306 PerlSetEnv OCS_DB_NAME ocsweb PerlSetEnv OCS_DB_LOCAL ocsweb PerlSetEnv OCS_DB_USER ocs PerlSetVar OCS_DB_PWD qwerty
далее находим строку
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
и заменяем её на
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 1
затем перезапускаем apache2
service apache2 restart
После перезагрузки в /var/log/apache2/error.log скорее всего можно будет наблюдать надпись типа:
Can't load SOAP::Transport::HTTP* - Web service will be unavailable
Это говорит о том что не установлен перловый SOAP модуль для apache2.
Это грабля номер два
Из множества описанных в интернете способов у меня заработал этот. Устанавливаем пакеты libapache2-mod-perl2-dev и libsoap-lite-perl
aptitude install libapache2-mod-perl2-dev libsoap-lite-perl
Скачиваем исходники SOPA-модуля
wget http://search.cpan.org/CPAN/authors/id/R/RK/RKOBES/Apache2-SOAP-0.73.tar.gz
Распаковываем
tar -xzf Apache2-SOAP-0.73.tar.gz
Заходим
cd Apache2-SOAP-0.73
Собираем и устанавливаем
perl Makefile.PL make make install
Перезапускаем apache2
service apache2 restart
Теперь при переходе по адресу http://хост_установки/ocsinventory должна быть такая страница:
Bad Request Your browser sent a request that this server could not understand
Но это нормальный ответ от сервера, если только в логах апача исчезла надпись похожая на
Can't load SOAP::Transport::HTTP* - Web service will be unavailable
Установка клиента (агента)
Простая установка
aptitude install ocsinventory-agent
Метод генерации описи
http
Имя хоста сервера OCS Inventory:
ip_address_or_domain_name
Метка для создаваемой описи:
имя_которое_этот_клиент_будет_иметь_в_базе_на_сервере
Генерация конфиг-файла для большого кол-ва машин
Если ip-адрес сервера OSC-Inventory равен 192.168.10.1, то для установки и настройки клиента(клиентов) на него необходимо на каждом клиенте выполнить простую установку с методом генерации описи=http и любыми остальными параметрами, затем выполнить команды:
cp /etc/ocsinventory/ocsinventory-agent.cfg /etc/ocsinventory/ocsinventory-agent.cfg.bkp echo "server=192.168.10.1" > /etc/ocsinventory/ocsinventory-agent.cfg echo "tag=`hostname`" >> /etc/ocsinventory/ocsinventory-agent.cfg
Заставить агента отправить информацию на сервер
Просто выполнить команду
ocsinventory-agent
при условии что предыдущие шаги выполнены без ошибок...