Cómo instalar Apache en Rocky Linux 8, para convertir nuestro equipo Linux en un servidor web. Añadimos un nuevo dominio usando Virtual Host de Apache, como ejemplo para agregar una nueva web a nuestro servidor.

Antes de continuar, indicar que en todo el artículo estamos suponiendo que el servidor Rocky Linux tiene la IP 192.168.1.224 y que el nuevo dominio (sitio web) que queremos añadir tiene de URL proyectoa.com. Como es lógico, cambiaremos estos valores por los que tengamos en nuestro entorno.

Instalar Apache en Rocky Linux 8

En primer lugar, es conveniente hacer una actualización de paquetes previa. El proceso puede tardar varios minutos. Para ello, ejecutaremos el siguiente comando Linux:

A continuación, procederemos a la instalación de Apache, ejecutando el comando:

Una vez descargado el paquete httpd, nos solicitará confirmación para instalarlo. Pulsaremos la tecla «s» y la tecla INTRO:

Instalar Apache en Rocky Linux 8 y convertirlo en servidor web

Tras la instalación de Apache, iniciaremos el servicio con el comando:

Indicaremos que el servicio de Apache (httpd) se inicie en el arranque del equipo, con el comando:

Comprobaremos que el servicio está iniciado correctamente, con el comando:

Que nos devolverá algo así como:

También podremos comprobar la versión de Apache instalada, con el comando:

Que devolverá:

Y, para permitir accesos externos, deberemos abrir el protocolo http en el cortafuegos del equipo Rocky Linux, podemos hacerlo ejecutando el siguiente comando:

Para aplicar los cambios hechos en el cortafuegos, ejecutaremos el comando:

Instalar Apache en Rocky Linux 8 y convertirlo en servidor web

Ahora podremos comprobar, desde un equipo externo, que tenemos acceso al servidor web con Apache y Rocky Linux. Para ello, abriremos una navegador web y en la URL introduciremos la dirección IP del servidor Rocky Linux, Apache cargará su página web por defecto:

Instalar Apache en Rocky Linux 8 y convertirlo en servidor web

Y de esta forma, tan sencilla, tendremos un servidor web funcional.

Añadir dominio para sitio web en Virtual Host de Apache

Para añadir un nuevo sitio web a nuestro servidor Apache y sustituir el que aparece por defecto (la página de pruebas HTTP Server Test Page), seguiremos los siguientes pasos.

En primer lugar añadiremos la carpeta y los ficheros de nuestro sitio web, en cualquier ubicación del disco del equipo. No es recomendable añadir el sitio web en la carpeta por defecto /var/www, por temas de seguridad. Por ejemplo, crearemos la carpeta:

Si queremos, podemos añadir permisos a la carpeta creada para que el usuario actual (con el que hemos iniciado sesión en Rocky Linux), tenga permisos para editar ficheros en dicha carpeta:

Que será donde alojemos los ficheros de nuestro sitio web. A modo de ejemplo, crearemos un primer fichero, con el nombre index.html, en la carpeta anterior:

Añadir dominio para sitio web en Virtual Host de Apache

y el contenido:

Añadir dominio para sitio web en Virtual Host de Apache

Recrearemos la siguiente estructura de carpetas, para sitios activos actualmente y para sitios disponibles. Se esta forma, si queremos «quitar» un sitio en un momento dado, lo eliminaremos de la carpeta de sitios activos. Cuando queramos recuperarlo, copiaremos el fichero .conf del sitio de la carpeta de sitios disponibles a sitios activos:

Crearemos ahora el fichero virtual host para nuestro sitio web, en la carpeta /etc/httpd/conf.d/sitios_disponibles, con el nombre proyectoa.conf:

Con el siguiente contenido:

Añadir dominio para sitio web en Virtual Host de Apache

Como podemos comprobar, indicamos en el fichero anterior la ruta del sitio web en el parámetro DocumentRoot y en la directiva Directory.

Copiaremos el fichero /etc/httpd/conf.d/sitios_disponibles/proyectoa.conf a la carpeta /etc/httpd/conf.d/sitios_activos, que será la que a continuación indicaremos para la carga de Apache:

Ahora vamos a indicar a Apache que use (cargue) los ficheros que contenga la carpeta /etc/httpd/conf.d/sitios_activos. Para ello editaremos el fichero

Al final de este fichero, comentaremos la línea:

Añadiendo el carácter «#» delante, quedando:

y añadiremos esta nueva línea:

Añadir dominio para sitio web en Virtual Host de Apache

De esta forma, desactivamos la carga del sitio web por defecto de Apache y activamos la carga de los sitios web que se vayan añadiendo a la carpeta /etc/httpd/conf.d/sitios_activos.

Guardaremos los cambios (Control + O) y cerraremos la edición del fichero (Control + X).

Comprobaremos la sintaxis del fichero proyectoa.conf añadido, ejecutando el comando:

Nos mostrará este aviso:

Si queremos evitar este error/warning, editaremos el fichero de configuración de Apache, con:

Y añadiremos la siguiente línea:

ServerName www.proyectoa.com:80

Añadir dominio para sitio web en Virtual Host de Apache

Guardamos los cambios (Control + O) y cerramos la edición del fichero (Control + X).

Volvemos a ejecutar el comando de comprobación de sintaxis de los ficheros Virtual Host:

Ahora ya no nos mostrará el warning, solo «Syntax OK»:

Por último, volveremos a editar el fichero de configuración de Apache, para establecer los permisos a la nueva carpeta raíz /var/sw:

Realizaremos las siguientes modificaciones en el fichero:

  • Comentamos la línea DocumentRoot «/var/www/html», añadiendo el carácter «#» delante:

Después de esta línea comentada, añadiremos una nueva:

  • Comentamos la línea <Directory «/var/www»>, añadiendo el carácter «#» delante:

Después de esta línea comentada, añadiremos una nueva:

Quedando:

Muy importante: si hemos cambiado la ubicación del sitio web de defecto (como ha sido nuestro caso), y tenemos habilitado SELinux, deberemos ejecutar el siguiente comando para habilitar el acceso a la nueva carpeta raíz de los sitios web /var/sw por parte del servicio httpd:

Si no hacemos esto, al intentar acceder al sitio web, mostrará el error:

Forbidden
You don’t have permission to access this resource.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

Para aplicar todos los cambios, reiniciaremos el servicio de Apache, con el comando:

Probando el nuevo sitio web Virtual Host de Apache desde un equipo externo

Para probar el acceso a nuestro nuevo sitio web www.proyectoa.com desde un equipo externo, si es un equipo Windows de la misma red LAN del servidor web, deberemos «engañar» al equipo para indicar que el sitio web www.proyectoa.com está en la IP del servidor web (en nuestro caso en 192.168.1.224). Para ello editaremos el fichero C:\Windows\System32\drivers\etc\hosts (debemos abrir el editor Notepad u otro como administradores, dado que es un fichero protegido del sistema):

Probando el nuevo sitio web Virtual Host de Apache desde un equipo externo

Añadiremos la siguientes líneas al final del fichero hosts:

Y guardaremos los cambios.

Probando el nuevo sitio web Virtual Host de Apache desde un equipo externo

Ahora, si hacemos ping a proyectoa.com desde el equipo Windows, nos resolverá con la IP del servidor web Rocky Linux, que es lo que pretendemos :

Probando el nuevo sitio web Virtual Host de Apache desde un equipo externo

Abriremos cualquier navegador web en el equipo Windows e introduciremos la URL proyectoa.com. Si todo el proceso ha sido correcto, nos mostrará nuestra página de inicio del sitio web:

Probando el nuevo sitio web Virtual Host de Apache desde un equipo externo

Para añadir más sitios web, repetiremos el proceso, añadiendo los correspondientes ficheros .conf en la carpeta /etc/httpd/conf.d/sitios_disponibles y /etc/httpd/conf.d/sitios_activos.