¿Qué es OCS Inventory?
Es una solución de administración e implementación de activos. Desde 2001, OCS Inventory ha estado buscando hacer que el software y el hardware sean más potentes. OCS Inventory solicita a sus agentes que conozcan la composición de software y hardware de cada computadora o servidor. OCS Inventory también solicita descubrir los elementos de la red que no pueden recibir un agente. Desde la versión 2.0, OCS Inventory se hace cargo de la funcionalidad de escaneo de SNMP.
¿Licenciamiento?
OCS Inventory es un software libre que se publica bajo la GNU GPLv2. Los desarrolladores son dueños del derecho de autor asegurando que las versiones modificadas del código que cubre permanezcan libres y de código abierto e intenta difundir el copyleftismo al exigir el uso de la GPL v2 para las adaptaciones distribuidas del código con licencia GPL v2
Requerimientos
- Sistema operativo; CentOS 7
- Aquitectura: x86_64
- RAM: 4096 MB
- Disco duro: 50 GB
- Software OCS Inventory (Unix/Linux Redhat Repository)
- PHP version : 5.4.16
- MariaDB Server version 5.5.52
- Apache version : Apache/2.4.6
- PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3
Instalacion de OCS Inventory
1) Actualizamos el sistema, creamos una carpeta donde descargaremos los archivos RPM y instalaremos los respositorios.yum update
yum upgrade
yum install wget
mkdir ~/ocs
cd ~/ocs
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpm.ocsinventory-ng.org/enterprise/7/x86_64/ocsinventory-release-7- 4.el7.ocs.noarch.rpm
yum install ocsinventory-release-7-4.el7.ocs.noarch.rpm epel-release-latest-7.noarch.rpm
yum install epel-release
2) Instalamos Apache y MariaDB e iniciamos los servcios y los habilitamos para que inicien al prender el sistema.
yum install httpd
systemctl start httpd
systemctl enable httpd
yum -y install mariadb mariadb-server
systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installation (Con este comando nos pedira un password para iniciar la BD)
3) Instalamos todos los paquetes de PERL Y PHP necesarios para que el servidor OCS Inventory funcione correctamente.
yum install perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl- SOAP-Lite perl-Archive-Zip perl-Mojolicious perl-Plack perl-XML-Entities perl-Switch
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install httpd php70w php70w-dom php70w-mbstring php70w-gd php70w-pdo
php70w-json php70w-xml php70w-zip php70w-curl php70w-mcrypt php70w-pear yum install php70w-soap setroubleshoot-server bzip2
4) Ingresamos a la base de datos con el usuario root y la contrasena que creamos anteriormente, despues procedemos a crear la base de datos OCS Inventory de la siguiente manera.
mysql -u root -p
CREATE DATABASE ocs_data;
GRANT ALL PRIVILEGES ON ocs.* to user_ocs@localhost IDENTIFIED BY 'YourPassword';
FLUSH PRIVILEGES;
EXIT;
5) Instalamos OCS Inventory
yum install ocsinventory
6) Cambiamos los parametros de configuracon de la base de datos predeterminados que instala el software por los parametros que configuramos de la base de datos.
nano ano /etc/httpd/conf.d/ocsinventory-server.conf
Change line 26 (OCS_DB_NAME) from ‘ocsweb’ to ‘ocs_data’
Change line 27 (OCS_DB_LOCAL) from ‘ocsweb’ to ‘ocs_data’
Change line 30 (OCS_DB_USER) from ‘ocsweb’ to ‘user_ocs’
Change line 31 (OCS_DB_PWD) from ‘YourPassword’
7) Configuramos el firewall para que permita las conexiones http y https.
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload
8) Deshabilitamos el SELINUX y reiniciamos el equipo para que se aplique la configuracion.
nano /etc/selinux/config
disabled
9) Despues vamos a la IP del server y llenamos los campos de la BD despues nos solicita que cambiemos los valores del php.ini
http://ipaddress/ocsreports/
Ingressamos los datos correspondientes de la BD.
nano /etc/php.ini (agregamos mas capacidad a los parametros que nos pide)
10) Ingresamos a OCS Inventory con las credenciales de default.
user: admin
password: admin
11) Por ultimo movemos el archivo install.php para evitar vulnerabilidades.
mv /usr/share/ocsinventory-reports/ocsreports/install.php /usr/share/ocsinventory- reports/ocsreports/install.php.whatever
12) Instalamos el modulo SSL en CentOS y creamos una carpeta que se llame private en la siguiente ruta con los permisos necesarios para acceder a los certificados.
yum install mod_ssl
cd /etc/ssl/certs/
mkdir private
chmod 700 private
13) Generamos el certificado autofirmado en la ruta anterior mente creada.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/certs/private/ocs.key -out /etc/ssl/certs/ocs.crt
14) Por ultimo cambiamos el apartado de ServerNamServerNamee en la configuración httpd.conf por lo siguiente.
nano /etc/httpd/conf/httpd.conf
<VirtualHost *:*>
ServerName 10.128.0.91
Redirect permanent / https://10.128.0.91
</VirtualHost>
Referencias
- https://wiki.ocsinventory-ng.org/02.Basic-documentation/Setting-up-a-OCS-Inventory-Server/
- http://wiki.ocsinventory-ng.org/02.Basic-documentation/Setting-up-a-OCS-Inventory-Server/#installing-administration-console-required-php-modules
- https://github.com/OCSInventory-NG/OCSInventory-ocsreports/issues/275
- https://opensource.org/licenses/GPL-2.0