web-dev-qa-db-fra.com

Apache Virtual Hosts

Je cherche à créer des liens sur mon site Web, tels que support.mydomain.com ou management.mydomain.com plutôt que sur mydomain.com/support, etc. J'ai entendu dire que vous pouvez le faire avec des hôtes virtuels Apache, mais je ne sais pas comment je définirais. ça va.

Je suis sur Apache 2.4 et Ubuntu 16.04

3
Harry Cameron

La distribution Apache2 est très facile à utiliser configuration modulaire.

Copiez votre 000-default.conf dans /etc/Apache2/sites-available dans un fichier d’ici là, nommez-le pour appeler votre site virtuel. Utilisez le fichier de configuration 000-default.conf comme modèle.

Dans ce cas, vous avez indiqué mydomain.com. Vous avez également indiqué management.mydomain.com. Vous pouvez utiliser les deux pour vous référer au même site. Dans ces étapes, je vais utiliser mydomain.com.

Vous pouvez utiliser n'importe quel nom pour le fichier de configuration. Utiliser un nom qui inclut le nom que vous donnerez à votre hôte virtuel facilitera la gestion de vos sites si vous en créez plusieurs.

Exécutez ces étapes. Je les ai numérotés pour que vous puissiez facilement indiquer à quelle étape, le cas échéant, vous êtes bloqué ou ne comprenez pas. Le $ est là pour représenter l'invite du terminal où vous tapez votre commande. La commande est le texte que vous voyez après l'invite $.

1. $ mkdir -p /home/web/mysite/www
2. $ mkdir -p /home/web/mysite/log
3. $ cd /etc/Apache2/sites-available
4. $ Sudo cp 000-default.conf mydomain.conf 
 5. $ gksudo gedit mydomain.conf 

Changer de:

 & ltVirtualHost *: 80> 
 # La directive ServerName définit le schéma de requête, le nom d'hôte et le port que 
 # le serveur utilise pour s'identifier. Ceci est utilisé lors de la création d'URL de redirection 
 #. Dans le contexte des hôtes virtuels, ServerName 
 # Spécifie le nom d'hôte qui doit apparaître dans l'en-tête Host: de la demande afin que 
 # Corresponde à cet hôte virtuel. Pour l'hôte virtuel par défaut (ce fichier), cette valeur 
 # N'est pas déterminante, car elle est utilisée comme hôte de dernier recours malgré tout. 
 # Cependant, vous devez la définir explicitement pour tout autre hôte virtuel. 
 #ServerName www.example.com 
 
 Webmaster de ServerAdmin @ localhost 
 DocumentRoot /var/www/html[.____._rev
 # Disponible. loglevels: trace8, ..., trace1, debug, info, notice, avertir, 
 # erreur, crit, alerte, émergent. 
 # Il est également possible de configurer le loglevel pour 
 # modules, par exemple 
 #LogLevel info ssl: avertir 
 
 ErrorLog $ {Apache_LOG_DIR} /error.log 
 CustomLog $ {Apache_LOG_DIR}/access. journal combiné 
 
 # Pour la plupart des fichiers de configuration de conf-available /, activés ou désactivés par 
 # au niveau mondial, il est possible de 
 # include une ligne pour un seul hôte virtuel particulier. Par exemple, la ligne 
 # Suivante active la configuration CGI pour cet hôte uniquement 
 # Après sa désactivation globale avec "a2disconf". 
 #Include conf-available/serve-cgi -bin.conf 
 </ VirtualHost> 
 
 # vim: syntaxe = Apache ts = 4 sw = 4 sts = 4 sr noet 
 
 

Changer en:

 & ltVirtualHost *: 80> 
 # La directive ServerName définit le schéma de requête, le nom d'hôte et le port que 
 # le serveur utilise pour s'identifier. Ceci est utilisé lors de la création d'URL de redirection 
 #. Dans le contexte des hôtes virtuels, ServerName 
 # Spécifie le nom d'hôte qui doit apparaître dans l'en-tête Host: de la demande afin que 
 # Corresponde à cet hôte virtuel. Pour l'hôte virtuel par défaut (ce fichier), cette valeur 
 # N'est pas déterminante, car elle est utilisée comme hôte de dernier recours malgré tout. 
 # Cependant, vous devez la définir explicitement pour tout autre hôte virtuel. 
 #ServerName www.example.com 
 
 Nom du serveur mydomain.com 
 ServerAlias ​​www.mydomain.com 
 ServerAlias ​​management.mydomain.com 
 
 ServerAdmin webmaster @ localhost 
 
 DocumentRoot /home/web/www
 & LtDirectory /home/web/ubunzeus/www>
 Options + FollowSymLinks + ExecCGI + Inclut 
 # Autoriser tout superposer 
 # Nouvelle directive nécessaire dans Apache 2.4.3: 
 Requiert que tous les droits soient accordés 
 </ Directory> 
 
 # Niveaux de connexion disponibles: trace8, ..., trace1, débogage, informations, notification, avertir, 
 # Erreur, crit, alerte, émergent. 
 # Il est également possible de configurez le niveau de consignation pour certains modules 
 #, par exemple 
 #LogLevel info ssl: avertir 
 
 ErrorLog /home/web/mydomain/log/error.log
 CustomLog /home/web/mydomain/log/access.log combinés
 
 # Pour la plupart des fichiers de configuration de conf-available /, activés ou désactivés par 
 # Au niveau global, il est possible d'inclure une ligne avec 
 # pour un seul hôte virtuel particulier. Par exemple, la ligne 
 # Suivante active la configuration CGI pour cet hôte uniquement 
 # Après sa désactivation globale avec "a2disconf". 
 #Include conf-available/serve-cgi -bin.conf 
 </ VirtualHost> 
 
 # vim: syntaxe = Apache ts = 4 sw = 4 sts = 4 sr noet 
 

Continuez les commandes suivantes pour activer les modifications:

 6. $ Sudo a2ensite mydomain.conf 
 7. $ Sudo service Apache2 redémarrer 

Grâce à ces étapes, vous pouvez désormais accéder à votre nouvel hôte virtuel en saisissant le nom que vous lui avez attribué dans le navigateur Web.

Placez vos webcontent (vos fichiers html) dans le répertoire que vous avez créé pour votre hôte virtuel. Dans cet exemple, il s'agit de: /home/web/www. Votre répertoire Web peut être placé n'importe où sur votre système. Il vous suffit de configurer votre fichier de configuration d'hôte virtuel avec les informations.

Chaque fois que vous modifiez vos fichiers de configuration Apache2, veillez à les recharger pour que les modifications prennent effet.

$ Sudo service Apache2 restart
4
L. D. James