Installation de Gestsup
On met d'abord l'OS à jour puis on télécharge LAMP.
apt update && apt upgrade -y && apt dist-upgrade -y
apt install apache2 mariadb-server php7.3 php7.3-mysql php7.3-xml php7.3-curl php7.3-imap php7.3-ldap php7.3-zip php7.3-mbstring php7.3-gd unzip ntp -y
On crée l'utilisateur gestsup et on lui donne les droits. (on peut attribuer les droits uniquement à la BDD de gestsup).
mariadb -u root
CREATE USER 'gestsup'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'gestsup'@'localhost';
FLUSH PRIVILEGES;
exit
On modifie la configuration de PHP.
nano /etc/php/7.3/apache2/php.ini
Max_execution_time = 480
Memory_limit = 512M
upload_max_filesize = 8M
Date.timezone = Europe/Paris
On télécharge Gestsup puis on l'extrait.
wget -P /var/www/html https://gestsup.fr/downloads/versions/current/version/gestsup_3.2.5.zip
unzip /var/www/html/gestsup_3.2.5.zip -d /var/www/html
On supprime l'archive et le fichier index.html.
rm /var/www/html/gestsup_3.2.5.zip
rm /var/www/html/index.html
On crée l'utilisateur gestsup et on modifie les permissions.
adduser gestsup --ingroup www-data
chown -R gestsup:www-data /var/www/html/
find /var/www/html/ -type d -exec chmod 750 {} \;
find /var/www/html/ -type f -exec chmod 640 {} \;
chmod 770 -R /var/www/html/upload
chmod 770 -R /var/www/html/images/model
chmod 770 -R /var/www/html/backup
chmod 770 -R /var/www/html/_SQL
chmod 660 /var/www/html/connect.php
On redémarre le serveur.
On se rend à l'adresse suivante dans un navigateur web : http://192.168.199.105/install/ (à remplacer par l'adresse IP du serveur ou le nom DNS).
On utilise l'utilisateur créé précédemment dans la base de données.
On clique sur "Suivant".
On supprime le répertoire d'installation .
rm -rf /var/www/html/install/
On se connecte.
On modifie le mot de passe par défaut.
On clique sur cette icône à droit du nom d'utilisateur.
On modifie les droits après installation.
chmod 640 /var/www/html/connect.php
Sécurisation
nano /etc/apache2/conf-available/security.conf
nano /etc/apache2/apache2.conf
On supprime "Indexes".
On installe et configure fail2ban.
apt install fail2ban -y
systemctl enable fail2ban
nano /etc/fail2ban/jail.local
[apache-auth]
enabled = true
port = http,https
logpath = %(apache_error_log)s
[apache-badbots]
enabled = true
port = http,https
logpath = %(apache_access_log)s
bantime = 48h
maxretry = 1
[apache-noscript]
enabled = true
port = http,https
logpath = %(apache_error_log)s
On redémarre ensuite fail2ban puis on vérifie le bon fonctionnement.
systemctl restart fail2ban
fail2ban-client status