Installer Apache2
— Serveur Web —
Certificats SSL Web | .htaccess | Authentification par carte à puce | Certificats Let's Encrypt
Archives : Ancien article sur Apache2 | Module Whois | ProFTPd
Configuration du service SSH pour SFTP
|
Un compte SFTP ne doit pouvoir se connecter qu’au service SFTP du serveur et avoir accès qu’au répertoire home. |
- Editer le fichier de configuration /etc/ssh/sshd_config. Commenter la ligne suivante :
#Subsystem sftp /usr/lib/openssh/sftp-server
- Puis, à la fin du fichier, ajouter les lignes suivantes :
Subsystem sftp internal-sftp Match group sftp X11Forwarding no ChrootDirectory /home/ AllowTcpForwarding no ForceCommand internal-sftp
- Pour appliquer la configuration, redémarrer le service ssh :
|
|
Installation du serveur Web
- Installation du paquet Apache2 (Serveur Web) et de ses dépendances :
|
|
- Installations de modules complémentaires pour Apache2 notamment pour l’authentification Kerberos :
|
|
- Installation du module FCGID pour la gestion de requêtes CGI simultanées :
|
|
- Installation du module mpm_itk pour l’exécution du processus Apache avec l’utilisateur assigné au VHost :
|
|
- Installation du module PHP en version courante (module pour Apache2) et de ses dépendances :
|
|
- Activation d’SSL de la réécriture d’url et de FCGI sur Apache2 :
|
|
- Redémarrage du service Apache2 pour la bonne prise en compte des nouveaux paramètres:
|
|
Installation d’une version spécifique de PHP
|
Les versions de PHP proposées dans les dépôts Debian peuvent être obsolètes. Il est donc nécessaire d’ajouter le dépôt SURY qui regroupe un certain nombre de package PHP pour les distribution Linux basées sur Debian. |
Installation
- Ajout du dépôt et installation des dépendances :
|
|
- Installation de la version 8.1 de PHP (exemple à adapter en fonction de la version souhaitée) :
|
|
Création d’un pool spécifique pour le VHost
|
Les pools permettent de contrôler les droits et les ressources utilisés pour chaque VHost hébergés sur le serveur. |
- Créer le fichier de configuration /etc/php/8.2/fpm/pool.d/exemple.conf et y adapter/coller les lignes suivantes :
[exemple] user = exemple group = exemple listen = /run/php/php8.2-fpm.exemple.sock listen.owner = exemple listen.group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
- Redémarrer le service pour prendre en compte les nouveaux paramètres :
|
|
Activation au niveau d’un VHost
- Editer le fichier de configuration du VHost puis ajouter les éléments suivant avant la balise </virtual> :
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.exemple.sock|fcgi://localhost"
</FilesMatch>
Activation par défaut
- Pour activer la version PHP 8.1 par défaut sur le serveur web Apache2 :
|
|
Paramétrage du pare-feu
Matrice des flux autorisés
Par défaut, les flux non listés ci-dessous ne sont pas autorisés sur l’équipement.
Source | Protocole(s) | Port(s) | Description |
---|---|---|---|
* | tcp | 22 | Accès SSH, SFTP. |
* | tcp | 80 | Accès Web HTTP. |
* | tcp | 443 | Accès Web HTTPS. |
<@IP_SUPERVISION> | udp | 161,162 | Accès SNMP depuis serveur supervision. |
* | icmp | — | Réponse aux requêtes ping. |
Configuration iptables sur la couche IPv4
- Installation des paquets iptables (pare-feu) et iptables-persistent (sauvegarde persistante de la configuration).
|
|
- Ajout des règles iptables pour autoriser les flux SSH, ICMP et WEB :
|
|
- Sauvegarde de la configuration et application automatique à chaque redémarrage du système.
|
|
Configuration ip6tables sur la couche IPv6
- Ajout des règles ip6tables pour autoriser les flux SSH, ICMP et WEB :
|
|
- Sauvegarde de la configuration et application automatique à chaque redémarrage du système.
|
|
Configuration supervision SNMP
- Installation du paquet snmpd.
|
|
- Depuis le fichier de configuration /etc/snmp/snmpd.conf, rechercher la ligne :
sysLocation sysContact
- Puis, remplacer son contenu par :
sysLocation PARIS,DC5 sysContact webmaster@domaine.tld
- Rechercher la ligne :
agentaddress 127.0.0.1,[::1]
- Puis, remplacer son contenu par :
agentaddress <@IP_PUBLIC_APACHE2>
- Rechercher la ligne :
rocommunity public default –V systemonly
- Puis, remplacer son contenu par :
rocommunity public default
- Redémarrer le service snmp pour appliquer les changements.
|
|
Synchronisation du temps
- Installation du paquet ntpdate :
|
|
- Depuis le fichier de configuration ntpdate disponible dans le répertoire /etc/default, rechercher la ligne :
NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org"
- À remplacer par (optionnel, si vous disposez d'un serveur NTP spécifique) :
NTPSERVERS="<@IP_NTP_SERVEUR>"
- Forcer la synchronisation du temps avec le serveur de temps :
|
|