Virtual Server Centos2
Virtual Server Centos2
Virtual Server Centos2
en CentOS 7
Introducción
El servidor HTTP Apache es el más usado del mundo. Ofrece muchas características
potentes, entre las que se incluyen módulos que se cargan de forma dinámica, una sólida
compatibilidad con medios y amplia integración con otras herramientas de software
populares.
A través de esta guía, instalará un servidor web de Apache con hosts virtuales en su
servidor de CentOS 7.
Requisitos previos
Necesitará lo siguiente para completar esta guía:
Como usuario sudo no root configurado en los requisitos previos, actualice el índice
local de paquetes de Apache httpd para reflejar los últimos cambios:
Una vez confirmada la instalación, yum instalará Apache y todas las dependencias
necesarias.
A continuación, vuelva a cargar el firewall para que entren en efecto estas nuevas
reglas:
Una vez que se vuelva a cargar el firewall, estará listo para iniciar el servicio y
comprobar el servidor web.
Output
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled;
vendor preset: disabled)
Active: active (running) since Wed 2019-02-20 01:29:08 UTC; 5s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 1290 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─1290 /usr/sbin/httpd -DFOREGROUND
├─1291 /usr/sbin/httpd -DFOREGROUND
├─1292 /usr/sbin/httpd -DFOREGROUND
├─1293 /usr/sbin/httpd -DFOREGROUND
├─1294 /usr/sbin/httpd -DFOREGROUND
└─1295 /usr/sbin/httpd -DFOREGROUND
...
Como puede ver en este resultado, parece que el servicio se inició correctamente. Sin
embargo, la mejor forma de comprobarlo es solicitar una página de Apache.
hostname -I
Con este comando se mostrarán todas las direcciones de red del host, de modo que
obtendrá algunas direcciones IP separadas por espacios. Puede probar cada una de ellas
en su navegador web para ver si funcionan.
curl -4 icanhazip.com
http://your_server_ip
Esta página indica que Apache funciona correctamente. También incluye información
básica sobre archivos y ubicaciones de directorios importantes de Apache. Ahora que el
servicio está instalado y en ejecución, puede utilizar diferentes comandos de systemctl
para administrarlo.
Si solo realiza cambios de configuración, Apache a menudo puede recargarse sin cerrar
conexiones. Para hacerlo, utilice este comando:
Por defecto, Apache está configurado para iniciarse automáticamente cuando el servidor
lo hace. Si no es lo que quiere, deshabilite este comportamiento escribiendo lo
siguiente:
Por defecto, Apache en CentOS 7 tiene habilitado un bloque de servidor que está
configurado para proporcionar documentos del directorio /var/www/html. Si bien esto
funciona bien para un solo sitio, puede ser difícil de manejar si aloja varios. En lugar de
modificar /var/www/html, creará una estructura de directorio dentro de /var/www para
el sitio example.com y dejará /var/www/html instalado como directorio
predeterminado que se presentará si una solicitud de cliente no coincide con ningún otro
sitio.
sudo vi /var/www/example.com/html/index.html
Pulse i para realizar un cambio al modo INSERT y agregar el siguiente ejemplo HTML
al archivo:
/var/www/example.com/html/index.html
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
Antes de crear sus hosts virtuales, deberá crear un directorio sites-available para
almacenarlos. También creará el directorio sites-enabled que indica a Apache que un
host virtual está preparado para visitantes. En el directorio sites-enabled se
almacenarán enlaces simbólicos a hosts virtuales que deseemos publicar. Cree ambos
directorios con el siguiente comando:
sudo vi /etc/httpd/conf/httpd.conf
IncludeOptional sites-enabled/*.conf
Guarde y cierre el archivo cuando termine de añadir esa línea. Ahora que están listos sus
directorios de hosts virtuales, creará su archivo de host virtual.
sudo vi /etc/httpd/sites-available/example.com.conf
<VirtualHost *:80>
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
</VirtualHost>
Esto indicará a Apache dónde encontrar directamente el root que contiene los
documentos web de acceso público. También, dónde almacenar errores y solicitar
registros para este sitio en particular.
Ahora que creó archivos de host virtuales, los habilitará para que Apache sepa
presentarlos a los visitantes. Para lograrlo, cree un enlace simbólico para cada host
virtual en el directorio sites-enabled:
sudo ln -s /etc/httpd/sites-available/example.com.conf
/etc/httpd/sites-enabled/example.com.conf
Su host virtual quedará, así, configurado y listo para ofrecer contenido. Antes de
reiniciar el servicio de Apache, nos aseguraremos de que a través de SELinux se
implementen las políticas correctas para sus hosts virtuales.
Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0
/var/www/example.com/log/
A continuación, utilice el comando restorecon para aplicar estos cambios y hacer que
persistan a través de los reinicios:
sudo restorecon -R -v /var/www/example.com/log
Output
restorecon reset /var/www/example.com/log context
unconfined_u:object_r:httpd_sys_content_t:s0-
>unconfined_u:object_r:httpd_log_t:s0
Puede enumerar los contextos una vez más para ver los cambios:
Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0
/var/www/example.com/log
ls -lZ /var/www/example.com/log
Verá que Apache pudo crear los archivos error.log y requests.log especificados en
la configuración del host virtual:
Output
-rw-r--r--. 1 root root 0 Feb 26 22:54 error.log
-rw-r--r--. 1 root root 0 Feb 26 22:54 requests.log
Ahora que tiene su host virtual configurado y los permisos SELinux actualizados,
Apache proporcionará su nombre de dominio. Puede comprobarlo visitando
http://example.com, donde debería ver algo como esto:
Esto confirma que su host virtual está correctamente configurado y ofrece contenido.
Repita los pasos 4 y 5 para crear nuevos hosts virtuales con permisos de SELinux para
dominios adicionales.
Conclusión
A través de este tutorial, instaló y gestionó el servidor web de Apache. Ahora que ha
instaló su servidor web, dispone de varias opciones respecto del tipo de contenido que
puede ofrecer y de las tecnologías que puede utilizar para crear una experiencia más
completa.
Si desea construir una pila de aplicaciones más completa, puede consultar este artículo
sobre cómo configurar una pila LAMP en CentOS 7.