Creación de hosts virtuales Apache con opciones de habilitar/deshabilitar Vhosts en RHEL/CentOS 7.0

Creación de hosts virtuales Apache con opciones de habilitar/deshabilitar Vhosts en RHEL/CentOS 7.0

Alojamiento virtual permite a Apache Weberver ofrecer contenido diferente según la dirección IP, el nombre de host o el número de puerto utilizado. Esta guía utilizará un enfoque similar a Debian para habilitar y administrar hosts virtuales en Red Hat Enterprise Linux/CentOS 7.0 mediante la creación de dos directorios en la ruta /etc/httpd/, que mantener todas las configuraciones de archivos de sitios web habilitadas y deshabilitadas: sitios disponibles y sitios habilitados , y dos tipos de scripts para que actúen como comandos, uno que habilita y otro que deshabilita virtual especificado hosts: a2ensite y a2dissite . Este enfoque tiene algunas ventajas porque no tiene que meterse con el archivo de configuración httpd y cada host virtual tiene su propio archivo de configuración que se puede encontrar en una sola ubicación; los hosts habilitados son solo enlaces simbólicos, lo que hace que el proceso de habilitar, deshabilitar, crear o eliminándolos muy manejable.

Alojamiento virtual Apache en CentOS  Apache Virtual Hosting en CentOS Apache Virtual Hosting con Activar/Desactivar Opciones Requisitos

  1. Instalación básica de LAMP en RHEL/CentOS 7.0

Crear y administrar hosts virtuales Apache i n RHEL/CentOS 7

1.. Para comenzar, comience ingresando la ruta /etc/httpd/, cree sitios disponibles y sitios habilitados directorios y edite el archivo Apache httpd.conf para aplicar la nueva ubicación de sitios web habilitados.

# cd/etc/httpd/# mkdir sites-available sites-enabled # nano conf/httpd.conf  Crear directorios Apache Vhost  Crear directorios Apache Vhost Crear directorios Apache Vhost

2.. En httpd.conf archivo agregue la siguiente línea de directiva en la parte inferior del archivo, que hará que Apache lea y analizar todos los archivos ubicados en /etc/httpd/sites-enabled/ terminados en la extensión .conf .

Incluir sitios opcionales habilitados/*. conf  Habilitar Apache Directories  Habilitar directorios Apache Habilitar directorios Apache

3.. En el siguiente paso, cree un nuevo host virtual en la ubicación de sitios disponibles con un nombre descriptivo; en este caso, he usado rheltest.lan.conf -y use el siguiente archivo como plantilla.

# nano/etc/httpd/sites-available/rheltest.lan.conf

Use esta configuración como guía.

ServerName rheltest.lan DocumentRoot “/var/www/rheltest.lan” Opciones Índices FollowSymLinks MultiViews # AllowOverride controla qué directivas pueden colocarse en archivos .htaccess. AllowOverride All # Controla quién puede obtener cosas de este archivo de servidor Orden permitir, denegar Permitir de todos ServerEnvironment apache apache ErrorLog/var/log/httpd/rheltest.lan-error.log CustomLog/var/log/httpd/rheltest.lan-access.log combinado  Crear Apache Vhosts  Crear Apache Vhosts Crear Apache Vhosts freestar.config.enabled_slots.push (LocationName:” tecmint_incontent “, slotId:” tecmint_incontent ” );

4.. Si cambió la ubicación de DocumentRoot en su host virtual de la predeterminada /var/www/html a otra ruta, asegúrese de también crea esta ruta.

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

NOTA. También asegúrese de que el host ServerName sea válido Registro DNS o se agrega al archivo de hosts de su máquina local, desde donde planea visitar el sitio web.

5.. Ahora es el momento de crear a2ensite y a2dissite scripts bash en un exe ruta del sistema ejecutable: en este caso es /usr/local/bin/- pero puede usar cualquier ruta ejecutable que genere la variable del sistema $ PATH .

Cree un sitio2ensit Script

Cree un archivo siguiente con el editor que elija.

# nano/usr/local/bin/a2ensite

Agregue el siguiente script.

#!/Bin/bash if test-d/etc/httpd/sites-available && test-d/etc/httpd/sites-enabled; luego echo “———————————————–“else mkdir/etc/httpd/sites-available mkdir/etc/httpd/sites-enabled fi avail =/etc/httpd/sites-available/$ 1.conf enabled =/etc/httpd/sites-enabled/site =` ls/etc/httpd/sites-available/`if [” $ # “! =” 1 “]; luego echo “Use script: a2ensite virtual_site” echo-e “\ nHojos virtuales disponibles: \ n $ site” exit 0 else if test-e $ avail; entonces sudo ln-s $ avail $ habilitado else echo-e “$ avail host virtual no existe! Por favor cree uno! \ n $ sitio” exit 0 fi si prueba-e $ habilitado/$ 1.conf; luego echo “¡¡Éxito !! Ahora reinicia el servidor Apache: sudo systemctl restart httpd” else echo-e “¡El host virtual $ avail no existe! \ nPor favor, vea los hosts virtuales disponibles: \ n $ site” exit 0 fi fi  Crear un script a2ensite  Crear secuencia de comandos a2ensite Crear a2ensite Script Crear un script a2dissite

Cree un archivo siguiente con el editor que elija.

# nano/usr/local/bin/a2dissite

Agregue el siguiente script completo al archivo.

#!/bin/bash avail =/etc/httpd/sites-enabled/$ 1.conf enabled =/etc/httpd/sites-enabled site = `ls/etc/httpd/sites-enabled/` if [ “$ #”! = “1”]; luego echo “Use script: a2dissite virtual_site” echo-e “\ nHojos virtuales disponibles: \ n $ site” exit 0 else if test-e $ avail; luego sudo rm $ avail else echo-e “¡El host virtual $ avail no existe! Saliendo!” salir 0 fi si prueba-e $ habilitado/$ 1.conf; luego echo “¡Error! ¡No se pudo eliminar el host virtual $ avail!” else echo-e “¡Correcto! $ avail ha sido eliminado! \ nReinicie Apache: sudo systemctl restart httpd” exit 0 fi fi  Crear script a2dissite  Crear secuencia de comandos a2dissite Crear una secuencia de comandos a2dissite

6.. Una vez que se hayan creado ambos archivos de secuencia de comandos, asegúrese de que estén ejecutable y comience a usarlos para habilitar o deshabilitar hosts virtuales agregando el nombre de vhost como parámetro de comando.

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

7. Para probarlo, habilite el host virtual creado anteriormente, reinicie el servicio Apache y dirija el navegador al nuevo host virtual, en este caso http://rheltest.lan .

# a2ensite rheltest.lan # systemctl restart httpd  Habilitar Apache Virtualhost  Habilitar Apache Virtualhost Habilitar Apache Virtualhost Verify Apache Virtualhost  Verifique Apache Virtualhost Verificar Apache Virtualhost

¡Eso es! Ahora puede usar los scripts bash a2eniste y a2dissite como comandos del sistema para administrar el archivo Apache Vhosts en RHEL/CentOS 7.0.