Installation automatique
Ce guide vous accompagne dans les étapes pour installer le Portail iTop sur votre serveur. Suivez ces instructions attentivement pour garantir un processus d'installation fluide. Avant de commencer, assurez-vous d'avoir rempli toutes les conditions préalables.
Étape 1 : Récupérer le projet
Le code source du Portail iTop est hébergé sur GitHub. Pour commencer, clonez le dépôt sur votre machine locale ou votre serveur :
git clone https://github.com/Sparfel/itop-portal-2.git
cd itop-portal-2
Assurez-vous que le dossier cloné est entièrement accessible par votre serveur web (par exemple, Apache). Cela implique de définir les permissions appropriées pour qu'Apache puisse lire et exécuter les fichiers dans ce répertoire. Sur les systèmes Linux, cela nécessite généralement de configurer correctement la propriété et les permissions.
Par exemple :
sudo chown -R www-data:www-data itop-portal-2/
Étape 2 : Créer la base de données
Le Portail iTop nécessite une base de données MariaDB pour stocker ses données. Configurez la base de données comme suit :
-
Connectez-vous à votre serveur MariaDB :
mysql -u root -p -
Créez une nouvelle base de données (remplacez
itop_portal_dbpar le nom de votre choix) :CREATE DATABASE itop_portal_db; -
En option, créez un utilisateur dédié et attribuez-lui des privilèges :
CREATE USER 'itop_user'@'localhost' IDENTIFIED BY 'votre_mot_de_passe_sécurisé';
GRANT ALL PRIVILEGES ON itop_portal_db.* TO 'itop_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Étape 3 : Configurer l'environnement
Laravel utilise un fichier .env pour gérer les paramètres spécifiques à l'environnement. Configurez-le comme suit :
Fichier d'environnement .env
Copiez le fichier d'exemple d'environnement :
cp .env.example .env
Modifiez .env pour inclure les informations d'identification de votre base de données :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=itop_portal_db
DB_USERNAME=itop_user
DB_PASSWORD=votre_mot_de_passe_sécurisé
et les détails d'intégration avec iTop :
ITOP_0_NAME="Mon iTop"
ITOP_0_PROTOCOL=https
ITOP_0_URL=URL_ITOP
ITOP_0_USER=webservice_itop_user
ITOP_0_PASSWORD=webservice_itop_user_password
ITOP_0_DEBUG=0
webservice_itop_user et webservice_itop_user_password sont les identifiants d'un utilisateur iTop disposant de permissions spéciales (REST User Service et Administrateur) nécessaires pour que le portail interagisse avec iTop, voir Conditions préalables.
Instance secondaire (Test) :
Il est possible de se connecter à d'autres instances iTop. Dans ce cas, elles doivent être définies comme indiqué ci-dessous :
ITOP_1_NAME="Mon iTop (Test)"
ITOP_1_PROTOCOL=https
ITOP_1_URL=URL_ITOP_TEST
ITOP_1_USER=webservice_itop_user
ITOP_1_PASSWORD=webservice_itop_user_password
ITOP_1_DEBUG=0
La connexion à iTop est définie au niveau de l'utilisateur. Par conséquent, un utilisateur est lié à une instance iTop dans le portail.
Toutes les instances iTop connectées doivent être identiques (ou très similaires) car les appels au webservice iTop sont basés sur un modèle de données. Ce modèle de données doit donc être commun à toutes les instances iTop connectées.
Générer une clé d'application :
php artisan key:generate
Étape 5 : Installation
Installation automatique via setup.sh
Pour simplifier le processus d'installation, un script automatisé est disponible à la racine du dépôt : setup.sh (ou setup.ps1 pour les utilisateurs de Windows PowerShell).
Ce script gère toutes les étapes nécessaires pour configurer le projet en mode développement ou production :
- Installation des dépendances PHP via Composer (avec ou sans les packages de développement, selon le mode)
- Installation des dépendances JavaScript
- Compilation des ressources (CSS/JS)
- Création du lien symbolique vers le dossier
storage - Exécution des migrations et des seeders de la base de données
Utilisation
# Mode développement (par défaut)
./setup.sh
ou
# Mode production
./setup.sh --prod
L'option --prod installe uniquement les dépendances de production, optimise l'autoloader, compile les ressources pour la production et exécute les migrations et seeders sans confirmation.
Installation manuelle (Avancée)
Si vous préférez installer et configurer le portail manuellement au lieu d'utiliser le script setup.sh, suivez ces étapes :
- Installez les dépendances PHP avec Composer :
composer install
Ajoutez les options '--no-dev --optimize-autoloader' pour la production
- Installez les dépendances JavaScript (interface principale) :
npm install
npm audit fix
- Personnalisez les ressources AdminLTE :
cd resources/vendor/admin-lte
npm install
npm audit fix
npm run production
cd ../../..
- Compilez les ressources de l'interface principale (CSS/JS) :
npm run dev
Utilisez 'npm run production' pour la production
- Créez le lien symbolique vers le dossier storage :
php artisan storage:link
- Exécutez les migrations et les seeders de la base de données :
php artisan migrate:fresh --seed
En production, vous pouvez également exécuter les migrations et les seeders manuellement :
php artisan migrate --force
php artisan db:seed --class=RolesTableSeeder --force
php artisan db:seed --class=PermissionsTableSeeder --force
php artisan db:seed --class=RoleHasPermissionsTableSeeder --force
Étape 6 : Créer un compte administrateur depuis iTop
Pour initialiser le portail, vous pouvez créer automatiquement un compte administrateur local basé sur un contact iTop existant.
Cela se fait à l'aide de la commande Artisan suivante :
php artisan itop:setup-admin --instance=0
Remplacez --instance=0 par l'instance iTop appropriée si vous avez configuré plusieurs instances dans votre fichier .env.
Vous serez invité à entrer l'adresse e-mail du contact administrateur tel que défini dans iTop. Si le contact est trouvé, un compte utilisateur local sera créé sur le portail, et vous serez invité à définir un mot de passe.
L'utilisateur se verra automatiquement attribuer le rôle Administrateur et aura accès à la plateforme.
Note : Si votre instance iTop utilise un certificat SSL auto-signé, assurez-vous que votre système ou proxy ne bloque pas la connexion.