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

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Новая страница: «=Описание= OCS-Inventory - клиент-серверное ПО, позволяющее собирать информацию о компьютерах п…»)
 
(Подготовка MySQL)
 
(не показано 18 промежуточных версий этого же участника)
Строка 19: Строка 19:
  
 
  aptitude install ocsinventory-server ocsinventory-reports
 
  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 пользователя  
 
Создаем в MySQL пользователя  
Строка 24: Строка 36:
 
с паролем
 
с паролем
 
  qwerty
 
  qwerty
и создаем для пользователя данного пользователя базу данных
+
и создаем для данного пользователя базу данных
 
  ocsweb
 
  ocsweb
  
 
'''Примечание:''' если вы устанавливаете систему впервые, сделайте именно такие логин/пароль/базу данных - тут есть нюансы. Впрочем, пароль можно другой.
 
'''Примечание:''' если вы устанавливаете систему впервые, сделайте именно такие логин/пароль/базу данных - тут есть нюансы. Впрочем, пароль можно другой.
  
 +
==Настройка системы из браузера==
 
далее шагаем браузером по адресу  
 
далее шагаем браузером по адресу  
  
Строка 42: Строка 55:
 
Нажимаем  
 
Нажимаем  
 
  Send
 
  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
 +
 +
Второе говорит о том, что <s>в вебинтерфейс сможет попасть любой дурак</s> пароль у пользователя admin нужно поменять.
 +
Это делается на вкладке "Пользователь" - морда на желтом фоне, горизонтальное меню, третий кружочек справа.
 +
 +
Если все сделано правильно, то после перезагрузки страницы (F5) секъюрити-алерты должны исчезнуть.
 +
 +
==Проверяем работу SOAP интерфейса==
 +
Заходим по адресу
 +
http://хост_установки/ocsinventory
 +
 +
И видим надпись
 +
<pre>
 +
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.
 +
</pre>
 +
 +
===Это грабля номер раз===
 +
 +
Открываем файл /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 должна быть такая страница:
 +
 +
<pre>
 +
Bad Request
 +
 +
Your browser sent a request that this server could not understand
 +
</pre>
 +
 +
Но это нормальный ответ от сервера, если только в логах апача исчезла надпись похожая на
 +
Can't load SOAP::Transport::HTTP* - Web service will be unavailable
  
 
=Установка клиента (агента)=
 
=Установка клиента (агента)=
  
 +
==Простая установка==
 
  aptitude install ocsinventory-agent
 
  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
 +
при условии что предыдущие шаги выполнены без ошибок...

Текущая версия на 23:16, 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

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

[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

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