OCS-Inventory Checklist: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Заставить клиента отправить информацию на сервер)
(Подготовка MySQL)
Строка 21: Строка 21:
  
 
==Подготовка MySQL==
 
==Подготовка MySQL==
 +
 +
В файле
 +
/etc/mysql/my.cnf
 +
выставляем параметры
 +
default-character-set  = utf8 
 +
default-collation      = utf8_general_ci
 +
 +
перезагружаем mysql
 +
service mysql restart
 +
 
Создаем в MySQL пользователя  
 
Создаем в MySQL пользователя  
 
  ocs
 
  ocs

Версия 23:11, 17 августа 2013

Описание

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

выставляем параметры

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

при условии что предыдущие шаги выполнены без ошибок...