mardi 28 décembre 2021

GLPI SOUS DEBIAN

 Petites notes personnelles

  1. TELECHARGEMENT DE DEBIAN

    https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/

  2. CONFIGURATION MINIMALE

    1Go RAM - 20 Go HDD

  3. Déterminer les comptes/Mot de passe utiles

    Administrateur
    root 

    Utilisateur
    glpi_user

    Database Owner
    mysql_glpi

  4. MISES A JOUR DE L'ENVIRONNEMENT

    apt update && apt upgrade -y
    apt-get update
    apt-get dist-upgrade


  5. INSTALLATION DES COMPOSANTS

    apt install apache2 php libapache2-mod-php mariadb-server -y

    apt install php-mysqli php-mbstring php-curl php-gd php-simplexml php-intl php-ldap php-apcu php-xmlrpc php-cas php-zip php-bz2 php-ldap php-imap -y


  6. CONFIGURATION MYSQL / MARIADB

    mysql_secure_installation

    L'utilisateur root indiqué dans l'installation n'est pas celui de la machine, mais bien l'utilisateur root pour mysql

    Son mot de passe par défaut est vide, il conviendra de le définir et qu'il ne soit pas identique au mot de passe root de la machine

    Répondre Y à toutes les questions posées

  7. CONNEXION A MYSQL

    mysql -u [NomUser] -p

  8. VERIFIER QU'APACHE 2 EST ACTIF

    systemctl status apache2

  9. TELECHARGER ET INSTALLER PHPMYADMIN

    cd Downloads
    wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
    wget https://files.phpmyadmin.net/phpmyadmin.keyring

    gpg --import phpmyadmin.keyring

    wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.asc

    mkdir /var/www/html/phpmyadmin
    tar xvf phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpmyadminn

    sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php




  10. EDITER LE FICHIER config.inc.php

    nano /var/www/html/phpmyadmin/config.inc.php

  11. CREER UNE PASSPHRASE

    $cfg['blowfish_secret'] = '[my_secret_passphrase]';

  12. GESTION DES DROITS SUR LE REPERTOIRE PHPMYADMIN

    sudo chmod 660 /var/www/html/phpmyadmin/config.inc.php
    sudo chown -R www-data:www-data /var/www/html/phpmyadmin

  13. REDEMARRER APACHE

    sudo systemctl restart apache2

  14. CREER LE CORPS DE LA DATABASE POUR GLPI

    mysql -u [NomUser] -p

    Create database [Nom_Database];

    exit

  15. TELECHARGEMENT / INSTALLATION GLPI

    cd Downloads

    wget https://github.com/glpi-project/glpi/releases/download/..............

    (Se référer au site en question pour télécharger la version désirée)

    tar -xvzf [nom_du_package_GLPI].tgz

    shopt -s dotglob
    rm /var/www/html/index.html
    mkdir /var/www/html/glpi
    cp -r glpi/* /var/www/html/glpi
    chown -R www-data /var/www/html/glpi

  16. GESTION DES FUSEAUX HORAIRES

    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p -u root mysql
    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p -Dmysql
    systemctl restart mariadb

    mysql -u root -p
    GRANT SELECT ON `mysql`.`time_zone_name` TO 'mysql'@'localhost';
    GRANT SELECT ON `mysql`.`time_zone_name` TO 'root'@'localhost';
    GRANT SELECT ON `mysql`.`time_zone_name` TO 'mysql_glpi'@'localhost';
    FLUSH PRIVILEGES;
    Exit

    cd /var/www/html/glpi
    php bin/console glpi:migration:timestamps

  17. GESTION DU CRON

    nano  /etc/contrab

    Ajouter  la ligne

    * * * * *  root /usr/bin/php /var/www/html/glpi/front/cron.php &>/dev/null

    /etc/init.d/cron restart

  18. INSTALLER NETSAT

    apt install net-tools
    apt-get install mlocate
    updatedb
    locate a2enmod
    cp

  19. CONFIGURATION DE L'ALIAS DU SITE WEB

    cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/[Nom_Alias].conf

    nano /etc/apache2/sites-available/
    [Nom_Alias].conf

    Ajouter dans le fichier

    ServerName [Nom_Alias]
      ServerAdmin [AdresseMailAdmin@societe.com]
      ServerAlias [Nom_Alias]
      DocumentRoot /var/www/html/glpi

    /usr/sbin/a2dissite 000-default.conf
    /usr/sbin/a2ensite [Nom_Alias].conf
    systemctl reload apache2

  20. GESTION DU SSL

    /usr/sbin/a2enmod ssl
    /usr/sbin/a2enmod header
    systemctl restart apache2

    mkdir /etc/ssl/[Nom_Alias]

    Copier le certificat ssl, la clé privée, le certificat intermédiaire si il existe, le certificat racine dans le répertoire créé

    Vérifier que HTTPS est bien activé sous Apache :
    netstat -tanpu | grep "LISTEN" | grep "443"

    Créer le virtualhost pour ssl

    cp /etc/apache2/sites-avalaible/[Nom_Alias].conf /etc/apache2/sites-avalaible/[Nom_Alias]-ssl.conf 

    Nano /etc/apache2/sites-available/
    [Nom_Alias]-ssl.conf 

    On édite le fichier :

    VirtualHost *:443>
            # The ServerName directive sets the request scheme, hostname and port that
            # the server uses to identify itself. This is used when creating
            # redirection URLs. In the context of virtual hosts, the ServerName
            # specifies what hostname must appear in the request's Host: header to
            # match this virtual host. For the default virtual host (this file) this
            # value is not decisive as it is used as a last resort host regardless.
            # However, you must set it for any further virtual host explicitly.
            #ServerName www.example.com

            ServerName [Nom_Alias]
           
    ServerAdmin  [AdresseMailAdmin@societe.com]
          ServerAlias [Nom_Alias]
           
    DocumentRoot /var/www/html/glpi
    # L'accès web au répertoire des fichiers est protégé
    <Directory /var/www/html/glpi>
                    Options indexes FollowSymLinks
                    AllowOverride All
                    Require all granted
    </Directory>

            # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
            # error, crit, alert, emerg.
            # It is also possible to configure the loglevel for particular
            # modules, e.g.
            #LogLevel info ssl:warn
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

            # For most configuration files from conf-available/, which are
            # enabled or disabled at a global level, it is possible to
            # include a line for only one particular virtual host. For example the
            # following line enables the CGI configuration for this host only
            # after it has been globally disabled with "a2disconf".
            #Include conf-available/serve-cgi-bin.conf

            # On active le SSL
            SSLEngine On

            # On active tous les protocoles (TLS v1.0, TLS v1.1 et TLS v1.2), mais on
    désactive SSL v2 et v3 (obsolètes et remplacés par TLS)
            SSLProtocol All -SSLv3 -SSLv2

            # On active les méthodes de chiffrement, et on désactive les méthodes de chiffrement non sécurisés (par la présente d'un !)
            SSLCipherSuite HIGH:!aNULL:!MD5:!ADH:!RC4:!DH

            # On demande au navigateur de sélectionner une méthode de chiffrement en respectant l'ordre envoyée par le serveur (HIGH uniquement)
            SSLHonorCipherOrder on

            # On renseigne le chemin vers le certificat SSL de l'adresse à sécuriser
            SSLCertificateFile "/etc/ssl/[Nom_Alias]/[NomDuCertificat].crt"

          # On renseigne le chemin vers la clée privée correspondant au certificat SSL de l'adresse à sécuriser
            SSLCertificateKeyFile "/etc/ssl/[Nom_Alias]/[NomDeLaClePrivee].key"

            # On renseigne le chemin vers le certificat SSL racine, puis vers le(s) certificat(s) SSL intermédiaire(s).
            # Si vous disposez de plusieurs certificats intermédiaires, vous pouvez ajouter d'autres directives SSLCACertificateFile.
            SSLCACertificateFile "/etc/ssl/[Nom_Alias]/[CetificatIntermediaire].crt
            SSLCACertificateFile "/etc/ssl/[Nom_Alias]/[CertificatIntermediaire].pem"
            Header always set Strict-Transport-Security "max-age=15768000"  
    </VirtualHost>

    /usr/sbin/a2ensite support.thermi-lyon.fr-ssl
    systemctl reload apache2













CHOCOLATEY

Qu'est ce que CHOCOLATEY ?

 CHOCOLATEY est un gestionnaire d'installation et de déploiement de packages logiciels. Dédié au déploiement sous les systèmes d'exploitation Microsoft Windows, il permet de simplifier le téléchargement, l'installation, la mise à jour des applications. Chocolatey se base sur NuGet et Windows Powershell.

INSTALLATION

Le mieux est d'aller directement sur le site concerné :
https://chocolatey.org/install

RECHERCHER UN LOGICIEL

PS > choco search --by-id-only NomDuLogiciel

INSTALLER UN LOGICIEL

PS > choco install NomDuLogiciel -y

SUPPRIMER UN LOGICIEL

PS > choco uninstall NomDuLogiciel

MISES A JOUR :

Vérifier la disponibilité des mises à jour

PS > choco outdated

Mettre à jour un logiciel

PS > choco upgrade NomDuLogiciel -y

Mettre à jour tous les logiciels possèdant une mise à jour disponible

PS > choco upgrade all -y

LOGICIELS DEPLOYES PAR CHOCOLATEY

Lister les logiciels déployés via Chocolatey

PS > choco list -l

RESUME DES COMMANDES

  • config – récupère et configure les paramètres du fichier de configuration
  • Download – télécharge 
  • feature ou features – affiche et configure les fonctionnalités de choco
  • install – installe 
  • info – affiche les informations
  • list  – liste les installations distantes ou locales
  • new – génère les fichiers nécessaires pour un paquet chocolatey à partir d’un modèle
  • optimize – optimise l’installation et réduit l’utilisation de l’espace
  • outdated – affiche les paquets obsolètes. Similaire à choco upgrade all --noop
  • pack – converti un nuspec en un nupkg compilé
  • pin – supprime les mises à jour 
  • push – pousse un nupkg compilé
  • search - Recherche 
  • setapikey ou apikey – recupère ou sauvegarde une apikey depuis une source définie
  • sources ou source – affiche et configure les sources par défaut
  • support – fournit des informations de support
  • synchronize ou sync – se synchronise avec le logiciel installé sur le système – génère des packages manquants
  • uninstall – désinstalle un paquet
  • upgrade – met à jour des paquets
Il existe également une alternative afin d'utiliser OneGet de Microsoft :

https://github.com/HansOMartinsen/ChocolateyGet