Outils pour utilisateurs

Outils du site


deploiement:glpi:install_debian9

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
deploiement:glpi:install_debian9 [2020/12/18 19:27] rootdeploiement:glpi:install_debian9 [2022/02/12 16:44] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== GLPI: Installation sur Debian Jessie ======+====== GLPI: Installation sur Debian 10 ======
 ===== Installation de GLPI ===== ===== Installation de GLPI =====
   - Installer les paquets nécessaires <code bash>apt update   - Installer les paquets nécessaires <code bash>apt update
 apt dist-upgrade apt dist-upgrade
-apt-get install nginx mariadb-server php-fpm php-mysql php-curl php-intl php-zip php-bz2 \+apt-get install apache2 mariadb-server libapache2-mod-php php-mysql php-curl php-intl php-zip php-bz2 \
 php-ldap php-gd php-imap php-mbstring php-xml php-xmlrpc php-apcu php-cas</code> php-ldap php-gd php-imap php-mbstring php-xml php-xmlrpc php-apcu php-cas</code>
   - Sécuriser mariadb <code bash>mysql_secure_installation</code>   - Sécuriser mariadb <code bash>mysql_secure_installation</code>
-   - Télécharger & décompresser le package <code bash>wget -qO- https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.3.tgz | tar xvzf -</code> +   - Télécharger & décompresser le package <code bash>wget -qO- https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.4.tgz | tar xvzf -</code> 
-  - Copier les fichiers téléchargés dans /var/www <code bash>cp -r glpi /var/www</code+  - Copier les fichiers téléchargés dans /var/www <code bash>cp -r glpi /var/www</htmlcode
-  - Editer le fichier /etc/nginx/sites-enabled/default <code bash>nano /etc/nginx/sites-enabled/default</code><file apache default>server { +   - Configurer un utilisateur Mysql pour Glpi <code bash>mysql -u root -p</code><code mysql>CREATE DATABASE glpi;
-        listen 80 default_server; +
-        listen [::]:80 default_server; +
-        root /var/www/; +
-        index index.php index.html index.htm index.nginx-debian.html; +
- +
-        server_name _; +
-        location / { +
-                # First attempt to serve request as file, then +
-                # as directory, then fall back to displaying a 404. +
-                try_files $uri $uri/ =404; +
-        } +
- +
-        location ~ \.php$ { +
-                include snippets/fastcgi-php.conf; +
-                fastcgi_pass unix:/run/php/php7.3-fpm.sock; +
-         } +
-}</file> +
-  - Redémarrer Nginx <code bash>service nginx restart</code> +
-  - Configurer un utilisateur Mysql pour Glpi <code bash>mysql -u root -p</code><code mysql>CREATE DATABASE glpi;+
 CREATE USER glpi@localhost IDENTIFIED BY "**motdepasse**"; CREATE USER glpi@localhost IDENTIFIED BY "**motdepasse**";
 GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost; GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost;
 flush privileges; flush privileges;
 quit</code> quit</code>
-  - Changer le propriétaire du dossier <code bash>chown -R www-data:www-data /var/www/glpi/</code>+  - Changer le propriétaire du dossier <code bash>chown -R www-data:www-data /var/www/html/glpi/</code>
   - Visiter la page de GLPI pour configurer via l'interface Web http://ip/glpi {{:deploiement:glpi:pasted:20191117-142920.png}}   - Visiter la page de GLPI pour configurer via l'interface Web http://ip/glpi {{:deploiement:glpi:pasted:20191117-142920.png}}
   - Configurer un cron pour les tâches <code bash>crontab -e</code> et coller la ligne suivante <code>* * * * * /usr/bin/php /var/www/glpi/front/cron.php &>/dev/null</code>   - Configurer un cron pour les tâches <code bash>crontab -e</code> et coller la ligne suivante <code>* * * * * /usr/bin/php /var/www/glpi/front/cron.php &>/dev/null</code>
-  - Editer le fichier php.ini dans le répertoire /etc/php/7.0/**cli**<code bash>nano /etc/php/7.0/cli/php.ini</code> et adapter cette ligne pour y indiquer votre timezone <code>date.timezone = Europe/Brussels</code>Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux<code>upload_max_filesize = 500M+  - Editer le fichier php.ini dans le répertoire /etc/php/7.3/**cli**<code bash>nano /etc/php/7.3/cli/php.ini</code> et adapter cette ligne pour y indiquer votre timezone <code>date.timezone = Europe/Brussels</code>Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux<code>upload_max_filesize = 500M
 post_max_size = 500M post_max_size = 500M
 memory_limit = 500M memory_limit = 500M
 default_socket_timeout = 6000</code> default_socket_timeout = 6000</code>
-  - Editer le fichier php.ini dans le répertoire /etc/php/7.0/apache2<code bash>nano /etc/php/7.0/apache2/php.ini</code> et adapter cette ligne pour y indiquer votre timezone <code>date.timezone = Europe/Brussels</code>Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux<code>upload_max_filesize = 500M+  - Editer le fichier php.ini dans le répertoire /etc/php/7.3/fpm<code bash>nano /etc/php/7.3/fpm/php.ini</code> et adapter cette ligne pour y indiquer votre timezone <code>date.timezone = Europe/Brussels</code>Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux<code>upload_max_filesize = 500M
 post_max_size = 500M post_max_size = 500M
 memory_limit = 500M memory_limit = 500M
Ligne 47: Ligne 28:
  
 ===== Installation de FusionInventory ===== ===== Installation de FusionInventory =====
-  - Télécharger le plug-in pour GLPI <code bash>wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.4%2B1.1/fusioninventory-9.4+1.1.tar.bz2</code>+  - Télécharger le plug-in pour GLPI <code bash>wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2</code>
   - Décompresser l'archive <code bash>tar xvfj fusioninventory-9*</code>   - Décompresser l'archive <code bash>tar xvfj fusioninventory-9*</code>
   - Copier les fichiers dans le bon répertoire <code bash>cp -r fusioninventory /var/www/glpi/plugins/</code>   - Copier les fichiers dans le bon répertoire <code bash>cp -r fusioninventory /var/www/glpi/plugins/</code>
Ligne 70: Ligne 51:
 # TLS certificates (needed for GnuTLS) # TLS certificates (needed for GnuTLS)
 TLS_CACERT      /etc/ssl/certs/ca-certificates.crt</file> TLS_CACERT      /etc/ssl/certs/ca-certificates.crt</file>
-  - Faire un test de connexion en interrogeant le serveur LDAP <code bash>ldapsearch -x -d 1 -D 'cn=Administrator,cn=Users,dc=makeitsimple,dc=lan' -W -b'cn=Users,dc=MAKEITSIMPLE,dc=LAN'</code>+  - Faire un test de connexion en interrogeant le serveur LDAP <code bash>ldapsearch -x -d 1 -D 'cn=Administrator,cn=Users,dc=makeitsimple,dc=lan' -W -b'cn=Users,dc=MAKEITSIMPLE,dc=LAN'</code>ou<code bash>ldapsearch -x -d 1 -D 'cn=Administrator,cn=Users,dc=makeitsimple,dc=lan' -W -b'cn=Users,dc=MAKEITSIMPLE,dc=LAN' -H ldaps://srv-ad:636</code>
   - Dans GLPI Configuration → Authentification → Annuaire Ldap → Cliquer sur le + {{:deploiement:glpi:pasted:20191111-103506.png}}   - Dans GLPI Configuration → Authentification → Annuaire Ldap → Cliquer sur le + {{:deploiement:glpi:pasted:20191111-103506.png}}
   - Voici un exemple de configuration, adapter selon les besoins et tester {{:deploiement:glpi:pasted:20191111-103540.png}}   - Voici un exemple de configuration, adapter selon les besoins et tester {{:deploiement:glpi:pasted:20191111-103540.png}}
   - Importer les users via Administration → Utilisateurs → Liaison annuaire LDAP {{:deploiement:glpi:pasted:20191111-103600.png}}   - Importer les users via Administration → Utilisateurs → Liaison annuaire LDAP {{:deploiement:glpi:pasted:20191111-103600.png}}
- +  - Faire une règle cron pour synchroniser régulièrement les utilisateurs: <code bash>php /var/www/glpi/scripts/ldap_mass_sync.php action=2</code> 
 +  - Pour assigner les profils aux groupes de manière automatique lors de l'import, aller dans Administration, règles, affectations automatiques {{:deploiement:glpi:pasted:20220212-174347.png}}
 ===== Configuration SSL ===== ===== Configuration SSL =====
   - Activer et ssl & désactiver l'accès par défaut <code bash>a2dissite 000-default.conf   - Activer et ssl & désactiver l'accès par défaut <code bash>a2dissite 000-default.conf
Ligne 103: Ligne 84:
 ===== Single Sign On (SSO) ===== ===== Single Sign On (SSO) =====
  
-  - Installer les paquets samba & winbind <code bash>apt install samba winbind smbfs libapache2-mod-auth-ntlm-winbind</code> +  - Installer les paquets kerberos nécessaire <code bash>apt-get -y install krb5-user libapache2-mod-auth-kerb</code> 
-  - Configurer Samba pour se connecter au domaine <code bash>nano /etc/samba/smb.conf</code> Coller une configuration +/- similaire<file ini smb.conf>workgroup = MAKEITSIMPLE +  - Editer le fichier krb5.conf <code bash>nano /etc/krb5.conf</code> Coller une configuration +/- similaire<file ini krb5.conf>[libdefaults] 
-realm = MAKEITSIMPLE.LAN +        default_realm = MAKEITSIMPLE.LAN 
-security = ADS + 
-#if using Active Directory +The following krb5.conf variables are only for MIT Kerberos
-encrypt passwords = true </file> +        kdc_timesync = 1 
-  - Redémarrer les services Samba et joignez le domaine (Attention resolv.conf doit pointer vers le DC)<code bash>service smbd restart +        ccache_type = 4 
-service nmbd restart +        forwardable = true 
-net ads join -U Administrator</code> +        proxiable = true
-  - Editer le fichier nsswitch <code bash>nano /etc/nsswitch.conf</code> et modifier les deux lignes suivantes <code ini>passwd: compat winbind   +
-group: compat winbind  </code> +
-  - Redémarrer Winbind <code bash>service winbind restart</code> +
-  - Si tout fonctionne, vous devriez avoir une réponse avec ces commandes <code bash>wbinfo -g   +
-wbinfo -u</code> +
-  - Ajouter www-data comme user pouvant se connecter à Winbind <code bash>adduser www-data winbindd_priv</code>→  FIXME Voici des commandes qui pourraient aider  +
-    -  usermod -a -G winbindd_priv www-data +
-    - chgrp winbindd_priv /var/lib/samba/winbindd_privileged +
-    - ln -s /var/lib/samba/winbindd_privileged/pipe /var/run/samba/winbindd_privileged/pipe +
-  - Activer le module <code bash>a2enmod auth_ntlm_winbind</code> +
-  - Editer votre fichier de configuration apache relatif à l’install GLPI <code bash>nano /etc/apache2/sites-enabled/000-default.conf</code> ou <code bash>nano /etc/apache2/sites-available/glpi.conf</code> si vous avez activé ssl. Voici un exemple de ce que vous devriez avoir dans une configuration simple <file apache glpi.conf>VirtualHost *:80>+
  
-        ServerAdmin webmaster@localhost +        fcc-mit-ticketflags = true
-        DocumentRoot /var/www/html+
  
-        ErrorLog ${APACHE_LOG_DIR}/error.log +[realms] 
-        CustomLog ${APACHE_LOG_DIR}/access.log combined+MAKEITSIMPLE.LAN = { 
 +        kdc = srv-ad.makeitsimple.lan 
 +        admin_server = srv-ad.makeitsimple.lan 
 +        default_domain = srv-ad.makeitsimple.lan 
 +}
  
-       <directory /var/www/html+.makeitsimple.lan = MAKEITSIMPLE.LAN 
-           NTLMAuth on +makeitsimple.lan = MAKEITSIMPLE.LAN 
-           AuthName "NTLM Authentication" +</file> 
-           NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp" +  - Faire un test de session <code bash>kinit Administrator</code
-           NTLMBasicAuthoritative on +  - Se connecter sur le serveur Samba-AD et faire les 3 commandes suivantes en modifiant le nom du serveur <code bash>samba-tool user create --random-password http-glpi.makeitsimple.lan 
-           AuthType NTLM +samba-tool spn add HTTP/glpi.makeitsimple.lan http-glpi.makeitsimple.lan 
-           require valid-user +samba-tool domain exportkeytab /root/httpd.keytab --principal=HTTP/glpi.makeitsimple.lan@MAKEITSIMPLE.LAN</code> 
-       </directory+  Vérifier avec la commande kvno <code bash>kvno HTTP/glpi.makeitsimple.lan@MAKEITSIMPLE.LAN</code> 
-</VirtualHost></file>+  De retour sur le serveur GLPI, déplacer le fichier dans le dossier apache et lui donner les bons droits <code bash>mv httpd.keytab /etc/apache2/ 
 +chown www-data:root /etc/apache2/httpd.keytab 
 +chmod 640 /etc/apache2/httpd.keytab</code> 
 +  Editer le fichier apache <code bash>nano /etc/apache2/sites-enabled/000-default.conf</code> <file apache 000-default.conf>DocumentRoot /var/www 
 + Servername glpi.makeitsimple.lan 
 + <Location /> 
 +                AuthType Kerberos 
 +                AuthName "Demande d'identification SSO" 
 +                KrbAuthRealms MAKEITSIMPLE.LAN 
 +                KrbServiceName HTTP/glpi.makeitsimple.lan    
 +                Krb5Keytab /etc/apache2/httpd.keytab 
 +                KrbMethodNegotiate On 
 +                KrbMethodK5Passwd On 
 +                require valid-user 
 +        </Location
 +</file> 
 +  - Activer le module d'authentification <code bash>a2enmod auth_kerb</code>
   - Dans GLPI → Configuration → Authentification → Autre méthode d’authentification   - Dans GLPI → Configuration → Authentification → Autre méthode d’authentification
-     - Champs de stockage de l’identifiant : REMOTE_USER+     - Champs de stockage de l’identifiant : PHP_AUTH_USER
      - Supprimer le domaine des identifiants : NON      - Supprimer le domaine des identifiants : NON
-     FIXME SCREENSHOTS! +     {{:deploiement:glpi:pasted:20210205-201950.png}} 
-  - Le navigateur doit être en mesure d’envoyer les infos NTLM. Pour IE, il faut que le site soit reconnu comme Sécurité=intranet.+  - Le navigateur doit être en mesure d’envoyer les infos Kerberos. Pour IE/edge Chromium, il faut que le site soit reconnu comme Sécurité=intranet et l'intranet renseigné par exemple "*.makeitsimple.lan".
  
 ===== Cron ne veut pas fonctionner ===== ===== Cron ne veut pas fonctionner =====
deploiement/glpi/install_debian9.1608319661.txt.gz · Dernière modification : (modification externe)