Потребовалось на работе реализовать систему учета техники и т.п.
Была выбрана для тестирования «OCS Inventory». В качестве ОС была выбрана Ubuntu Server 14.04.
На момент написания статьи использовались следующие версии ПО и ОС:
OCS Inventory (Server): OCSNG_UNIX_SERVER-2.2.1
Ubuntu Server: Ubuntu 14.04.5 LTS x86_64
OCS Inventory (Agent Windows\Linux): OCS Inventory NG Agent 2.1.1.3
Клиентскую и серверную часть скачал с офф. сайта. Потребовалось ввести Имя, Фамилию и адрес электронной почты.
В конце есть ссылка на скачивание, если не хочется качать с офф.сайта.
Подготовка ОС:
1) обновление кэша пакетов и обновление самой ОС (здесь сразу с подтверждением обновления)
1 | sudo apt-get update && sudo apt-get upgrade -y |
еще обычно сразу ставлю sudo apt-get install mc htop aptitude
По желанию потом:
1 | sudo reboot |
2) установка apache2, mysql, php, make, git:
1 | sudo aptitude install apache2 mysql-server php php-soap php-xml libapache2-mod-php make git |
В процессе установки потребуется указать пароль для пользователя root в mysql.
make нужен для OCS-Inventory. Он в процессе установки будет его искать.
3) установка доп. ПО:
1 | sudo aptitude install libapache2-mod-perl2 libxml-simple-perl libcompress-zlib-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libdbd-mysql-perl |
1 | sudo aptitude install libc6-dev |
Далее, выполнить команды:
1 | cpan -i XML::Entities |
1 | cpan -i Compress::Zlib |
1 | cpan -i SOAP |
1 | cpan SOAP::Lite |
При установке XML на оба вопроса ответить yes.
Примечание:
Что бы не ставить apache, mysql и php вручную, можно воспользоваться такой командой:
1 | sudo tasksel |
в списке выбрать LAMP-сервер. В таком случае apache, mysql и php поставятся сами.
Останется установить только другие пакеты из п. «3».
4) далее, через winscp скопировал серверную и клиентскую часть в Ubuntu. Можно получить сразу с GitHub (ссылка на момент написания этой статьи)
1 | git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git |
5) установка серверной части
5.1) если используются архивы, то сначала надо распаковать
1 | tar -zxvf OCSNG_UNIX_SERVER-2.2.1.tar.gz |
переходим в папку.
1 | cd OCSNG_UNIX_SERVER-2.2.1 |
Перед установкой желательно убедиться, что скрипт setup.sh имеет атрибут выполнения. Для этого надо запустить ls -l и убедиться, что у setup.sh есть -x
Далее, запускаем установку так
1 | ./setup.sh |
или
1 | bash setup.sh |
5.2) если пакет получен через git clone, то
1 | cd OCSInventory-Server |
и запускаем установщик как показано выше.
В процессе установки будут заданы вопросы относительно установленных apache, mysql и perl. Так же будет проверено наличие модуля mod_perl для apache.
Как видно на скриншоте, тут написано как посмотреть есть ли такой модуль в системе. У меня он не был установлен, т.ч. я запустил новую консоль и установил:
1 | sudo aptitude install libapache2-mod-perl2 -y |
После этого я проверил его наличие:
1 | dpkg -l libapache*-mod-perl* |
и вот что получилось (под спойлером)
[table]
Имя,Версия,Архитектура,Описание
libapache2-mod-perl2,2.0.9-4ubuntu1,amd64,Integration of perl with the Apache2 web server
[/table]
После проверки выбираем цифру соответствующей установленной версии. В моем случае это «2».
После этого пойдут проверки путей хранения лог-файлов и всего необходимого для установки.
Следующая заковыка, которая возникла у меня, это отсутствие модулей для perl
+———————————————————-+ | Checking for required Perl Modules… | +———————————————————-+ Checking for DBI PERL module… *** ERROR: PERL module DBI is not installed ! Checking for Apache::DBI PERL module… *** ERROR: PERL module Apache::DBI is not installed ! Checking for DBD::mysql PERL module… *** ERROR: PERL module DBD::mysql is not installed ! Checking for Compress::Zlib PERL module… Found that PERL module Compress::Zlib is available. Checking for XML::Simple PERL module… *** ERROR: PERL module XML::Simple is not installed ! Checking for Net::IP PERL module… *** ERROR: PERL module Net::IP is not installed ! Checking for SOAP::Lite Perl module… *** ERROR: PERL module SOAP::Lite is not installed ! Checking for Archive::Zip Perl module… *** ERROR: PERL module Archive::Zip is not installed ! *** ERROR: There is one or more required PERL modules missing on your computer ! Please, install missing PERL modules first.
Но скрипт сказал, что может сам их поставить.
OCS setup.sh can install perl module from packages for you
The script will use the native package from your operating system like apt or rpm
Do you wish to continue (y/[n])?
Ответил утвердительно — y.
Далее, еще несколько проверок, но там ничего особенного не случилось.
В итоге установка завершилась.
+———————————————————————-+
| OK, Administration server installation finished 😉 |
| |
| Please, review /etc/apache2/conf-available/ocsinventory-reports.conf
| to ensure all is good and restart Apache daemon. |
| |
| Then, point your browser to http://server//ocsreports
| to configure database server and create/update schema. |
+———————————————————————-+
Setup has created a log file /home/admin02/OCSNG_UNIX_SERVER-2.2.1/ocs_server_setup.log. Please, save this file.
If you encounter error while running OCS Inventory NG Management server,
we can ask you to show us his content !
DON’T FORGET TO RESTART APACHE DAEMON !
Enjoy OCS Inventory NG 😉
5) проверим что там у нас есть в конфигах apache
1 | ls -1 /etc/apache2/conf-available |
вывод у меня вот такой:
charset.conf
javascript-common.conf
localized-error-pages.conf
ocsinventory-reports.conf
other-vhosts-access-log.conf
security.conf
serve-cgi-bin.conf
z-ocsinventory-server.conf
посмотрим что из этого включено
1 | ls -1 /etc/apache2/conf-enabled |
включено не много:
charset.conf
localized-error-pages.conf
other-vhosts-access-log.conf
security.conf serve-cgi-bin.conf
Включим необходимые конфиги: ocsinventory-reports.conf | z-ocsinventory-server.conf
1 2 3 | a2enconf z-ocsinventory-server.conf a2enconf ocsinventory-reports.conf |
6) перезапустим сервер apache
1 | sudo service apache2 restart |
7) подготовка к установке
Редактируем /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
1 | sudo nano /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php |
<?php
$_SESSION[«SERVEUR_SQL»]=»localhost»;
$_SESSION[«COMPTE_BASE»]=»ocs»;
$_SESSION[«PSWD_BASE»]=»ocs»;
?>
здесь надо прописать имя и пароль пользователя mysql. Можете указать и root (созданный ранее), но лучше создать отдельно базу, пользователя и назначить этому пользователю права на базу.
1 | mysql -u root -p |
вводим пароль созданный ранее
создаем базу данных. Вместо name_db пишем свое название,
1 | CREATE DATABASE name_db; |
создаем пользователя. Вместо user_name пишем своё, вместо password указываем свой пароль. ‘ ‘ — обязательны.
1 | CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password'; |
Даем права этому пользователю на созданную базу
1 | GRANT ALL PRIVILEGES ON name_db.* TO 'user_name'@'localhost'; |
выходим
1 | exit |
открываем браузер и переходим http://[your_ip]/ocsreports/install.php
8) подключение к БД.
Откроется страница установки. У меня она выглядит так:
- установка GD
1 | sudo aptitude install php5-gd |
1 | sudo service apache2 restart |
обновляем страницу с установкой
- WARNING: You will not be able to build any deployment package with size greater than 100MB
You must raise both post_max_size and upload_max_filesize in your vhost configuration to encrease this limit.
1 | sudo nano /etc/apache2/conf-available/ocsinventory-reports.conf |
Там меняем соответствующие строки. Но, по-сути, это даже не ошибка, а простое предупреждение.
После этого настраиваем подключение к БД (данные из пункта «7»):
- вводим логин
- вводим пароль
- вводим название базы данных
- имя сервера в mysql (в моем случае localhost, т.к. mysql у меня на той же самой машине)
- жмем send
Пойдет установка. После завершения перейдите по ссылке. Если потребуется обновление, то произведите его.
Рекомендуется удалить install.php после успешной установке.
1 | sudo /usr/share/ocsinventory-reports/ocsreports/ |
авторизируемся в системе — admin | admin
На это установка закончена.
Так же установку можно провести так:
1 | sudo aptitude install ocsinventory-server |
Download:
OCS Inventory (2016-09-28): серверная часть (Windows, Linux) и агент (Windows, Linux…)
If you found an error, highlight it and press Shift + Enter or to inform us.