Guide d’installation d’iTop Community Edition – Multi-distribution
Ce guide complet détaille l’installation d’iTop Community Edition sur différentes distributions Linux et Windows, avec les commandes spécifiques à chaque système et les bonnes pratiques de sécurité.
Table des matières
- Prérequis matériels
- Prérequis logiciels
- Téléchargement d’iTop
- Installation des prérequis par distribution
- Configuration de la base de données
- Installation d’iTop
- Configuration SELinux
- Finalisation de l’installation
- Références utiles
1. Prérequis matériels
Système | Ressource | Minimum | Recommandé |
---|---|---|---|
Linux | Disque | 5 GB | 20 GB |
RAM | 1 GB | 2 GB | |
Processeur | 1 GHz (simple Pentium) | 2 GHz+ (dual-core) | |
Windows | Disque | 5 GB | 20 GB |
RAM | 1 GB | 2 GB | |
Processeur | 1 GHz (simple Pentium) | 2 GHz+ (dual-core) |
1.1 Configurations avancées (pour grands déploiements)
Tickets/mois | Utilisateurs | CIs dans CMDB | Serveurs | CPU | Mémoire | Espace disque MySQL |
---|---|---|---|---|---|---|
< 200 | < 20 | < 50k | Tout-en-un | 2vCPU | 4GB | 10GB |
< 5000 | < 50 | < 200k | Deux: Web + MySQL | 4vCPU | 8GB | 20GB |
> 5000 | > 50 | > 200k | Deux: Web + MySQL | 8vCPU | 16GB | 50GB |
Résolution d’écran minimale: 1024×768 pixels (résolution plus élevée recommandée)
2. Prérequis logiciels
- PHP version 5.3.6 ou plus récente (version 5.6+ recommandée pour iTop 2.5+)
- MySQL version 5.0 ou plus récente (ou MariaDB 5.3+)
- Serveur web: Apache, IIS ou tout serveur web supportant PHP
- Graphviz (nécessaire pour afficher les graphes d’analyse d’impact)
2.1 Modules PHP requis
- mysql/mysqli
- ldap (pour l’authentification LDAP/AD)
- mcrypt (pour le chiffrement renforcé des mots de passe)
- cli
- soap
- json
- xml
- gd
- zip
2. Téléchargement d'iTop
Téléchargez iTop depuis SourceForge: https://sourceforge.net/projects/itop/files/itop
3. Installation des prérequis par distribution
3.1 Debian ou Ubuntu (avant 16.04)
Installation en tant que root (bash)
apt-get update
apt-get install apache2
apt-get install mysql-server
apt-get install php5 php5-mysql php5-ldap php5-mcrypt php5-cli php5-soap php5-json graphviz
3.2 Ubuntu 16.04 et versions ultérieures
Installation en tant que root (bash)
apt-get update
apt-get install apache2
apt-get install mysql-server
apt-get install php php-mysql php-ldap php-mcrypt php-cli php-soap php-json graphviz
apt-get install php-xml php-gd php-zip libapache2-mod-php
Activation du module rewrite
a2enmod rewrite
systemctl restart apache2
3.3 Ubuntu 24.04 LTS / Debian 12
Mise à jour des paquets
apt update && apt upgrade -y
Installation du serveur web et PHP (mcrypt n’est plus disponible nativement)
apt install -y apache2 php php-mysql php-ldap php-cli php-soap php-json php-gd php-zip php-mbstring php-xml php-opcache libapache2-mod-php
Installation de MariaDB (recommandé pour iTop 3.x)
apt install -y mariadb-server
Installation de Graphviz
apt install -y graphviz
Activation des modules Apache nécessaires
a2enmod rewrite
a2enmod headers # Important pour les directives de sécurité
systemctl restart apache2
3.4 Redhat, CentOS ou Fedora
Installation en tant que root
yum install httpd
yum install mysql mysql-server
yum install php php-mysql php-mcrypt php-xml php-cli php-soap php-ldap graphviz
Pour les versions récentes (CentOS 8/RHEL 8/Rocky Linux 8+):
Mise à jour des paquets
dnf update -y
Installation du serveur web et PHP
dnf install -y httpd php php-mysqlnd php-ldap php-cli php-soap php-json php-gd php-zip php-mbstring php-xml php-opcache
Installation de MariaDB (recommandé pour iTop 3.x)
dnf install -y mariadb-server
Activation et démarrage des services
systemctl enable –now httpd mariadb
systemctl start httpd mariadb
Configuration du pare-feu
firewall-cmd –permanent –add-service=http
firewall-cmd –permanent –add-service=https
firewall-cmd –reload
SELinux configuration (si activé)
setsebool -P httpd_can_network_connect_db 1
setsebool -P httpd_can_network_connect 1
3.5 Mageia
Installation des prérequis
urpmi mariadb
urpmi php php-mysql php-mcrypt php-xml php-cli php-soap php-iconv php-mysqli php-ldap
urpmi graphviz
Activation des services
systemctl enable httpd
systemctl enable mysqld.service
Modification des paramètres PHP par défaut
perl -pi -e ‘s/post_max_size = 8M/post_max_size = 32M/’ /etc/php.ini
perl -pi -e ‘s/;suhosin.get.max_value_length.*/suhosin.get.max_value_length = 2048/’ /etc/php.d/Z98_suhosin.ini
Démarrage des services
systemctl start httpd
systemctl start mysqld.service
4. Installation sur Windows avec IIS
4.1 Installation des prérequis
4.1.1 Installer Fast-CGI pour IIS
- Téléchargez l’installateur Fast-CGI depuis: http://www.iis.net/download/FastCGI
- Choisissez la version adaptée à votre système (32 ou 64 bits)
- Choisissez la version adaptée à votre système (32 ou 64 bits)
4.1.2 Installer Fast-CGI pour IIS
- Téléchargez PHP depuis http://windows.php.net/download/
- Sélectionnez la version « Non Thread Safe » adaptée à votre système
- Assurez-vous de sélectionner l’extension « SOAP » et « PEAR Install » dans les options
- Enregistrez l’extension FastCGI pour tout le site web:
cscript fcgiconfig.js -add -section:\ »PHP\ » -extension:php -path:\ »C:\Program Files\PHP\php-cgi.exe\ »
4.1.3 Configurer IIS
- Ouvrez le Gestionnaire des services Internet (IIS)
- Configurez le mappage d’application pour les fichiers .php
- Assurez-vous que « index.php » est présent dans la liste des documents par défaut
4.1.4 Installer MySQL
- Téléchargez l’installateur MySQL depuis http://www.mysql.com/downloads/mysql/
- Choisissez le package « MSI Installer » adapté à votre système
- Suivez les instructions de l’assistant d’installation
4.1.5 Installer Graphviz
- Téléchargez et installez Graphviz depuis son site officiel
- Notez le chemin complet vers l’exécutable dot.exe (exemple: `C:\Program files (x86)\
5. Configuration de la base de données
Sécurisation initiale de MySQL/MariaDB
mysql_secure_installation
Création de la base de données et de l’utilisateur
mysql -u root -p
Dans la console MySQL:
CREATE DATABASE itop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘itop’@’localhost’ IDENTIFIED BY ‘votre_mot_de_passe’;
GRANT ALL PRIVILEGES ON itop.* TO ‘itop’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
6. Installation d'iTop
6.1 Sous Linux
Téléchargement et extraction
cd /tmp
wget https://sourceforge.net/projects/itop/files/latest/download -O itop.zip
unzip itop.zip
mv /tmp/web /var/www/html/itop
Configuration des permissions
Pour Debian/Ubuntu
chown -R www-data:www-data /var/www/html/itop
Pour RHEL/CentOS
chown -R apache:apache /var/www/html/itop
6.2 Configuration Apache
6.2.1 Debian/Ubuntu
ServerName itop.example.com
DocumentRoot /var/www/html/itop
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/itop-error.log
CustomLog ${APACHE_LOG_DIR}/itop-access.log combined
EOF
a2ensite itop.conf
systemctl reload apache2
6.2.1 RHEL/CentOS/Fedora
ServerName itop.example.com
DocumentRoot /var/www/html/itop
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
ErrorLog /var/log/httpd/itop-error.log
CustomLog /var/log/httpd/itop-access.log combined
EOF
systemctl restart httpd
7. Configuration SELinux
7.1 Configuration de base SELinux pour iTop
Permettre la lecture/écriture sur le répertoire iTop et ses sous-dossiers
semanage fcontext -a -t httpd_sys_rw_content_t « /var/www/html/itop(/.*)? »
Appliquer la politique
restorecon -Rv /var/www/html/itop/
Vérifier les contextes appliqués
ls -lZ /var/www/html/itop/
7.2 Problèmes d'écriture de fichiers
Désactiver temporairement SELinux (pour diagnostic uniquement)
setenforce 0
N’oubliez pas de réactiver SELinux après avoir identifié le problème:
7.3 Connexion à un serveur MySQL distant
Pour modifier ce paramètre de sécurité, exécutez:
7.4 Connexion à iTop depuis un système distant
Ajouter temporairement le service HTTP
firewall-cmd –add-service=http
Pour rendre la modification permanente
firewall-cmd –permanent –add-service=http
firewall-cmd –reload
8. Bonnes pratiques de sécurité
8.1 Connexion à iTop depuis un système distant
- conf
- data
- Répertoire racine (pour le connecteur iTop Hub)
- log
Les droits d’écriture sur le dossier `conf` sont uniquement nécessaires pendant la configuration initiale et pour l’édition interactive du fichier de configuration dans l’application.
8.2 Sécurisation des répertoires critiques
- conf : répertoire et tout son contenu
- data : répertoire et tout son contenu
- datamodels : autoriser uniquement les fichiers ayant l’une des extensions: css|scss|js|map|png|bmp|gif|jpe?g|svg|tiff|woff2?|ttf|eot|html
- extensions : autoriser uniquement les fichiers ayant l’une des extensions: css|scss|js|map|png|bmp|gif|jpe?g|svg|tiff|woff2?|ttf|eot|html
- lib : répertoire et tout son contenu
- log : répertoire et tout son contenu
- setup/permissions-test-folder/permissions-test-subfolder/`: uniquement requis si votre serveur web n’utilise pas .htaccess ou web.config
Vous devriez également empêcher le listage des répertoires.
8.3 Utilisation de HTTPS
8.3.1 Configuration des en-têtes HTTP de sécurité
Ajouter à votre configuration Apache (httpd.conf ou virtual host)
Force HTTPS
Header always set Strict-Transport-Security « max-age=63072000; includeSubdomains; » env=HTTPS
Sécurisation des cookies de session PHP
php_flag session.cookie_httponly on
php_flag session.cookie_secure on
php_value session.cookie_samesite « Lax »
php_value zend.exception_ignore_args 1
Protection contre le clickjacking
Header always set X-Frame-Options « sameorigin »
Empêcher le MIME sniffing
Header always set X-Content-Type-Options « nosniff »
Politique de référencement
Header always set Referrer-Policy « strict-origin-when-cross-origin »
Content Security Policy (exemple basique)
Header set Content-Security-Policy « default-src ‘self’; frame-src ‘self’ www.itophub.io;
8.4 Configuration exemple Apache complète pour la sécurité
Sécurisation des cookies de session
php_flag session.cookie_httponly on
Uniquement pour HTTPS
Header always set Strict-Transport-Security « max-age=63072000; includeSubdomains; » env=HTTPS
php_flag session.cookie_secure on
Empêcher le MIME sniffing
Header always set X-Content-Type-Options « nosniff »
Protection contre le clickjacking
Header always set X-Frame-Options « sameorigin »
Header always set Referrer-Policy « strict-origin-when-cross-origin »
Content Security Policy
Header set Content-Security-Policy « default-src ‘self’; frame-src ‘self’ www.itophub.io;
9. Finalisation de l'installation
2. Suivez l’assistant d’installation web :
- Vérification des prérequis
- Configuration de la base de données
- Configuration de l’administrateur
- Configuration initiale de l’application
Lors de l’installation via l’assistant web, vous devrez indiquer le chemin complet vers l’exécutable Graphviz :
- Linux: /usr/bin/dot
- Windows: C:\Program files (x86)\Graphviz 2.68\bin\dot.exe (ajustez selon votre installation)
10. Besoin d'assistance supplémentaire?
- Optimiser votre instance iTop pour de meilleures performances
- Intégrer iTop avec d’autres systèmes de votre SI
- Personnaliser l’application pour des besoins métiers spécifiques
- Former vos équipes à l’utilisation optimale de l’outil
- Sécuriser davantage votre environnement
Chez ITSM-Factory, nous sommes spécialisés dans l’implémentation et l’optimisation de solutions ITSM basées sur iTop. Notre équipe d’experts peut vous accompagner au-delà de ce guide d’installation pour tirer le meilleur parti de votre investissement.
N’hésitez pas à nous contacter pour discuter de vos projets ITSM et découvrir comment nous pouvons vous aider à atteindre vos objectifs.