Création d'hôtes virtuels Apache avec des options Vhosts Activer / Désactiver dans RHEL / CENTOS 7.0

Création d'hôtes virtuels Apache avec des options Vhosts Activer / Désactiver dans RHEL / CENTOS 7.0

Hébergement virtuel permet à Apache Weberver de desservir différents contenus en fonction de l'adresse IP, du nom d'hôte ou du numéro de port utilisé. Ce guide utilisera un Debian comme une approche sur l'activation et la gestion des hôtes virtuels sur Red Hat Enterprise Linux / Centos 7.0 en créant deux répertoires sur / etc / httpd / Chemin, qui conservera toutes les configurations de fichiers de site Web activées et désactivées - les sites disponibles et compatible avec les sites, et deux types de scripts pour agir comme des commandes, l'une qui permet et d'autres qui désactivent les hôtes virtuels spécifiés - a2ensite et a2dissite. Cette approche présente certains avantages car vous devez jouer avec le fichier de configuration HTTPD et chaque hôte virtuel a son propre fichier de configuration qui peut être trouvé sur un seul emplacement - les hôtes activés sont juste des liens symboliques - qui rendent le processus d'activation, de désactivation, de création ou les supprimer très gérable.

Hébergement virtuel Apache avec options d'activation / de désactivation

Exigences

  1. Installation de base de la lampe sur Rhel / Centos 7.0

Créer et gérer les hôtes virtuels Apache dans Rhel / Centos 7

1. Pour commencer, commencez par entrer / etc / httpd / Chemin, créer des répertoires disponibles sur des sites et compatibles sur des sites et modifier Apache httpd.confli fichier pour appliquer le nouvel emplacement de sites Web activés.

# cd / etc / httpd / # sites mkdir-sites disponibles-activé # nano conf / httpd.confli
Créer des répertoires Apache Vhost

2. Sur httpd.confli fichier Ajouter la ligne directive suivante en bas du fichier, qui fera lire et analyser tous les fichiers situés sur / etc / httpd / sites compatible / terminé dans .confli extension.

Inclut les sites optionnels compatibles / *.confli
Activer les répertoires Apache

3. À l'étape suivante, créez un nouvel hôte virtuel sur les sites disponibles Emplacement à l'aide d'un nom descriptif - dans ce cas j'ai utilisé le plus.lan.confli - et utilisez le fichier suivant comme modèle.

# nano / etc / httpd / sites-disponible / rheltest.lan.confli

Utilisez cette configuration comme guide.

 Servername Rheltest.lan documentroot "/ var / www / rheltest.LAN "Index d'options suitSymLinks MultiViews # Contrôles d'alloour .fichiers htaccess. ALLERVERRIDE Tous # Contrôles qui peuvent obtenir des choses de cet ordre de fichier de serveur Autoriser, nier Autoriser à tous les serveurs de l'environnement apache Apache ErrorLog / var / log / httpd / rheltest.error.journal Customlog / var / log / httpd / rheltest.accès LAN.journal combiné 
Créer des vhosts Apache

4. Si tu as changé Document de document Emplacement sur votre hôte virtuel à partir de défaut / var / www / html à un autre chemin assurez-vous de créer également ce chemin.

# mkdir -p / var / www / rheltest.lan

NOTE: Assurez-vous également que HostName Host est un enregistrement DNS valide ou est ajouté à votre fichier Hosts Machines local, d'où vous prévoyez de visiter le site Web.

5. Maintenant, il est temps de créer a2ensite et a2dissite scripts de bash sur un chemin système exécutable - dans ce cas / usr / local / bin / - mais
vous pouvez utiliser n'importe quel chemin exécutable qui $ Chemin Sorties variables du système.

Créer un script a2ensite

Créez un fichier suivant avec votre choix d'éditeur.

# nano / usr / local / bin / a2ensite

Ajouter le script suivant.

#!/ bin / bash si test -d / etc / httpd / sites-disponible && test -d / etc / httpd / sites compatible; Puis écho "----------------------------------------------- "Else mkdir / etc / httpd / sites-disponible mkdir / etc / httpd / sites compatible fi.ode).confied = / etc / httpd / sites-compatible / site = "ls / etc / httpd / sites-disponible /" if ["$ #" != "1"]; puis écho "Utiliser le script: a2ensite virtual_site" echo -e "\ hosts virtuels navalables: \ n $ site" exit 0 else if test -e $ disponible; alors sudo ln -s $ disponible $ activé else echo -e "$ disponible hôte virtuel n'existe pas! Veuillez en créer un!\ n $ Site "Exit 0 fi si test -e $ activé / 1 $.conf; Puis écho "Succès!! Redémarrez maintenant le serveur Apache: sudo systemctl redémarrer httpd "else echo -e" hôte virtuel $ disponible n'existe pas!\ nPlease Voir les hôtes virtuels disponibles: \ n $ Site "Exit 0 fi fi
Créer un script a2ensite
Créer un script a2dissite

Créez un fichier suivant avec votre choix d'éditeur.

# nano / usr / local / bin / a2dissite

Ajouter l'ensemble du script suivant dans le fichier.

#!/ bin / bash avail = / etc / httpd / sites compatible / 1 $.confied = / etc / httpd / sites-compatible site = "ls / etc / httpd / sites-compatible /" if ["$ #" != "1"]; puis écho "Utiliser le script: a2dissite virtual_site" echo -e "\ hosts virtuels navalables: \ n $ site" exit 0 else if test -e $ disponible; alors sudo rm $ vase else echo -e "$ great virtuel hôte n'existe pas! Sortant!"Exit 0 fi si test -e $ activé / 1 $.conf; puis écho à "Erreur!! Impossible de supprimer un hôte virtuel $ disponible!Le succès "echo -e"! $ la disponibilité a été supprimée!\ nplease redémarrer apache: sudo systemctl redémarrer httpd "exit 0 fi fi
Créer un script a2dissite

6. Une fois les deux fichiers de script créés, assurez-vous qu'ils sont exécutables et commencent à les utiliser pour activer ou désactiver hôtes virtuels en appuyant le nom VHost comme paramètre de commande.

# chmod + x / usr / local / bin / a2 * # a2ensite vhost_name # a2disite vhost_name

7. Pour le tester, activez l'hôte virtuel créé plus tôt, redémarrez le service Apache et le navigateur direct vers le nouvel hôte virtuel - dans ce cas http: // rheltest.lan.

# a2ensite rheltest.LAN # SystemCTL Redémarrer Httpd
Activer Apache VirtualHost Vérifiez Apache VirtualHost

C'est ça! Maintenant vous pouvez utiliser a2eniste et a2dissite Bash Scripts en tant que commandes système pour gérer le fichier Apache Vhosts sur RHEL / CENTOS 7.0.