[Última revisión: 27 de enero de 2020]
Instalamos los paquetes necesarios:
sudo apt install wget build-essential apache2 php libapache2-mod-php7.2 php-gd libgd-dev unzip libapache2-mod-perl2 mysql-server mysql-client libdbd-mysql-perl php-mysql php-mbstring php7.2-mbstring php-gettext php-soap php7.2-curl libxml-simple-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl
sudo cpan -i XML::Entities Compress::Zlib Archive::Zip Mojolicious::Lite Switch Plack::Handler XML:: Simple DBI SOAP::Lite YAML Net::IP Apache::DBI DBD::mysql
Es recomendable instalar los paquetes de uno en uno:
sudo apt install wget
sudo apt install build-essential
(…)
Se activa el módulo mbstring en php:
sudo phpenmod mbstring
Se pone la contraseña al usuario root de MySQL:
sudo mysql_secure_installation
Would you like to setup VALIDATE PASSWORD plugin? -> n
Please set the password for root here -> **********
Re-enter new password -> **********
Remove anonymous users? -> y
Disallow root login remotely? -> y
Remove test database and access to it? -> y
Reload privilege tables now? -> y
Se instala phpmyadmin:
sudo apt install phpmyadmin
En la instalación es muy importante no olvidar seleccionar Apache.
Voy a IP/phpmyadmin en el navegador y creo una base de datos (ocsbd) y un usuario (ocsuser).
Descargo e instalo OCS Inventory Server:
Vamos a la carpeta temporal:
cd /tmp
En la carpeta temporal descargamos el archivo comprimido del OCS Inventory Server (el enlace de descarga se puede encontrar en la página web de OCS Inventory):
Si hacemos un ls en la carpeta /tmp, vemos que se ha descargado un archivo comprimido llamado OCSNG_UNIX_SERVER_2.5.tar.gz
Descomprimimos el archivo descargado:
sudo tar -zxvf OCSNG_UNIX_SERVER_2.5.tar.gz
Al hacer un nuevo ls en la carpeta /tmp, vemos que hay una carpeta descomprimida llamada OCSNG_UNIX_SERVER_2.5. Nos metemos en ella:
cd OCSNG_UNIX_SERVER_2.5
Al hacer un ls en esta carpeta, vemos que hay un script llamado setup.sh:
sudo ./setup.sh
Le doy a intro en todas la preguntas.
Creo los enlaces simbólicos:
Para dar de alta la dirección http://IP/ocsreports->
sudo ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/sites-enabled/ocsinventory-reports.conf
Para dar de alta la dirección http://IP/ocsinventory->
sudo ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/sites-enabled/z-ocsinventory-server.conf
Reiniciamos Apache:
sudo systemctl restart apache2
Vamos en el navegador a IP/ocsreports. Nos sale un aviso de que tenemos un límite de memoria de sólo 100 MB. Esto se puede cambiar editando un archivo. Lo vamos a cambiar a, por ejemplo, 200 MB. Vamos a /etc/apache2/conf-available:
cd /etc/apache2/conf-available
En esta carpeta hacemos un ls y vemos que hay un archivo que se llama ocsinventory-reports.conf. Lo editamos. Estando en la carpeta /etc/apache2/conf-available, escribimos:
sudo nano ocsinventory-reports.conf
Donde pone
(…)
php_value post_max_size 101m
php_value upload_max_filesize 100m
(…)
php_value post_max_size 101m
php_value upload_max_filesize 100m
Cambiamos el 101 y el 100 por 200.
Salimos de la edición del archivo con Ctrl+x y guardamos el archivo al salir.
Ahora eliminaremos la advertencia de escritura en /var/lib/ocsinventory-reports concediendo la propiedad de la carpeta al usuario www-data:
sudo chown www-data:www-data -R /var/lib/ocsinventory-reports
Digo que voy a usar la base de datos ocsbd y el usuario ocsuser:
cd /etc/apache2/conf-available
Haciendo un ls veo que hay un archivo que se llama z-ocsinventory-server.conf. Lo edito:
sudo nano z-ocsinventory-server.conf
# Name of database
PerlSetEnv OCS_DB_NAME ocsweb [cambio ocsweb por ocsbd]
PerlSetEnv OCS_DB_LOCAL ocsweb [cambio ocsweb por ocsbd]
# User allowed to connect to database
PerlSetEnv OCS_DB_USER ocs [cambio ocs por ocsuser]
# Password for user
PerlSetVar OCS_DB_PWD ocs [cambio ocs por mi contraseña]
En el navegador en IP/ocsreports finalizamos la instalación rellenando los campos que se nos piden. Después, le damos a enviar.
MySQL login: ocsuser
MySQL password: **********
Name of Database: ocsbd
MySQL HostName: localhost
Hay una advertencia sobre la existencia del archivo install.php. Le cambiamos el nombre para que no dé problemas. Primero, vamos a /usr/share/ocsinventory-reports/ocsreports (donde se encuentra este archivo):
cd /usr/share/ocsinventory-reports/ocsreports
Al hacer un ls vemos que está el archivo install.php. Le cambiamos el nombre a instalacion.php:
sudo mv install.php instalacion.php
Se reinicia Apache:
sudo systemctl restart apache2
Para entrar en ocs el usuario es admin y la contraseña es admin (ésta se puede cambiar dentro).