Instalación de Apache en CentOS 7

Instalación de Apache en CentOS 7

Para administrar su sitio en un servidor local, necesita instalar muchos componentes adicionales, los cuales y organizar un sistema único que funcione coherentemente y sin errores. Uno de los principales componentes de dicha estructura puede considerarse un servidor web. Los usuarios suelen preferir utilizarlo Apache por su sencillez y flexibilidad de configuración, y por la posibilidad de conectar módulos externos. Sin embargo, la instalación y la configuración básica no son rápidas y para algunos usuarios son incluso complicadas, por eso nos gustaría describir este proceso en detalle, tomando como ejemplo la distribución CentOS 7.

Instalación de Apache en CentOS 7

La estructura del artículo de hoy será paso a paso para que incluso el usuario más novato entienda exactamente cómo se instala y prepara el servidor web en cuestión. No damos instrucciones detalladas para configurar Apache, porque esto se basa en las preferencias personales y otros componentes importantes. Siempre es recomendable consultar la documentación oficial para obtener esta información.

Paso 1: Preparación e instalación

Empecemos de inmediato por instalar los componentes responsables de que Apache funcione correctamente y añadir todos los servicios auxiliares. Para ello sugerimos utilizar el repositorio de la distribución, ya que siempre tiene la última versión estable, y el proceso de instalación en sí no tardará mucho.

  1. Ejecutar «Terminal»., por ejemplo, a través del icono en «Favoritos»..
  2. Si ya tenía Apache instalado en su ordenador, o si desinstaló accidentalmente alguno de sus componentes, simplemente utilice el comando sudo yum update httpdy activarlo pulsando la tecla Entre en.
  3. Esta acción se realiza en nombre de un superusuario, lo que significa que tendrá que confirmarla especificando la contraseña de esa cuenta.
  4. Si se instalan las actualizaciones, se le notificará, y si falta el paquete, aparecerá otro mensaje de carácter apropiado.
  5. Ahora vamos a hablar de la instalación de Apache desde cero. Como hemos dicho, para ello, utilizaremos los repositorios oficiales, de ahí el comando sudo yum install httpd.
  6. Cuando aparezca una notificación de instalación del paquete, confirme la instalación del paquete seleccionando y.
  7. Espere a que la instalación se complete, no cierre la sesión de terminal actual durante esto, para no interrumpir el proceso.
  8. Al terminar, se recomienda inmediatamente iniciar el servidor web, lo que puede hacerse a través de sudo systemctl start httpd.
  9. Compruebe el estado actual a través de sudo systemctl status httpd.
  10. Notificación «Activo: activo (en marcha)» implica que Apache está ahora funcionando correctamente y puede pasar a configurarlo más.

Esto es todo lo que necesitas saber sobre el procedimiento básico de instalación del servidor web. Como puede ver, no es nada complicado. A continuación, queremos cubrir la interacción con los servicios principales y la instalación de la configuración básica, y es usted quien decide si estudiar estas instrucciones o si ya tiene los conocimientos para configurarlos y gestionarlos.

Paso 2: Gestionar el servicio Apache

El servidor web en CentOS, al igual que otras distribuciones, funciona en segundo plano como un servicio. Se añade al autoarranque por defecto, y ya hemos hablado de la activación y las comprobaciones de estado. Si quieres gestionar esta herramienta, puedes hacerlo de la siguiente manera:

  1. Tipo sudo systemctl stop httpd para detener Apache por completo.
  2. Este y todos los comandos posteriores se ejecutarán como superusuario, por lo que deberá confirmarlo introduciendo la contraseña correspondiente.
  3. El reinicio se realiza mediante un comando sudo systemctl restart httpd. Este comando es relevante en situaciones en las que el servidor falla o necesita ser reiniciado debido a la interacción con otros componentes.
  4. Utilice sudo systemctl reload httpdsi quiere que todos los cambios surtan efecto después de la configuración, pero que no se rompa ninguna de las conexiones.
  5. Comando sudo systemctl disable httpd elimina Apache del autocargador, y sudo systemctl enable httpd devuelve el estado por defecto. Además, cuando esta opción está activada, se le notificará que se ha creado un nuevo enlace simbólico que es responsable de esta configuración.

Como puede ver, los comandos más estándar controlan el estado del servicio. No serán difíciles de recordar si a menudo tiene que recurrir a estas medidas mientras administra una red, un sitio particular o cualquier aplicación.

Paso 3: Configuración básica

La configuración básica incluye la creación de un host virtual, que resulta muy útil para aislar la configuración y alojar diferentes dominios en el mismo servidor. Un host virtual estándar es suficiente si se trata de un solo sitio, pero cuando registre otros dominios tendrá que recurrir a la creación de parámetros adicionales. Ahora para un ejemplo, tomaremos el host virtual estándar, y cambiará su dirección, si es necesario.

  1. Empecemos por crear un directorio donde se almacenarán todos los archivos hijos del host virtual. Esto se hace con un comando sudo mkdir -p /var/www/example.com/html.
  2. También se requiere una carpeta adicional donde se guardarán automáticamente los registros de eventos. Para añadirlo, introduzca sudo mkdir -p /var/www/example.com/log.
  3. Establezca los permisos por defecto para el directorio con sudo chown -R $USER:$USER /var/www/example.com/html.
  4. Además, establezca y privilegios para cada usuario insertando sudo chmod -R 755 /var/www.
  5. Procedamos a crear una página maestra de ejemplo que se mostrará cuando se pruebe el host. Cree un nuevo archivo de texto utilizando un editor conveniente, por ejemplo, utilizando nano, introduzca sudo nano /var/www/example.com/html/index.html.
  6. Cuando abra el editor de texto, verá una notificación de que se trata de un nuevo archivo. No te preocupes, se supone que es así. Lo creamos a propósito estableciendo la configuración adecuada.
  7. Pegue el código que aparece a continuación, sustituyendo el saludo estándar por un texto arbitrario. Si lo desea, puede rediseñar completamente la estructura creando una página que se adapte a sus necesidades.


    <html>
    <head>
    <title>Welcome to Example.com!</title>
    </head>
    <body>
    <h1>Success! The example.com virtual host is working!</h1>
    </body>
    </html></code>

  8. Guarde los cambios haciendo clic en Ctrl + Oy luego salir del editor de texto a través de Ctrl + X.
  9. Esos eran sólo los ajustes preliminares. Ahora pasemos al host virtual propiamente dicho: primero hay que especificar sus carpetas de almacenamiento. Para ello, escriba sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled.
  10. Después de eso, indica al servidor web que ahora necesita comunicarse también con otros componentes. Esta tarea se realiza editando el archivo de configuración principal. Ejecútelo con un editor de texto, especificando sudo nano /etc/httpd/conf/httpd.conf.
  11. Vaya al final de la lista e inserte una línea IncludeOptional sites-enabled/*.conf.
  12. Recuerde guardar los cambios antes de salir del editor de texto.
  13. Necesitará otro archivo de configuración para crear el propio host virtual. Créalo a través de sudo nano /etc/httpd/sites-available/example.com.conf.
  14. Pegue allí el siguiente contenido, sustituyendo las líneas necesarias por las suyas.


    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example.com/html
    ErrorLog /var/www/example.com/log/error.log
    CustomLog /var/www/example.com/log/requests.log combined

  15. Sólo queda activar el archivo creando un enlace simbólico a través de sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf.

Paso 4: Configurar el control de acceso

A la hora de configurar los ajustes globales, también es necesario proporcionar un control de acceso especificando un número de usuarios que podrán realizar cambios en los directorios comentados anteriormente. Para ello se utiliza la herramienta estándar SELinux, que se encarga de gestionar los niveles de acceso.

  1. Establezca el parámetro de seguridad global a través de sudo setsebool -P httpd_unified 1. Esto garantizará que todos los tipos de procesos sean tratados como uno solo.
  2. A continuación, se recomienda comprobar los parámetros actuales de SELinux que se han proporcionado automáticamente. Para ello, escriba sudo ls -dZ /var/www/example.com/log/.
  3. Como resultado, verá el contenido drwxr-xr-x. root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/. Significa que ahora Apache sólo puede leer los archivos que se crearon en la carpeta instalada, por lo que habrá que cambiar la configuración en consecuencia.
  4. Esta tarea se lleva a cabo mediante sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?".
  5. Guarde los cambios y haga que se activen después de reiniciar el servidor introduciendo sudo restorecon -R -v /var/www/example.com/log.
  6. Ahora comprueba los cambios que has hecho de nuevo con sudo ls -dZ /var/www/example.com/log/.
  7. Como puede ver, la salida resultante tiene la forma de drwxr-xr-x. root unconfined_u:object_r:httpd_log_t:s0 /var/www/example.com/logPor lo tanto, todo se ejecuta correctamente.
  8. Sólo queda probar todos los cambios. Para ello, introduzca sudo systemctl restart httpd y haga clic en Entre en.
  9. Confirme la acción especificando la contraseña de superusuario.
  10. Vuelva a crear la consulta para el directorio introduciendo ls -lZ /var/www/example.com/log. Si el contenido que aparece tiene el formato -rw-r--r--. 1 root root error.log -rw-r--r--. 1 root root 0 requests.logentonces todos los ajustes anteriores se han realizado correctamente.

Se ha presentado el procedimiento de instalación y la configuración general del servidor web Apache en CentOS 7. Como puedes ver, la instalación en sí no lleva mucho tiempo, y todas las complejidades están relacionadas únicamente con la configuración. Si esta guía sobre cómo modificar y administrar Apache no es suficiente para ti, te animamos a explorar la documentación oficial a través del siguiente enlace.

Ir al sitio oficial de documentación de Apache

Nos alegramos de que hayamos podido ayudarle con su problema.

Describa lo que no le ha funcionado.
Nuestros especialistas tratarán de responder con la mayor rapidez posible.

¿Le ha ayudado este artículo?