Outils pour utilisateurs

Outils du site


deploiement:glpi:install_debian9

Ceci est une ancienne révision du document !


GLPI: Installation sur Debian Jessie

Installation de GLPI

  1. Installer les paquets nécessaires
    apt update
    apt dist-upgrade
    apt-get install nginx mariadb-server php-fpm php-mysql php-curl \
    php-ldap php-gd php-imap php-mbstring php-xml php-xmlrpc php-apcu php-cas
  2. Sécuriser mariadb
    mysql_secure_installation
  3. Télécharger & décompresser le package
    wget -qO- https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.3.tgz | tar xvzf -
  4. Copier les fichiers téléchargés dans /var/www
    cp -r glpi /var/www
  5. Editer le fichier /etc/nginx/sites-enabled/default
    nano /etc/nginx/sites-enabled/default
    default
    server {
            listen 80 default_server;
            listen [::]:80 default_server;
            root /var/www/html;
            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;
             }
    }
  6. Redémarrer Nginx
    service nginx restart
  7. Configurer un utilisateur Mysql pour Glpi
    mysql -u root -p
    CREATE DATABASE glpi;
    CREATE USER glpi@localhost IDENTIFIED BY "**motdepasse**";
    GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost;
    flush privileges;
    quit
  8. Changer le propriétaire du dossier
    chown -R www-data:www-data /var/www/glpi/
  9. Visiter la page de GLPI pour configurer via l'interface Web http://ip/glpi
  10. Configurer un cron pour les tâches
    crontab -e

    et coller la ligne suivante

    * * * * * /usr/bin/php /var/www/glpi/front/cron.php &>/dev/null
  11. Editer le fichier php.ini dans le répertoire /etc/php/7.0/cli
    nano /etc/php/7.0/cli/php.ini

    et adapter cette ligne pour y indiquer votre timezone

    date.timezone = Europe/Brussels

    Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux

    upload_max_filesize = 500M
    post_max_size = 500M
    memory_limit = 500M
    default_socket_timeout = 6000
  12. Editer le fichier php.ini dans le répertoire /etc/php/7.0/apache2
    nano /etc/php/7.0/apache2/php.ini

    et adapter cette ligne pour y indiquer votre timezone

    date.timezone = Europe/Brussels

    Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux

    upload_max_filesize = 500M
    post_max_size = 500M
    memory_limit = 500M
    default_socket_timeout = 6000

Installation de FusionInventory

  1. Télécharger le plug-in pour GLPI
    wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.4%2B1.1/fusioninventory-9.4+1.1.tar.bz2
  2. Décompresser l'archive
    tar xvfj fusioninventory-9*
  3. Copier les fichiers dans le bon répertoire
    cp -r fusioninventory /var/www/glpi/plugins/
  4. Changer le propriétaire des fichiers
    chown -R www-data:www-data /var/www/glpi/
  5. Dans GLPI, installer puis activer le plugin FusionInventory

Intégration au serveur LDAP/Active Directory

  1. Installer les packages nécessaires
    apt-get install php-ldap ldap-utils
  2. Copier le certificat du serveur LDAP dans le répertoire /usr/local/share/ca-certificates
    cp server-ad.crt /usr/local/share/ca-certificates
  3. Mettre à jour la database des certificats
    update-ca-certificates
  4. Vérifiez si vous savez vous connecter sur le serveur LDAP distant
    #Si je veux vérifier localement un certificat sur base des CA présents dans /etc/ssl/certs
    #openssl verify -CApath /etc/ssl/certs sambaCert.pem
    openssl s_client -showcerts -connect srv-ad.makeitsimple.lan:636

    La réponse devrait être : Verify return code: 0 (ok)

  5. Editer le fichier ldap.conf
    nano /etc/ldap/ldap.conf

    Il devrait ressembler à ceci

    ldap.conf
    BASE    dc=makeitsimple.lan
    URI     ldaps://srv-ad.makeitsimple.lan
    
    #SIZELIMIT      12
    #TIMELIMIT      15
    #DEREF          never
    
    # TLS certificates (needed for GnuTLS)
    TLS_CACERT      /etc/ssl/certs/ca-certificates.crt
  6. Faire un test de connexion en interrogeant le serveur LDAP
    ldapsearch -x -d 1 -D 'cn=Administrator,cn=Users,dc=makeitsimple,dc=lan' -W -b'cn=Users,dc=MAKEITSIMPLE,dc=LAN'
  7. Dans GLPI Configuration → Authentification → Annuaire Ldap → Cliquer sur le +
  8. Voici un exemple de configuration, adapter selon les besoins et tester
  9. Importer les users via Administration → Utilisateurs → Liaison annuaire LDAP

Configuration SSL

  1. Activer et ssl & désactiver l'accès par défaut
    a2dissite 000-default.conf
    a2enmod ssl
  2. Créer les certicats nécessaires
  3. Editer le fichier /etc/apache2/sites-available/glpi.conf
    nano /etc/apache2/sites-available/glpi.conf

    Voici à quoi devrait ressembler le fichier

    #les 4 premières lignes sont des tests pour intercepter tout ce qui n’est pas nommé par DNS
    <VirtualHost 10.0.0.214:80>
            ServerName 10.0.0.214/
    	DocumentRoot /var/www/glpi
    </VirtualHost>
     
    <VirtualHost srv-glpi.makeitsimple.lan:80>
        ServerName srv-glpi.makeitsimple.lan/
        Redirect / https://srv-glpi.makeitsimple.lan/
    </VirtualHost>
     
    <VirtualHost srv-glpi.makeitsimple.lan:443>
    	ServerName srv-glpi.makeitsimple.lan
    	DocumentRoot /var/www/glpi
     
    	SSLEngine on
    	SSLCertificateFile /etc/apache2/srv-glpi.crt
    	SSLCertificateKeyFile /etc/apache2/srv-glpi.key
    </VirtualHost>
  4. Dans les paramètres généraux de GLPI, changer l’url du serveur pour refléter son FQDN. Sinon le déploiement de paquet ne fonctionnera pas. Dans les paramètres Administration → Entités → Root entity → Fusioninventory

Single Sign On (SSO)

  1. Installer les paquets samba & winbind
    apt install samba winbind smbfs libapache2-mod-auth-ntlm-winbind
  2. Configurer Samba pour se connecter au domaine
    nano /etc/samba/smb.conf

    Coller une configuration +/- similaire

    smb.conf
    workgroup = MAKEITSIMPLE
    realm = MAKEITSIMPLE.LAN
    security = ADS
    #if using Active Directory
    encrypt passwords = true 
  3. Redémarrer les services Samba et joignez le domaine (Attention resolv.conf doit pointer vers le DC)
    service smbd restart
    service nmbd restart
    net ads join -U Administrator
  4. Editer le fichier nsswitch
    nano /etc/nsswitch.conf

    et modifier les deux lignes suivantes

    passwd: compat winbind  
    group: compat winbind  
  5. Redémarrer Winbind
    service winbind restart
  6. Si tout fonctionne, vous devriez avoir une réponse avec ces commandes
    wbinfo -g  
    wbinfo -u
  7. Ajouter www-data comme user pouvant se connecter à Winbind
    adduser www-data winbindd_priv

    FIXME Voici des commandes qui pourraient aider

    1. usermod -a -G winbindd_priv www-data
    2. chgrp winbindd_priv /var/lib/samba/winbindd_privileged
    3. ln -s /var/lib/samba/winbindd_privileged/pipe /var/run/samba/winbindd_privileged/pipe
  8. Activer le module
    a2enmod auth_ntlm_winbind
  9. Editer votre fichier de configuration apache relatif à l’install GLPI
    nano /etc/apache2/sites-enabled/000-default.conf

    ou

    nano /etc/apache2/sites-available/glpi.conf

    si vous avez activé ssl. Voici un exemple de ce que vous devriez avoir dans une configuration simple

    glpi.conf
    VirtualHost *:80>
     
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html
     
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
     
           <directory /var/www/html>
               NTLMAuth on
               AuthName "NTLM Authentication"
               NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
               NTLMBasicAuthoritative on
               AuthType NTLM
               require valid-user
           </directory>
    </VirtualHost>
  10. Dans GLPI → Configuration → Authentification → Autre méthode d’authentification
    1. Champs de stockage de l’identifiant : REMOTE_USER
    2. Supprimer le domaine des identifiants : NON
    3. FIXME - SCREENSHOTS!
  11. Le navigateur doit être en mesure d’envoyer les infos NTLM. Pour IE, il faut que le site soit reconnu comme Sécurité=intranet.

Cron ne veut pas fonctionner

  1. Liste numérotéeVérifier que le timezone est bien configuré dans les deux fichiers PHP
  2. Voir dans Configuration → Action automatique → Tasksheduler si
    1. Mode éxécution = CLI
    2. Prochaine exécution n’est pas bloqué

Sources

deploiement/glpi/install_debian9.1608319418.txt.gz · Dernière modification : (modification externe)