GNU/Linux >> Tutoriales Linux >  >> Linux

Deshabilite un host virtual en el sistema operativo Ubuntu y CentOS para Apache y Nginx

¿Qué sucede si necesita deshabilitar un sitio web, pero no está seguro de cómo? Es más fácil de lo que piensas. Antes de comenzar, ten en cuenta lo siguiente mientras lees este artículo:

  • Su bloque de servidor de host virtual (vhost) puede tener un título diferente a domain.com.conf . Por ejemplo, puede usar httpd.conf o ssl.conf . En ese caso, reemplace dominio.com.conf con su nombre de archivo de configuración.

  • Este artículo usa vhosts o bloques de servidor en algunos de los ejemplos que usan el puerto 80 y no son Capa de sockets seguros (SSL). Tenga en cuenta que estos pasos no difieren si su host virtual o bloque de servidor es un host virtual o bloque de servidor habilitado para SSL que usa el puerto 443. Los pasos son los mismos.

Sistema operativo Ubuntu y Apache

Empecemos por lo más fácil. Ubuntu® viene con dos comandos específicamente para administrar vhosts en Apache®. Para habilitar un vhost, use el siguiente comando:

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

Cuando entiendes lo que significa esa colección de letras y un número en a2ensite , entonces es más fácil recordar cómo habilitar o deshabilitar un vhost de Apache en Ubuntu.

Aquí está el desglose del comando:

  • a2 :apache2 (lo que Ubuntu llama Apache)
  • es :habilitar
  • sitio :alojamiento virtual del sitio web

Para deshabilitar su sitio web, use el a2dissite comando, como se muestra en el siguiente ejemplo:

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

Este comando tiene los siguientes componentes:

  • a2 :apache2 (lo que Ubuntu llama Apache)
  • dis :deshabilitar
  • sitio :alojamiento virtual del sitio web

Además, tome nota de la diferencia en las rutas de directorio entre a2ensite y a2dissite . Cuando desee habilitar un host virtual para Apache en Ubuntu, hágalo desde los sitios disponibles directorio. Cuando desee deshabilitar un host virtual en Ubuntu, hágalo desde la página habilitada para sitios. directorio.

Después de deshabilitar el host virtual, use el siguiente comando para verificar la sintaxis de su configuración de Apache:

apache2ctl -t

Respuesta esperada:

Syntax OK

Para reiniciar o recargar Apache, ejecute uno de los siguientes comandos:

service apache2 restart

o

service apache2 reload

restart derriba Apache por completo y reload inicia sin problemas un nuevo servicio de Apache antes de detener el servicio original. Por lo general, desea volver a cargar en lugar de reiniciar cuando tiene la opción.

Sistema operativo Ubuntu y Nginx

Deshabilitar un bloque de servidor Nginx® (lo que Nginx llama vhosts) es un poco diferente. Nginx usa enlaces simbólicos para habilitar o deshabilitar los bloques del servidor. Apache vhosts también puede usar enlaces simbólicos, pero a2ensite y a2dissite no funcionan para Nginx.

Para deshabilitar un bloqueo de servidor en Nginx en Ubuntu, debe eliminar el enlace simbólico entre sitios habilitados y sitios disponibles , como se muestra en el siguiente ejemplo:

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

El comando elimina el enlace simbólico de su sitio web, domain.com . Use el siguiente comando para verificar la sintaxis de Nginx:

nginx -t

Respuesta esperada:

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

La ruta de su archivo se muestra en el marcador de posición . Después de recibir una respuesta positiva, debe volver a cargar o reiniciar Nginx bu usando uno de los siguientes comandos:

service nginx reload

o

service nginx restart

Como antes, siempre que tenga la opción de hacerlo, use reload en lugar de restart para que no interrumpa ningún otro sitio web que tenga.

Nota :Si ejecuta php-fpm , también debe reiniciar ese servicio mediante el siguiente comando:

service php-fpm restart

CentOS y Apache

Deshabilitar un host virtual en Apache en CentOS® es más complicado porque CentOS no tiene un comando fácil de usar. En CentOS, debe comentar manualmente el host virtual que desea deshabilitar.

Este es un ejemplo de un dominio.com vhost para Apache en CentOS:

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

Encuentre este host virtual usando el siguiente comando:

httpd -S | grep domain.com

El resultado muestra la ubicación del host virtual, que es similar al siguiente resultado:

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

Dependiendo de su configuración particular, la salida anterior puede verse diferente. Sin embargo, la ruta que está buscando debe terminar de manera similar a domain.com.conf .

Una vez que tenga la ubicación del host virtual, abra el archivo de configuración de vhost con su editor de texto favorito. Aquí hay dos ejemplos usando vim y nano :

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

o

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

Edite el archivo de configuración y agregue un signo de almohadilla (#) delante de cada línea para la entrada de vhost. Si estás usando vim , ingrese Insertar modo primero. Su configuración de vhost ahora debería verse así:

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

Guarde el archivo y salga del editor de texto.

Ahora, debe verificar la sintaxis de Apache con el siguiente comando:

httpd -t

Respuesta esperada:

Syntax OK

Finalmente, vuelva a cargar o reinicie Apache. Si está usando CentOS 7 o posterior, puede usar systemctl para este comando. De lo contrario, use service . Los siguientes ejemplos muestran ambos comandos:

Usando service :

sudo service httpd reload

o

sudo service httpd restart

Usando systemctl :

sudo systemctl reload httpd

o

sudo systemctl restart httpd

Nota :Mientras que systemctl solo funciona en CentOS 7 o posterior, esas versiones también admiten service , si eso es más fácil. El sistema enlaza con systemctl automáticamente.

Este mismo proceso también funciona para SSL, puerto 443, vhosts.

Como antes, si tiene la opción, use reload en lugar de restart .

CentOS y Nginx

Nginx se refiere a los hosts virtuales como bloques de servidor. Use el mismo proceso para comentar los bloques del servidor para Nginxin CentOS que usó para Apache.

Primero, sin embargo, necesitamos encontrar el bloque de servidor que queremos deshabilitar. Lo haces con el siguiente comando:

nginx -T | grep domain.com

Nuevamente, busque un camino que termine en .conf para su dominio. Se parece al siguiente ejemplo:

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

Ahora, abra ese archivo con su editor de texto favorito usando uno de los siguientes comandos:

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

o

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

El archivo se parece al siguiente ejemplo:

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;
    }
}

Debe comentar todo este bloque de servidor. Si está utilizando vim , asegúrese de estar en Insertar modo primero. Su bloque de servidor debería verse así:

#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;
#    }
#}

Guarde el archivo y salga del editor de texto.

Ahora, verifique la sintaxis de Nginx con el siguiente comando:

nginx -t

Respuesta esperada:

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

La ruta de su archivo se muestra en el marcador de posición . Después de recibir una respuesta positiva, debe volver a cargar o reiniciar Nginx mediante uno de los siguientes comandos:

sudo service nginx reload

o

sudo service nginx restart

Si ejecuta php-fpm , reinicie ese servicio usando el siguiente comando:

sudo service php-fpm restart

También puede reiniciar o recargar Nginx usando systemctl en lugar de service , como se muestra en los siguientes ejemplos:

sudo systemctl reload nginx

o

sudo systemctl restart nginx

Reinicie php-fpm con systemctl :

sudo systemctl restart php-fpm

Ahora ya sabe cómo deshabilitar vhosts o bloques de servidor tanto en CentOS como en el sistema operativo Ubuntu para Apache y Nginx.


Linux
  1. Cambiar el puerto SSH en el sistema operativo Linux Ubuntu

  2. Configurar Apache en el sistema operativo Ubuntu

  3. Habilite el inicio de sesión raíz remoto SSH en CentOS y el sistema operativo Ubuntu

  4. Instale IMAP para PHP 7.1 en el sistema operativo Ubuntu

  5. Instale MySQL Server en el sistema operativo Ubuntu

Cómo configurar Nginx como servidor web y proxy inverso para Apache en CentOS 8

Instale Varnish Cache 6 para Apache/Nginx en CentOS 8

Cómo configurar el host virtual Apache en CentOS 8

Cómo configurar servidores virtuales Apache en Ubuntu 20.04

Cómo configurar Nginx como proxy inverso para Apache en Ubuntu 18.04 VPS

Cómo instalar NGINX como proxy inverso para Apache en Ubuntu 18.04