Configure varios sitios web en un único host Apache basado en RHEL
En algún momento, durante su carrera de desarrollo o gestión, tendrá que alojar más de un sitio web en un único servidor, máquina virtual o incluso en un único contenedor, tal vez con Servidor HTTP Apache. Cuando esto sucede, tiene algunas opciones disponibles. Puede implementar cada sitio web como un contenedor separado o puede seguir la ruta de la vieja escuela y usarlo. Opción de host virtual Apache.
Claro, ahora hay mejores formas de hacer esto, pero los hosts virtuales Apache son una de las formas más confiables y también una habilidad que le alegrará tener. No sólo te familiarizará mejor con tu servidor web, sino que también mejorarás tu juego de Linux en el proceso (¿y quién no quiere o necesita eso)?
Digamos, por ejemplo, que necesita alojar más de un sitio interno (por ejemplo, uno para RR.HH. y otro para CRM) y debe hacerlo en el mismo servidor. Esto es posible con los hosts virtuales Apache.
Déjame mostrarte cómo se hace.
Qué necesitas
Para continuar, necesitará lo siguiente:
- auto maquina RHELSistema operativo instalado (como Red Hat Enterprise Linux, Rocky Linux, AlmaLinux, CentOS Stream u Oracle Linux).
- Usuario con sudo Privilegios.
- FQDN con sus dispositivos de red para enrutar este dominio al servidor de alojamiento. En este ejemplo, usaremos los dominios newstackexample1.com y newstackexample2.com. Tenga en cuenta que deberá reemplazar estos rangos con los rangos que haya elegido.
Eso es todo. Pongámonos a trabajar.
Crear los directorios requeridos
Lo primero que debemos hacer es crear los directorios que albergarán nuestros hosts virtuales. Inicie sesión en su servidor y (si es necesario) abra una ventana de terminal. Crearemos carpetas llamadas newstackexample1.com y newstackexample2.com con los siguientes comandos:
sudo mkdir -p /var/www/newstackexample1.com sudo mkdir -p /var/www/newstackexample2.com
sudo mkdir –s /ratón/Red de comunicación global/Ejemplo de pila de noticias 1.com sudo mkdir –s /ratón/Red de comunicación global/Ejemplo de pila de noticias 2.com |
Después de crear nuestros directorios, lo siguiente que debemos cambiar es la propiedad para que pertenezca al usuario y grupo de Apache. Esto se puede hacer usando los siguientes comandos:
sudo chown Apache:Apache -R /var/www/newstackexample1.com sudo chown Apache:Apache -R /var/www/newstackexample2.com
sudo chown apache:apache –R /ratón/Red de comunicación global/Ejemplo de pila de noticias 1.com sudo chown apache:apache –R /ratón/Red de comunicación global/Ejemplo de pila de noticias 2.com |
Presentado.
Cree archivos Index.html para cada host virtual
Nuestra siguiente tarea es crear archivos de índice para cada host virtual. Estos dos archivos se denominarán Index.html.
Cree el primer archivo usando el comando:
sudo nano /var/www/newstackexample1.com/index.html
sudo nano /ratón/Red de comunicación global/Ejemplo de pila de noticias 1.com/índice.lenguaje de programación |
En ese archivo, pegue lo siguiente:
Guarde y cierre el archivo.
Cree el segundo archivo usando:
sudo nano /var/www/newstackexample2.com/index.html
sudo nano /ratón/Red de comunicación global/Ejemplo de pila de noticias 2.com/índice.lenguaje de programación |
En ese archivo, pegue lo siguiente:
Guarde y cierre el archivo.
Configurar hosts virtuales
El siguiente paso es crear un archivo de hosts virtuales para cada uno de nuestros nuevos sitios. Crearemos el archivo para web1 usando el comando:
sudo nano /etc/http/conf.d/newstackexample1.conf
sudo nano /etc./http/confinar.Dr/Ejemplo de pila de noticias 1.confinar |
En ese archivo, pegue lo siguiente:
Guarde y cierre el archivo.
Es importante tener en cuenta que ServerName será su nombre de dominio (por ejemplo, newstackexample1.com) y ServerAlias será un nombre alternativo que el servidor también aceptará (por ejemplo, www.newstackexample1.com o mail.newstackexample1.com).
Cree el archivo de configuración del host virtual para el segundo host usando el comando:
sudo nano /etc/http/conf.d/newstackexample2.conf
sudo nano /etc./http/confinar.Dr/Ejemplo de pila de noticias 2.confinar |
En ese archivo, pegue lo siguiente:
Guarde y cierre el archivo.
Después de crear los índices y archivos de configuración, reinicie Apache con el comando:
sudo systemctl reiniciar httpd
sudo sistemactl Reanudar httpd |
El servicio Apache debería reiniciarse sin quejas.
Abre el cortafuegos
De forma predeterminada, lo más probable es que su firewall no esté configurado para permitir el tráfico HTTP. Para abrir el firewall para el puerto 80, ejecute el comando:
sudo firewall-cmd –zone=public –add-service=http –permanent
sudo Cortafuegos–cataplasma —región=general —Agregar–servicio=http —permanente |
Vuelva a cargar el firewall usando:
sudo firewall -cmd –recargar
sudo Cortafuegos–cataplasma —Recargar |
Configurar SELinux
Dado que estamos utilizando una distribución basada en RHEL, también tenemos que lidiar con SELinux Marco de seguridad. A menos que se ocupe de esto, el tráfico no podrá llegar a los directorios que contienen los sitios web. Para solucionar este problema, emita los siguientes comandos:
sudo chcon -R -t httpd_sys_rw_content_t /var/www/newstackexample1.com
sudo chcón –R –R httpd_sys_rw_content_t /ratón/Red de comunicación global/Ejemplo de pila de noticias 1.com |
sudo chcon -R -t httpd_sys_rw_content_t /var/www/newstackexample2.com
sudo chcón –R –R httpd_sys_rw_content_t /ratón/Red de comunicación global/Ejemplo de pila de noticias 2.com |
Acceso a sitios web
Con todo en su lugar (incluido el dispositivo de red que dirige los dominios a la dirección IP correcta del servidor), ahora debería poder ver los sitios apuntando su navegador a newstackexample1.com o newstackexample2.com. Cuando se carga newstackexample1.com, debería ver Bienvenido al nuevo ejemplo de pila 1 y cuando se carga newstackexample2.com, debería ver Bienvenido al nuevo ejemplo de pila 2.
Felicitaciones, acaba de implementar sus primeros hosts virtuales con un servidor web Apache y una distribución de Linux basada en RHEL. Esta habilidad puede resultar muy útil cuando necesita alojar varios sitios internos o incluso sitios externos para diferentes clientes en el mismo servidor.
YOUTUBE.COM/THENEWSTACK
La tecnología avanza rápido, nunca te pierdas un episodio. Suscríbase a nuestro canal de YouTube para transmitir todos nuestros podcasts, entrevistas, demostraciones y más.
Participar