Qu'est-ce que le serveur Web Apache ?
Apache ou Apache HTTP server est un serveur Web gratuit et open source, développé et maintenu par Apache Software Foundation. Sa popularité peut être jugée par le fait qu'environ 46% des sites Web dans le monde sont alimentés par Apache. Apache permet aux développeurs de sites Web de diffuser leur contenu sur le Web. Il sert de livreur en livrant les fichiers demandés par les utilisateurs lorsqu'ils saisissent un nom de domaine dans la barre d'adresse de leur navigateur.
Ce tutoriel concerne l'installation et la configuration d'Apache2 sur votre système Ubuntu. Les commandes et procédures mentionnées dans cet article ont été exécutées sur un système Ubuntu 18.04 LTS. Puisque nous utilisons la ligne de commande Ubuntu, le Terminal, dans cet article; vous pouvez l'ouvrir via le système Dash ou le Ctrl+Alt+T raccourci.
Installer Apache 2 sur Ubuntu Linux
Veuillez suivre les étapes suivantes pour installer le logiciel Apache2 via les dépôts officiels d'Ubuntu.
Étape 1 :Mettre à jour les dépôts système
Vous pouvez télécharger la dernière version d'un logiciel en mettant d'abord à jour l'index de package local des référentiels Ubuntu. Ouvrez le Terminal et entrez la commande suivante pour ce faire :
$ sudo apt update
Étape 2 :Installez Apache 2 avec la commande apt
Ensuite, entrez la commande suivante en tant que sudo afin d'installer Apache2 et ses dépendances requises :
$ sudo apt install apache2
Vous pouvez être invité avec une option y/n pour continuer l'installation. Veuillez entrer Y, après quoi la procédure d'installation commencera.
Étape 3 :Vérifiez l'installation d'Apache
Lorsque l'installation est terminée, vous pouvez vérifier le numéro de version et ainsi vérifier qu'Apache2 est bien installé sur votre système en saisissant la commande suivante :
$ apache2 -version
Configurer les paramètres du pare-feu
Afin de configurer Apache, nous devons d'abord autoriser l'accès extérieur à certains ports Web de notre système et autoriser Apache sur votre pare-feu UFW.
Étape 1 :répertorier les profils d'application UFW
Afin de configurer le pare-feu, listons d'abord les profils d'application dont nous aurons besoin pour permettre l'accès à Apache. Utilisez la commande suivante pour répertorier ces applications disponibles :
$ sudo ufw app list
Dans la sortie ci-dessus, vous pouvez voir trois profils Apache offrant tous différents niveaux de sécurité ; Apache étant celui qui fournit une restriction maximale avec le port 80 toujours ouvert.
Étape 2 :Autoriser Apache sur UFW et vérifier son statut
Autoriser Apache sur UFW ouvrira le port 80 pour le trafic réseau, tout en offrant une sécurité maximale au serveur. Veuillez configurer UFW pour autoriser Apache via la commande suivante :
$ sudo ufw allow 'Apache'
L'état d'UFW affichera désormais Apache activé sur le pare-feu.
$ sudo statut ufw
Configurer les paramètres du serveur Web Apache
Étape 1 :Vérifiez que le service Apache est en cours d'exécution
La première étape consiste à vérifier que le service Apache2 est opérationnel sur votre système, via la commande suivante :
$ sudo systemctl status apache2
Le statut "actif (en cours d'exécution) vérifie que le service apache2 est en cours d'exécution.
Étape 2 :Vérifiez qu'Apache fonctionne correctement et écoute votre adresse IP
Vous pouvez également vérifier si Apache est en cours d'exécution en demandant une page au serveur Apache. À cette fin, vous pouvez utiliser l'adresse IP de votre serveur pour accéder à la page de destination d'Apache.
Utilisez la commande suivante pour connaître l'IP de votre serveur :
$ hostname -I
Essayez ensuite les adresses IP, une par une à partir de la sortie, dans votre navigateur Web comme suit :
http://server_IP
Dans mon cas, http://192.168.100.4 et http://192.168.100.5. Cela affichera la page Web Apache suivante pour Ubuntu, vérifiant que le serveur Apache fonctionne correctement.
Configurer des hôtes virtuels dans Apache
Un hôte virtuel est similaire à ce que vous avez des blocs de serveur dans Nginx. Il est utilisé pour gérer les configurations de plusieurs domaines à partir d'un serveur. Nous allons présenter un exemple de configuration d'un hôte virtuel via le serveur Apache. Nous allons configurer un site Web nommé sampledomain.com en utilisant le bloc de serveur activé par défaut dans Apache pour Ubuntu 18.
Étape 1 :Configurer un nom de domaine
Le bloc serveur activé par défaut est capable de servir des documents à partir de /var/www/html. Cependant, nous allons créer un répertoire à /var/www/ en laissant le répertoire par défaut intact.
Créez ce répertoire via la commande suivante, en remplaçant sampledomain.com par votre nom de domaine respectif.
sudo mkdir -p /var/www/sampledomain.com/html
Attribuez ensuite la propriété du répertoire via les commandes suivantes :
sudo chown -R $USER:$USER /var/www/sampledomain.com/html
sudo chmod -R 755 /var/www/sampledomain.com
Créons maintenant une page d'index à laquelle nous pourrons accéder plus tard pour tester si Apache exécute notre nom de domaine. Créez un fichier HTML via l'éditeur Nano ou l'un de vos éditeurs de texte préférés.
$ nano /var/www/sampledomain.com/html/index.html
Saisissez le code HTML suivant pour la page d'index :
<html> <head> <title>Welcome to the page sampledomain.com!</title> </head> <body> <h1>You got Lucky! Your sampledomain.com server block is up!</h1> </body> </html>
Nous utilisons l'éditeur nano pour créer le fichier HTML.
Vous pouvez enregistrer un fichier dans nano en utilisant Ctrl+X, puis en saisissant Y et en appuyant sur Entrée.
Apache a besoin d'un fichier d'hôte virtuel pour servir le contenu de votre serveur. Le fichier de configuration par défaut à cet effet est déjà créé mais nous en créerons un nouveau pour nos configurations personnalisées.
$ sudo nano /etc/apache2/sites-available/sampledomain.com.conf
Entrez les détails de configuration personnalisés suivants pour notre nom de domaine :
<VirtualHost *:80> ServerAdmin [email protected] ServerName sampledomain.com ServerAlias www.sampledomain.com DocumentRoot /var/www/sampledomain.com/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Nous utilisons l'éditeur nano pour créer ce fichier .conf.
Vous pouvez enregistrer un fichier dans nano en utilisant Ctrl+X puis entrez Y et appuyez sur Entrée.
Étape 2 :Activez le fichier de configuration du domaine
Activez le fichier de configuration que nous avons créé avec l'outil a2ensite :
$ sudo a2ensite sampledomain.com.conf
La sortie suggérera d'activer la nouvelle configuration, mais nous pouvons tout faire collectivement après avoir exécuté la commande suivante qui désactive le fichier de configuration d'origine :
$ sudo a2dissite 000-default.conf
Redémarrez maintenant le service Apache :
$ sudo systemctl restart apache2
Étape 3 :Testez les erreurs
Enfin, testons s'il y a des erreurs de configuration via la commande suivante :
$ sudo apache2ctl configtest
Si vous n'obtenez aucune erreur, vous obtiendrez le résultat suivant :
Cependant, l'erreur suivante est courante dans Ubuntu 18.04
Résolvez l'erreur :
Entrez la commande suivante afin de résoudre l'erreur mentionnée ci-dessus :
$ echo "ServerName sampledomain.com | sudo tee /etc/apache2/conf-available/servername.conf
Et ensuite :
$ sudo a2enconf servername
Désormais, lorsque vous vérifierez à nouveau les erreurs, vous verrez cette erreur résolue via la sortie suivante :
Étape 4 :Testez si Apache diffuse votre nom de domaine
Le serveur Apache est maintenant configuré pour servir votre nom de domaine. Cela peut être vérifié en saisissant le nom de votre serveur comme suit dans l'un des navigateurs Web exécutés sur votre système :
http://sampledomain.com
La page d'index devrait s'afficher comme suit, indiquant qu'Apache est maintenant prêt à servir votre bloc serveur !
Quelques commandes de gestion Apache courantes
Après avoir configuré le serveur Web, vous devrez peut-être effectuer certaines opérations de gestion de base sur Apache. Voici les commandes que vous pouvez entrer dans votre application Terminal pour ces opérations.
sudo systemctl start apache2
Utilisez cette commande comme sudo pour démarrer le serveur Apache.
sudo systemctl stop apache2
Utilisez cette commande en tant que sudo afin d'arrêter le serveur Apache lorsqu'il est en mode de démarrage.
sudo systemctl restart apache2
Utilisez cette commande comme sudo pour arrêter puis redémarrer le service Apache.
sudo systemctl reload apache2
Utilisez cette commande en tant que sudo afin d'appliquer les modifications de configuration sans redémarrer la connexion.
sudo systemctl enable apache2
Utilisez cette commande en tant que sudo afin de permettre à Apache de démarrer à chaque fois que vous démarrez votre système.
sudo systemctl disable apache2
Utilisez cette commande en tant que sudo afin de désactiver si vous avez configuré Apache pour qu'il démarre à chaque fois que vous démarrez votre système.
Conclusion
Grâce à cet article, vous avez appris à installer et à configurer le serveur Web Apache sur votre système Ubuntu. Cela inclut la modification de votre pare-feu UFW, puis la configuration de votre serveur Web pour votre adresse IP. Nous vous recommandons également de configurer un hôte virtuel via Apache ; cela vous donnera une base sur la façon d'utiliser Apache pour héberger vos fichiers sur Internet. Les commandes de gestion de base d'Apache vous aideront également en tant qu'administrateur Web à gérer votre serveur Web de manière optimale.