Petites notes personnelles
- TELECHARGEMENT DE DEBIAN
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/ - CONFIGURATION MINIMALE
1Go RAM - 20 Go HDD - Déterminer les comptes/Mot de passe utiles
Administrateur
root
Utilisateur
glpi_user
Database Owner
mysql_glpi - MISES A JOUR DE L'ENVIRONNEMENT
apt update && apt upgrade -y
apt-get update
apt-get dist-upgrade - 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 - 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 - CONNEXION A MYSQL
mysql -u [NomUser] -p - VERIFIER QU'APACHE 2 EST ACTIF
systemctl status apache2 - 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 - EDITER LE FICHIER config.inc.php
nano /var/www/html/phpmyadmin/config.inc.php - CREER UNE PASSPHRASE
$cfg['blowfish_secret'] = '[my_secret_passphrase]'; - 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 - REDEMARRER APACHE
sudo systemctl restart apache2 - CREER LE CORPS DE LA DATABASE POUR GLPI
mysql -u [NomUser] -p
Create database [Nom_Database];
exit - 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 - 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 - 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 - INSTALLER NETSAT
apt install net-tools
apt-get install mlocate
updatedb
locate a2enmod
cp - 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 - 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