GNU/Linux >> Tutoriels Linux >  >> Linux

Désactiver un hôte virtuel dans le système d'exploitation Ubuntu et CentOS pour Apache et Nginx

Que faire si vous avez besoin de désactiver un site Web, mais que vous ne savez pas comment ? C'est plus facile que vous ne le pensez.Avant de commencer, gardez à l'esprit ce qui suit lors de la lecture de cet article :

  • Votre bloc de serveur d'hôte virtuel (vhost) peut avoir un titre autre que domain.com.conf . Par exemple, vous pouvez utiliser httpd.conf ou ssl.conf . Dans ce cas, remplacez domain.com.conf avec le nom de votre fichier de configuration.

  • Cet article utilise des vhosts ou des blocs de serveur dans certains des exemples qui utilisent le port 80 et ne sont pas Secure Sockets Layer (SSL). Notez que ces étapes ne diffèrent pas si votre bloc vhost ou serveur est un bloc vhost ou serveur compatible SSL qui utilise le port 443. Les étapes sont les mêmes.

Système d'exploitation Ubuntu et Apache

Commençons par le plus simple. Ubuntu® est livré avec deux commandes spécifiques pour gérer les vhosts dans Apache®. Pour activer un vhost, utilisez la commande suivante :

sudo a2ensite /etc/apache2/sites-available/domain.com.conf

Quand vous comprenez ce que signifie cette collection de lettres et un chiffre dans a2ensite , il est alors plus facile de se rappeler comment activer ou désactiver un vhost Apache dans Ubuntu.

Voici la répartition de la commande :

  • a2 :apache2 (ce qu'Ubuntu appelle Apache)
  • fr :activer
  • site :hébergeur virtuel du site

Pour désactiver votre site Web, utilisez le a2dissite commande, comme illustré dans l'exemple suivant :

sudo a2dissite /etc/apache2/sites-enabled/domain.com.conf

Cette commande a les composants suivants :

  • a2 :apache2 (ce qu'Ubuntu appelle Apache)
  • dis :désactiver
  • site :hébergeur virtuel du site

Notez également la différence dans les chemins de répertoire entre a2ensite et a2dissite . Lorsque vous souhaitez activer un hôte virtuel pour Apache dans Ubuntu, vous le faites à partir des sites-available annuaire. Lorsque vous souhaitez désactiver un hôte virtuel dans Ubuntu, vous le faites à partir des sites-enabled répertoire.

Après avoir désactivé l'hôte virtuel, utilisez la commande suivante pour vérifier la syntaxe de votre configuration Apache :

apache2ctl -t

Réponse attendue :

Syntax OK

Pour redémarrer ou recharger Apache, exécutez l'une des commandes suivantes :

service apache2 restart

ou

service apache2 reload

restart arrête complètement Apache et reload démarre de manière transparente un nouveau service Apache avant d'arrêter le service d'origine. En règle générale, vous souhaitez recharger plutôt que redémarrer lorsque vous en avez la possibilité.

Système d'exploitation Ubuntu et Nginx

La désactivation d'un bloc de serveur Nginx® (ce que Nginx appelle vhosts) est un peu différente. Nginx utilise des liens symboliques pour activer ou désactiver les blocs de serveur. Les vhosts Apache peuvent également utiliser des liens symboliques, mais a2ensite et a2dissite ne fonctionne pas pour Nginx.

Pour désactiver un bloc de serveur dans Nginx dans Ubuntu, vous devez supprimer le lien symbolique entre sites-enabled et sites disponibles , comme illustré dans l'exemple suivant :

sudo rm /etc/nginx/sites-enabled/domain.com.conf

La commande supprime le lien symbolique de votre site Web, domain.com . Utilisez la commande suivante pour vérifier la syntaxe Nginx :

nginx -t

Réponse attendue :

nginx: the configuration file <file-path> syntax is ok
nginx: configuration file <file-path> test is successful

Le chemin de votre fichier s'affiche dans l'espace réservé . Après avoir reçu une réponse positive, vous devez recharger ou redémarrer Nginx bu en utilisant l'une des commandes suivantes :

service nginx reload

ou

service nginx restart

Comme auparavant, chaque fois que vous avez la possibilité de le faire, utilisez reload plutôt que restart afin de ne pas perturber vos autres sites Web.

Remarque :Si vous exécutez php-fpm , vous devez également redémarrer ce service à l'aide de la commande suivante :

service php-fpm restart

CentOS et Apache

La désactivation d'un hôte virtuel dans Apache dans CentOS® est plus compliquée car CentOS n'a pas de commande facile à utiliser. Dans CentOS, vous devez commenter manuellement le vhost que vous souhaitez désactiver.

Voici un exemple de domaine.com vhost pour Apache dans CentOS :

<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/vhosts/domain.com/public
</VirtualHost>

Trouvez cet hôte virtuel en utilisant la commande suivante :

httpd -S | grep domain.com

La sortie montre l'emplacement de l'hôte virtuel, qui est similaire à la sortie suivante :

/etc/httpd/vhost.d/domain.com.conf

Selon votre configuration particulière, la sortie précédente peut sembler différente. Cependant, le chemin que vous recherchez doit se terminer de la même manière que domain.com.conf .

Une fois que vous avez l'emplacement de l'hôte virtuel, ouvrez le fichier de configuration vhost avec votre éditeur de texte préféré. Voici deux exemples utilisant vim et nano :

sudo vim /etc/httpd/vhost.d/domain.com.conf

ou

sudo nano /etc/httpd/vhost.d/domain.com.conf

Modifiez le fichier de configuration et ajoutez un signe dièse (#) devant chaque ligne pour l'entrée vhost. Si vous utilisez vim , saisissez Insérer premier mode. Votre configuration vhost devrait maintenant ressembler à ceci :

#<VirtualHost *:80>
#   ServerName domain.com
#   ServerAlias www.domain.com
#   DocumentRoot /var/www/vhosts/domain.com/public
#</VirtualHost>

Enregistrez le fichier et quittez l'éditeur de texte.

Maintenant, vous devez vérifier la syntaxe Apache avec la commande suivante :

httpd -t

Réponse attendue :

Syntax OK

Enfin, rechargez ou redémarrez Apache. Si vous utilisez CentOS 7 ou une version ultérieure, vous pouvez utiliser systemctl pour cette commande. Sinon, utilisez service . Les exemples suivants montrent les deux commandes :

Utilisation du service :

sudo service httpd reload

ou

sudo service httpd restart

Utilisation de systemctl :

sudo systemctl reload httpd

ou

sudo systemctl restart httpd

Remarque :Tant que systemctl ne fonctionne que dans CentOS 7 ou version ultérieure, ces versions prennent également en charge service , si c'est plus facile. Le système est lié à systemctl automatiquement.

Ce même processus fonctionne également pour SSL, le port 443, les vhosts.

Comme avant, si vous avez la possibilité, utilisez reload plutôt que restart .

CentOS et Nginx

Nginx fait référence aux vhosts en tant que blocs de serveur. Utilisez le même processus pour commenter les blocs de serveur pour Nginxin CentOS que vous avez utilisé pour Apache.

Cependant, nous devons d'abord trouver le bloc de serveur que nous voulons désactiver. Pour ce faire, utilisez la commande suivante :

nginx -T | grep domain.com

Encore une fois, recherchez un chemin se terminant par .conf pour votre domaine. Il ressemble à l'exemple suivant :

/etc/nginx/conf.d/domain.com.conf

Maintenant, ouvrez ce fichier avec votre éditeur de texte préféré en utilisant l'une des commandes suivantes :

sudo vim /etc/nginx/conf.d/domain.com.conf

ou

sudo nano /etc/nginx/conf.d/domain.com.conf

Le fichier ressemble à l'exemple suivant :

server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/log/nginx/domain.com.access.log;
error_log /var/log/nginx/domain.com.error.log;
root /var/www/domain.com/httpdocs;
location / {
index index.html index.htm index.php;
try_files $uri =404;
}
location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000; #this means php-fpm will run on a port
    # fastcgi_pass unix:/run/php-fpm/domain.com.sock; or you could have php-fpm running on a socket
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/html/domain.com$fastcgi_script_name;
    }
}

Vous devriez commenter tout ce bloc de serveur. Si vous utilisez vim , assurez-vous que vous êtes dans Insérer premier mode. Votre bloc de serveur devrait ressembler à ceci :

#server {
#   listen 80;
#   server_name domain.com www.domain.com;
#   access_log /var/log/nginx/domain.com.access.log;
#   error_log /var/log/nginx/domain.com.error.log;
#   root /var/www/domain.com/httpdocs;
#location / {
#   index index.html index.htm index.php;
#   try_files $uri =404;
#   }
#location ~ \.php$ {
#   include /etc/nginx/fastcgi_params;
#    fastcgi_pass  127.0.0.1:9000; #this means php-fpm will run on a port
#    # fastcgi_pass unix:/run/php-fpm/domain.com.sock; or you could have php-fpm running on a socket
#   fastcgi_index index.php;
#    fastcgi_param SCRIPT_FILENAME /var/www/html/domain.com$fastcgi_script_name;
#    }
#}

Enregistrez le fichier et quittez l'éditeur de texte.

Maintenant, vérifiez la syntaxe Nginx avec la commande suivante :

nginx -t

Réponse attendue :

nginx: the configuration file <file-path> syntax is ok
nginx: configuration file <file-path> test is successful

Le chemin de votre fichier s'affiche dans l'espace réservé . Après avoir reçu une réponse positive, vous devez recharger ou redémarrer Nginx en utilisant l'une des commandes suivantes :

sudo service nginx reload

ou

sudo service nginx restart

Si vous exécutez php-fpm , redémarrez ce service à l'aide de la commande suivante :

sudo service php-fpm restart

Vous pouvez également redémarrer ou recharger Nginx en utilisant systemctl au lieu de service , comme indiqué dans les exemples suivants :

sudo systemctl reload nginx

ou

sudo systemctl restart nginx

Redémarrez php-fpm avec systemctl :

sudo systemctl restart php-fpm

Vous savez maintenant comment désactiver les vhosts ou les blocs de serveur dans CentOS et le système d'exploitation Ubuntu pour Apache et Nginx.


Linux
  1. Modifier le port SSH dans le système d'exploitation Linux Ubuntu

  2. Configurer Apache sur le système d'exploitation Ubuntu

  3. Configurer le serveur MySQL sur le système d'exploitation Ubuntu

  4. Activer la connexion racine à distance SSH sur CentOS et le système d'exploitation Ubuntu

  5. Accorder l'accès sudo dans Debian et le système d'exploitation Ubuntu

Comment configurer Nginx en tant que serveur Web et proxy inverse pour Apache sur CentOS 8

Installer Varnish Cache 6 pour Apache/Nginx sur CentOS 8

Comment configurer l'hôte virtuel Apache sur CentOS 8

Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04

Comment configurer Nginx en tant que proxy inverse pour Apache sur Ubuntu 18.04 VPS

Comment installer NGINX en tant que proxy inverse pour Apache sur Ubuntu 18.04