Comment installer et configurer Apache sur Debian 10
- 1189
- 238
- Anaïs Charles
Préalables
Vous devez avoir SSH avec l'accès aux privilèges sudo au serveur pour l'installation du serveur Web Apache sur Debian 10.
Installez Apache sur Debian 10
Tout d'abord, connectez-vous à votre système Debain 10 via SSH et mettez à jour le cache APT. Installez ensuite les packages de serveur HTTP APACHE2 comme ci-dessous:
sudo apt mise à jour sudo apt install apache2
Gérer le service Apache
Le service Apache est géré avec la ligne de commande SystemCTL. Après l'installation, utilisez la commande suivante pour vérifier l'état du service Apache.
Sudo Systemctl Status apache2.service
Voici les autres commandes pour arrêter, démarrer ou redémarrer le service Apache via la ligne de commande.
sudo systemctl stop apache2.service sudo systemctl start apache2.Service sudo systemctl redémarrer apache2.service
Tester la configuration d'Apache
Vous pouvez afficher les détails de la version Apache installés à l'aide de la commande suivante.
APACHE2 -V Version du serveur: Apache / 2.4.38 (Debian) Serveur construit: 2019-10-15T19: 53: 42
Accédez maintenant à votre serveur Apache à l'aide de l'adresse IP du serveur ou d'un domaine pointé sur l'IP du serveur. Vous verrez une page Apache par défaut sur le navigateur Web. Cela signifie qu'Apache Web Server a réussi à installer sur votre système Debian 10.
Créer des hôtes virtuels
Créons le premier hôte virtuel sur votre serveur Apache. Pour le tutoriel, nous utilisons un exemple de domaine «Exemple.com ». Ici, nous créerons un hôte virtuel par exemple.com sur le port 80.
Créez un exemple de fichier d'index dans un répertoire:
sudo mkdir -p / var / www / exemple.com sudo echo "Hello Exemple.com "> / var / www / exemple.com / index.html
Créez ensuite le fichier de configuration VirtualHost et modifiez dans l'éditeur:
sudo vim / etc / apache2 / sites disponible / exemple / exemple.com.confli
Ajouter le contenu suivant dans le fichier de configuration. Vous pouvez modifier le nom de domaine selon votre domaine.
ServerAdmin Admin @ Exemple.com documentroot / var / www / exemple.COM ServerName Exemple.com servealias www.exemple.com #Allowoverride All ### Uncomment si requis ErrorLog $ apache_log_dir / exemple.com_error.log Customlog $ apache_log_dir / exemple.com_accé.journal combiné123456789101112 |
Enregistrez le fichier de configuration VirtualHost, puis activez VirtualHost et rechargez le service Apache à l'aide des commandes suivantes:
Exemple Sudo A2ensite.com sudo systemctl reload apache2.service
Configurer SSL VirtualHost
Vous pouvez ignorer cette étape si vous n'avez pas besoin de SSL. Mais la sécurité est toujours le concert principal pour n'importe quel site Web.
L'Apache Https par défaut écoute sur le port 443. Assurez-vous qu'aucun autre service n'utilisant le même port. Maintenant, vous devez activer le module SSL Apache, qui est désactivé par défaut.
sudo a2enmod ssl
Pour le tutoriel, j'ai suivi ces instructions pour générer un certificat SSL auto-signé pour notre domaine.
Créez ensuite un nouveau fichier hôte virtuel et modifiez-le:
sudo vim / etc / apache2 / sites disponible / exemple / exemple.com_ssl.confli
avec le contenu suivant:
ServerAdmin Admin @ Exemple.com documentroot / var / www / exemple.COM ServerName Exemple.com servealias www.exemple.com #allowoverride tout ### inconvénient si nécessaire sslengine sur sslcertificatefile / etc / pki / tls / certs / exemple.com.CRT SSLCertificateKeyFile / etc / PKI / TLS / CERTS / Exemple.com.Key ErrorLog $ apache_log_dir / exemple.com_ssl-error.log Customlog $ apache_log_dir / exemple.com_ssl-accès.journal combiné123456789101112131415161718 |
Voici trois termes utilisés pour configurer SSL VirtualHost:
- Sslengine - Réglez ceci sur «ON»
- Sslcertificatefile - Définissez le chemin de votre certificat SSL
- Sslcertificatekeyfile - Il s'agit des fichiers de clés privés utilisés pour générer un certificat SSL
Après cela, activez le VirtualHost et rechargez le service Apache à l'aide des commandes suivantes:
Exemple Sudo A2ensite.com_ssl sudo systemctl reload apache2.service
Secure Apache Server
Modifier le fichier de configuration de la sécurité Apache
sudo vim / etc / apache2 / conf-compatiable / Security.confli
Voici les multiples paramètres liés à la sécurité. Ajouter ou mettre à jour les paramètres suivants. Nous n'allons pas dans des descriptions détaillées à ce sujet, mais ces paramètres sont très utiles pour les serveurs de production.
SERVERTOKENS PROD SERVERSIGNATURATURE OFF TRACEALABLE OFF TENDER TOUJOUR Transport-Security "MAX-Age = 31536000; incluent les en-tête de la base" Modifier toujours Set-Cookie ^ (.*) $ 1 $; httponly; sécurisé12345678 | SERVERTOKENS PRODSERSERVERSIGNATURE OFFTRACIABLE DE DUFFEMBRE APPENDANT TOUJOURS X-Frame-Options SameoriginHeader toujours définir X-XSS-Protection: "1; Mode = Block" L'en-tête définit toujours le Type-Type-Type-Options "Nosniff" définir toujours Strict-Transport-Security " max-age = 31536000; incluse.*) $ 1 $; httponly; sécurisé |
Modifiez maintenant le fichier de configuration SSL. Ici, vous pouvez définir le protocole SSL large du serveur et SSLCiphersuite pour utiliser des cipères sécurisés pour servir votre site Web.
sudo vim / etc / apache2 / mods-compatible / ssl.confliSslprotocol -all + tlsv1.2 SSLCiphersuite High:!anull:!Md5
12 | Sslprotocol -all + tlsv1.2SSLCIPHERSuite High:!anull:!Md5 |
Après avoir apporté des modifications à redémarrer le service Apache pour appliquer une nouvelle configuration.
Sudo Systemctl Reload apache2.service
Conclusion
Tout ce qui est fait, vous avez un serveur Apache sécurisé fonctionnant sur votre système Debian 10 Linux.
- « Comment corriger '/ usr / bin / dirmngr' pas de fichier ou de répertoire de ce type
- Comment installer et configurer Fail2ban sur Centos 8 »