Installation OCS Inventory NG / GLPI sur Linux Fedora 18
Sans vouloir stigmatiser qui que ce soit, vouloir s’acharner à installer OCS Inventory NG et GLPI sur une machine Windows relève de l’acharnement thérapeutique !!! Sur Fedora, il vous faudra une bonne heure – avec une bonne liaison Internet – pour mettre en œuvre les toutes dernières versions de OCS Inventory NG et de GLPI.
Ce tutoriel est également disponible au format PDF. Comme ce document, il est sous licence CC BY NC ND.
Les adresses IP, les noms de machine et de domaine présentés dans ce tutoriel doivent être transposés à votre environnement.
Configuration de Fedora
Après avoir installé votre Fedora, il vous faudra une bonne heure pour la préparer à accueillir OCS Inventory NG et GLPI.
-
SSH
Sur Fedora, le paquet openssh-server est installé en standard ! le démon sshd est automatiquement démarré.
-
Mise à jour de la Fedora
yum update
-
Codage
tzselect
-
Paquet confort
Je suis un inconditionnel de Midnight Commander : yum install mc. Il permet d’éditer très agréablement les fichiers de configuration à l’aide de la commande mcedit ou mc -e.
-
Réseau
Pour configurer votre réseau, éditez le fichier /etc/sysconfig/network-scripts.igcdg-p16p1. Une fois votre configuration modifiée, vous aurez à redémarrer le service network :
systemctl restart network
service network restart
Dhcp
Il serait tout de même très curieux – sauf à utiliser une réservation – à passer le serveur OCS Inventory NG – GLPI en dhcp.
BOOTPROTO=dhcp
Statique
Pour passer en IP fixe :
BOOTPROTO=static
IPADDR=192.168.1.201
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
DNS1=192.168.1.1
DNS2=80.10.246.1
DOMAIN=dsfc.fr
Changer le nom de machine
Pour changer le nom de votre machine, éditez le fichier /etc/hostname et modifiez le nom de votre machine.
Vous pouvez aussi le changer à chaud : hostname ocsglpi.
Résolution de nom
Si vous ne disposez pas de serveur DNS, ajoutez à votre fichier /etc/hosts la ligne suivante :
192.168.1.201 ocsglpi ocsglpi.dsfc.fr dsfc.fr
-
Passer en mode texte
rm -f /etc/systemd/system/default.target
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
-
Serveur de temps
Pour synchroniser « manuellement »:
yum install ntpdate
ntpdate pool.ntp.org
Par le service ntp
yum install ntp
systemctl enable ntpd
systemctl start ntpd
-
Désactiver SELINUX
Pour désactiver SELINUX, éditez le fichier /etc/selinux/config et modifiez le comme suit :
SELINUX=disabled
A chaud, tapez à partir de la ligne de commande setenforce 0.
-
Désactiver le pare-feu
systemctl stop firewalld
systemctl disable firewalld
Mise en œuvre OCS Inventory NG / GLPI
-
Install AMP (Apache – MySQL – PHP)
yum install mysql-server httpd php php-mysql
systemctl enable mysqld
systemctl start mysqld
systemctl enable httpd
systemctl start httpd
-
Création des bases glpi et ocsweb sur MySQL
Par défaut, le compte root de MySQL n’a pas de mot de passe au niveau de la connexion locale. L’objet de la 2ème ligne ci-dessous est de lui affecter un mot de passe !
mysql –u root
grant all privileges on *.* to root@’localhost’ identified by ‘root’;
create database glpi;
grant all privileges on glpi.* to glpi@’localhost’ identified by ‘glpi’;
create database ocsweb;
grant all privileges on ocsweb.* to ocs@’localhost’ identified by ‘ocs’;
flush privileges; -
OCS Inventory NG
Installation de OCS Inventory NG
yum install ocsinventory ocsinventory-agent ocsinventory-discover
Le paquet ocsinventory-ipdiscover fournit la commande ipdiscover à l’agent OCS Inventory NG sous Linux.
Si vous voulez vous servir de l’agent local pour utiliser le SNMP pour détecter les switches et routeurs accessibles en SNMP :
yum install perl-Net-SNMP
Fichiers de configuration
Les paramètres de configuration d’OCS Inventory sont consignés dans :
- /etc/ocsinventory/ocsinventory-reports/db-config.inc.php
- /etc/httpd/conf.d/ocsinventory-server.conf
En cas de changement du nom de la base (ocsweb par défaut), de l’utilisateur ou de son mot de passe, pensez à changer les informations dans ces deux fichiers.
Login et mot de passe par défaut
admin/admin
Post-installation
Renommez le fichier install.php :
cd /usr/share/ocsinventory-reports/ocsreports
mv install.php install.php.old
-
GLPI
Installation de GLPI
yum install glpi glpi-pdf glpi-mass-ocs-import glpi-data-injection
/etc/php.ini
Une fois le fichier modifié comme indiqué ci-dessous, testez, puis rechargez votre service httpd.
post_max_size=50M
upload_max_filesize=50M
date.timezone= »Europe/Paris »
date.default_latitude=49.2325
date.default_longitude=0.7969
/etc/my.cnf
max_allowed_packet=2MB
-
Fichier de configuration
Les informations de connexion se situent dans /etc/glpi/config_db.php.
-
Apache
Configuration Apache
Editez le fichier /etc/httpd/conf/httpd.conf et modifez le comme suit :
ServerName ocsglpi.dsfc.fr:80
AllowOverride all
Require all granted
Options Indexes FollowSymLinks
<Directory « /var/www »>
AllowOverride all
Require all granted
Options Indexes FollowSymLinks
<Directory « /var/www/html »>
AllowOverride all
Require all granted
Options Indexes FollowSymLinks
Pour valider votre configuration, testez la configuration Apache et rechargez le service sans interruption de service.
apachectl configtest.
systemctl reload httpd
Gestion des droits
Je vous incite également à changer le propriétaire de vos répertoires liés aux répertoires des contenus gérés par Apache, GLPI et OCS Inventory NG :
chown apache:apache -R /var/www/html
chown apache:apache -R /usr/share/glpi
chown apache:apache -R /usr/share/ocsinventory-reports/ocsreports
-
Certificat SSL
yum install mod_ssl
Création des clés
cd /etc/pki/tls
openssl req -new -x509 -nodes -out localhost.crt -keyout localhost.key -days 36500
mv *.crt certs
mv *.key private
Configuration
Editez le fichier /etc/httpd/conf.d/ssl.conf :
ServerName 192.168.1.201:443
SSLCertificateFile /etc/pki/tls/certs/ocsglpi.crt
SSLCertificateKeyFile /etc/pki/tls/private/ocsglpi.key
apachectl configtest
systemctl reload httpd
Vous devez ensuite tester et recharger la configuration du serveur Apache comme indiqué ci-dessus dans la configuration du serveur Apache.