Skip to content

Installation GestSup

Information : si vous ne disposez pas de compétences Linux, vous pourrez consulter les offres d'hébergement de notre prestataire

Linux Debian 12

Installation automatique

Commande à passer sur un serveur Debian 12 dédié à l'application.

En installant l'application via ce script vous accepter l'activation de la télémétrie par défaut.

apt install curl -y && curl -s https://gestsup.fr/install.deb12.sh | bash

Installation manuelle

Mise à jour système
apt update && apt upgrade -y && apt dist-upgrade -y
Installation des prérequis
apt install apache2 mariadb-server unzip curl ntp cron -y
Installation PHP
apt install php libapache2-mod-php -y
apt install php-{common,curl,gd,imap,intl,ldap,mbstring,mysql,xml,zip} -y
Création utilisateur de base de données
mariadb -u root
CREATE USER 'gestsup'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'gestsup'@'localhost';
FLUSH PRIVILEGES;
exit
Sécurisation MariaDB
mysql_secure_installation

Répondre y aux questions

Modification des paramètres PHP

Éditer le fichier de configuration PHP

nano /etc/php/8.2/apache2/php.ini

Modifier les valeurs suivantes

max_execution_time = 480
memory_limit = 512M
upload_max_filesize = 8M
date.timezone = Europe/Paris
Modification des paramètres MariaDB

Éditer le fichier de configuration MariaDB

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ajouter la valeur suivante dans la section [mysqld] (la valeur doit être au minimum à 25% de la capacité en RAM du serveur)

innodb_buffer_pool_size = 1G

Ajouter la valeur suivante dans la section [mysqld]

skip-name-resolve
Télécharger Gestsup
wget -P /var/www/html https://gestsup.fr/downloads/versions/current/version/gestsup_3.2.X.zip
Extraire les fichiers
unzip /var/www/html/gestsup_3.2.X.zip -d /var/www/html
Suppression des fichiers inutiles
rm /var/www/html/gestsup_3.2.X.zip
rm /var/www/html/index.html
Modifier les droits pour l'installation
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
Redémarrage du serveur
reboot
Installation via le navigateur

Depuis le navigateur web de votre client accédez à l'URL : http://monserveur/ et renseigner l'utilisateur de base de données gestsup avec son mot de passe.
Une fois l'installation terminée, vous pourrez utiliser l'identifiant admin et le mot de passe indiqué à changer à la première connexion.

Répertoire d'installation

Supprimer le répertoire d'installation une fois l'installation finalisée supprimer le répertoire d'installation

rm -rf /var/www/html/install/
Suppression d'utilisateurs

Désactivez les utilisateurs de GestSup dont vous n'avez pas besoin : "Administration" > "Utilisateurs".

Modifier les droits après l'installation
chmod 640 /var/www/html/connect.php
Installation PhpMyAdmin Debian 12 (optionnel) :

Exécuter les commandes suivantes :

apt update 
apt install phpmyadmin
service apache2 restart

Sécurisation

Masquer la version d'Apache utilisée
nano /etc/apache2/conf-available/security.conf
ServerSignature Off
ServerTokens Prod
Bloquer le listing de répertoire
nano /etc/apache2/apache2.conf

Dans la section "Directory /var/www/" supprimez "Indexes"

Installer et configurer fail2ban

cf FAQ

Installer CrowdSec

cf FAQ

Installer un certificat SSL pour l'accès en HTTPS
  • Vérifier que votre serveur à accès à Internet sur le port 80 et 443
  • Vérifier qu'un enregistrement DNS de type A est bien crée gestsup.mondomaine.fr > MON IPv4 PUBLIQUE
  • Vérifier qu'un enregistrement DNS de type AAAA est bien crée gestsup.mondomaine.fr > MON IPv6 PUBLIQUE
  • Vérifier que votre configuration apache dispose du nom gestsup.mondomaine.fr
  • Vérifier que les modules : rewrite_module et ssl_module sont activés ("a2enmod ssl" et "a2enmod rewrite" si ce n'est pas le cas)

Tapez la commande suivante :

apachectl -M
  • Installer snapd

Tapez les commandes suivantes :

apt install snapd
snap install core
  • Installer certbot

Tapez les commandes suivantes :

snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
  • Installer un certificat

Tapez les commandes suivantes :

certbot --apache

Plus d'informations sur https://certbot.eff.org

Restreindre l'accès à PHPMyAdmin à votre adresse IP uniquement :
nano /etc/apache2/conf-available/phpmyadmin.conf
Order Allow,Deny
Allow from 127.0.0.1
Allow from MONIP

Modifier l'alias par défaut :

nano /etc/phpmyadmin/apache.conf
Alias /mon_alias /usr/share/phpmyadmin
service apache2 reload
Installation ClamAV
apt install clamav -y

Mise à jour ClamAV manuelle :

freshclam

Mise à jour automatique :

echo "0 2 * * * root clamscan -r /var/www -l /var/log/clamscan.log >/dev/null 2>&1 " >> /etc/crontab && service cron reload