GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Configurer et héberger une application dans le serveur Web Apache sous Linux

Dans notre article précédent, "Comment installer le serveur Web Apache sur Linux", nous avons expliqué comment installer Apache sur une machine Linux. Maintenant, dans cet article, nous allons suivre la configuration de base d'Apache qui comprendra

  • Autoriser le trafic Apache via le pare-feu
  • Gestion des services Apache
  • Configuration des hôtes virtuels dans Apache
  • Configurer Apache pour qu'il écoute sur un autre port
  • Autoriser/Refuser l'accès à partir d'adresses IP spécifiques

Prérequis

  • Système Ubuntu 20.04
  • Utilisateur avec privilèges sudo
  • Un serveur Web Apache installé

Remarque : Les commandes décrites dans cet article ont été testées sur Ubuntu 20.04 LTS (Fosse focale). Les mêmes commandes sont également valables pour la distribution Debian.

Autoriser le trafic Apache via le pare-feu

Si un pare-feu est activé sur votre système d'exploitation, vous devrez autoriser le trafic Apache à le traverser. Le serveur Apache écoute par défaut sur le port 80 pour HTTP et 443 pour https. Afin d'autoriser le trafic HTTP (port 80) à travers le pare-feu, exécutez la commande suivante dans Terminal :

$ sudo ufw allow 'Apache'

Pour autoriser le trafic HTTPS (port 443) via le pare-feu, exécutez la commande suivante dans Terminal :

$ sudo ufw allow 'Apache Secure'

Afin d'autoriser le trafic HTTP (port 80) et HTTPS (port 443) dans le pare-feu, exécutez les commandes suivantes dans Terminal :

$ sudo ufw allow 'Apache complet'

Gestion des services Apache

Après l'installation, le service Apache démarre automatiquement en arrière-plan. Pour afficher l'état du service Apache, lancez la commande ci-dessous dans Terminal :

$ systemctl status apache2

Dans la sortie suivante, actif (en cours d'exécution) l'état indique que le service Apache est actif et fonctionne sans aucun problème.

Pour démarrer manuellement le service Apache, utilisez la commande ci-dessous :

$ sudo systemctl start apache2

Pour permettre au service Apache de démarrer automatiquement au démarrage/démarrage, utilisez la commande ci-dessous :

$ sudo systemctl enable apache2

Pour redémarrer le service Apache, utilisez la commande ci-dessous :

$ sudo systemctl restart apache2

Pour arrêter le service Apache, utilisez la commande ci-dessous :

$ sudo systemctl stop apache2

Configuration des hôtes virtuels dans Apache

L'hôte virtuel dans Apache vous permet d'exécuter un certain nombre de sites Web à partir d'un seul serveur Web Apache. Dans la section suivante, nous allons configurer un hôte virtuel pour notre domaine "test.org". Pour plusieurs domaines, suivez les mêmes étapes pour chaque domaine.

Étape 1 :Créez un annuaire pour votre domaine

La première étape consistera à créer un répertoire pour votre domaine. Si vous devez héberger plusieurs domaines, créez des répertoires distincts pour chaque domaine. Pour notre domaine test.org , nous allons créer le répertoire avec la commande suivante :

$ sudo mkdir /var/www/test.org

Assurez-vous de remplacer test.org avec votre nom de domaine.

Étape 2 :Définissez la propriété et les autorisations

Le répertoire de notre domaine appartient actuellement à l'utilisateur root. Afin de permettre aux autres utilisateurs de modifier les fichiers, nous devrons changer le propriétaire du répertoire. Utilisez la commande suivante dans Terminal :

$ sudo chown -R $USER:$USER /var/www/test.org

Définissez également les autorisations requises sur le répertoire du domaine. Le 755 dans la commande ci-dessous attribue des autorisations de lecture et d'exécution à tout le monde tandis que les autorisations de lecture, d'écriture et d'exécution sont attribuées au propriétaire du fichier.

$ sudo chmod -R 755 /var/www/test.org

Étape 3 :Créez un exemple de page index.html pour votre domaine

Créez maintenant un exemple index.html page de votre domaine pour diffuser du contenu. Créer un fichier index.html dans /var/www/test.org répertoire.

Nous utilisons l'éditeur Nano à cette fin :

$ sudo nano /var/www/test.org/index.html

Ajoutez le contenu suivant dans le fichier.

Votre bloc de serveur test.org est en place !

Ceci est une page de test pour le site Web test.org !

Une fois que vous avez terminé l'édition, enregistrez et fermez le index.html fichier.

Maintenant, l'exemple index.html page a été créée pour notre site.

Étape 4 :Créer un nouveau fichier d'hôte virtuel

Dans Apaches, il existe un fichier d'hôte virtuel par défaut qui contient des configurations pour le serveur Web par défaut. Pour notre domaine test.org , nous allons créer un fichier d'hôte virtuel séparé.

Exécutez la commande suivante dans Terminal pour créer le fichier d'hôte virtuel pour votre domaine :

$ sudo nano /etc/apache2/sites-available/test.org.conf

Ajoutez le contenu ci-dessous dans le fichier.

ServerAdmin [email protected]ServerName test.orgServerAlias ​​www.test.orgDocumentRoot /var/www/test.org/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combiné 

Assurez-vous de remplacer le test.org avec votre propre nom de domaine.

Une fois que vous avez terminé l'édition, enregistrez et fermez le fichier.

Étape 5 :Activer le fichier d'hôte virtuel

Nous allons maintenant activer le fichier d'hôte virtuel que nous avons créé à l'étape précédente. Exécutez la commande ci-dessous dans Terminal pour ce faire :

$ sudo a2ensite test.org.conf

Nous n'utilisons pas le fichier d'hôte virtuel par défaut, nous pouvons donc le désactiver. Utilisez la commande suivante pour le désactiver :

$ sudo a2dissite 000-default.conf

Rechargez maintenant les configurations Apache à l'aide de la commande suivante :

$ systemctl recharge apache2

Étape 6 :Configurer le fichier hosts (facultatif)

Si vous n'avez pas de nom de domaine réel et que vous souhaitez uniquement tester la procédure en utilisant n'importe quel domaine de test, vous devrez ajouter une entrée pour votre domaine dans /etc/hosts fichier.

Modifiez le fichier /etc/hosts fichier à l'aide de la commande suivante dans Terminal :

$ sudo nano /etc/hosts

Ajoutez l'entrée suivante dans ce fichier en remplaçant server_IP et nom_domaine avec l'adresse IP et le nom de domaine de votre environnement.

nom_domaine_IP_serveur

Dans notre exemple, l'entrée serait :

192.168.72.157 test.org

Maintenant, enregistrez et fermez le fichier /etc/hosts.

Étape 6 :Testez les erreurs

Testez maintenant les configurations Apache pour toute erreur. Utilisez la commande suivante pour ce faire :

test de configuration $ sudo apache2ctl

Si tout va bien, vous verrez le message Syntaxe OK message dans la sortie. Vous pouvez également voir le message d'avertissement suivant dans le résultat du test.

Pour supprimer ce message, ajoutez ServerName directive dans /etc/apache2/apache2.conf fichier.

Modifiez le fichier /etc/apache2/apache2.conf fichier en utilisant la commande suivante dans Terminal :

$ sudo nano /etc/apache2/apache2.conf

Ajoutez l'entrée suivante dans le fichier en remplaçant test.org avec votre nom de domaine :

NomServeur test.org

Enregistrez et fermez le fichier.

Encore une fois, testez Apache pour les erreurs de configuration. Vous verrez maintenant que l'avertissement a été supprimé.

Étape 7 :Testez si Apache diffuse votre nom de domaine

Maintenant, testez la configuration en accédant à l'adresse suivante dans la barre d'adresse de votre navigateur Web.

http://nom_domaine

Dans notre exemple, ce serait :

http://test.org

La page suivante indique que l'hôte virtuel a été configuré avec succès et qu'Apache sert notre nom de domaine.

Configurer Apache pour écouter sur un port différent

Par défaut, Apache écoute le trafic Web sur le port 80. Dans certains cas, vous devrez peut-être modifier le port Apache, par exemple lorsqu'un autre service écoute déjà sur le port 80, que le FAI a bloqué le port 80 ou que vous souhaitez empêcher le port 80 attaques. Cependant, rappelez-vous qu'après avoir changé le port par défaut, vous devez pointer les navigateurs vers le nouveau port comme http://domain_name:port_nmuber.

1. Modifiez le fichier /etc/apache2/ports.conf fichier en utilisant la commande ci-dessous :

$ sudo nano /etc/apache2/ports.conf

Il s'agit de la vue par défaut de ports.conf fichier où vous pouvez voir le port 80 configuré comme port par défaut.

Remplacez ce numéro de port par toute autre valeur que vous souhaitez que le serveur Apache écoute.

Enregistrez et fermez le fichier ports.conf une fois que vous avez terminé l'édition.

2. Maintenant, vous devrez configurer votre hôte virtuel pour écouter sur le nouveau port. Pour modifier le fichier d'hôte virtuel, utilisez la commande suivante dans Terminal :

Fichier $ sudo nano /etc/apache2/sites-avaialble/test.org.conf

Dans la commande ci-dessus, assurez-vous de remplacer le test.org.conf avec le nom de votre fichier d'hôte virtuel.

Trouvez l'entrée et changez la valeur de 80 à n'importe quel numéro que vous voulez qu'Apache écoute. Par exemple, pour changer le numéro de port en 9090 , l'entrée serait remplacée par .

Remarque :Pour définir un numéro de port, choisissez une valeur comprise entre 1024 et 65535.

Une fois terminé, enregistrez et fermez le fichier.

Apache peut également être configuré pour écouter sur plusieurs ports. Par exemple, pour définir les ports 80 et 9090 comme ports d'écoute, ajoutez les entrées suivantes dans /etc/apache2/ports.conf fichier :

Écoutez 80Écoutez 9090 

Également dans le /etc/apache2/sites-avaialble/test.org.conf fichier, ajoutez une entrée de la manière suivante :

Une fois que vous avez terminé, redémarrez le service Apache à l'aide de la commande suivante dans Terminal :

$ sudo systemctl restart apache2

Autoriser/Refuser l'accès à partir d'adresses IP spécifiques

Dans la section suivante, nous verrons comment autoriser/interdire à des adresses IP spécifiques d'accéder à notre site. Nous utiliserons le fichier .htaccess à cette fin.

Étape 1 :Activez apache .htaccess

Tout d'abord, nous devrons activer le fichier .htaccess. Pour ce faire, lancez la commande suivante dans Terminal :

$ sudo nano /etc/apache2/sites-available/test.org.conf

Après le bloc VirtualHost, ajoutez les lignes suivantes dans le fichier :

Options Indexes FollowSymLinksAllowOverride AllRequire all enabled

Enregistrez maintenant le fichier et redémarrez Apache à l'aide de la commande suivante :

$ sudo systemctl apache2 redémarrer

Étape 2 :Créer un fichier .htaccess

Nous devrons maintenant créer le fichier .htaccess. Accédez au répertoire racine de l'hôte virtuel.

$ cd /var/www/test.org

Créez ensuite le fichier .htaccess ici en utilisant la commande suivante :

$ sudo nano .htaccess

Étape 3 :Autoriser/Refuser les adresses IP

Pour nier certaines adresses IP d'accéder à votre site Web, vous devrez ajouter des entrées dans le fichier .htaccess de la manière suivante :

order deny, allow# Pour refuser l'adresse IP 192.168.9.8allow from 192.168.9.8# Pour refuser toutes les adresses IP de 192.168.9.0 à 192.168.9.255allow from 192.168.9To allow A cet effet, les adresses IP d'accéder à votre site web, vous devrez ajouter des entrées dans le fichier .htaccess de la manière suivante :
order deny, allow# Pour refuser toutes les adresses IPDeny from all# Il autorisera l'adresse IP 192.168.9.30allow from 192.168.9.30# Il autorisera toutes les adresses IP de 192.168.9.0 à 192.168.9.255
autoriser à partir de 192.168.9

C'est tout ce qu'il y a à faire ! Dans cet article, vous avez appris les bases des configurations Apache sous Linux. Cela inclut la configuration du pare-feu, la gestion des services Apache, la configuration des hôtes virtuels, la modification des ports d'écoute par défaut et l'autorisation/le refus d'accès aux sites par des adresses IP spécifiques. Pour plus d'informations sur les configurations Apache, consultez la documentation officielle du serveur Apache à l'adresse http://httpd.apache.org/docs/.


Ubuntu
  1. Comment configurer un serveur Web Apache

  2. Comment installer le serveur Web Apache sur CentOS 7

  3. Installer le serveur Web Apache sur Linux Mint 13 / Linux Mint 14

  4. Installez Nginx et configurez l'hôte virtuel dans Ubuntu 20.04

  5. Comment installer et configurer le serveur Web Apache sur Ubuntu 13.10

Comment installer et configurer le serveur Web Apache sur Ubuntu

Comment héberger un site Web sur un serveur Web Apache

Comment installer et configurer le serveur Apache SVN sur le bureau Linux

Comment installer et configurer Apache Webserver sur Oracle Linux 8

Comment installer et configurer un serveur Web LAMP sur Ubuntu 18.04

Comment installer et configurer un serveur Linux Ubuntu NFS