Servidor Web Apache

Click here if you want to read in English


Descargo de responsabilidad: Esto no es un “best Minecraft servers”

Trabajemos en Linux! Una de las cosas mas interesantes que puedes hacer en Linux es usar el servidor de Apache (Apache webserver). Sabes qué es Apache server? Averiguemoslo!

Apache webserver es un servidor responsable de aceptar solicitudes HTTP. Estáticas (texto e imagenes) y dinámicas (scripts). Es un server hosting multiplataforma que puede ser usado como servidor dedicado (apache https), posee gran modularidad. Uno de los paquetes mas populares es LAMP (Linux, Apache, Mysql y Python).

El grupo de desarrolladores de este software empezó a llamarse el “Grupo Apache” por esto el nombre.

Es muy sencillo de instalar:

  • yum install httpd –> Para instalar, muy sencillo
  • rpm -q httpd –> Chequear la version actual del servidor Apache
    • /etc/httpd/conf/httpd.conf –> archivo de configuracion principal. Haz un respaldo (backup) de este archivo antes de editarlo
  • Las varíables más importantes del archivo de configuración son:
  1. ServerRoot: Localización del la configuración de Apache server, los archivos error_log and access_log se encuentran ahi. La localización por defecto es: /etc/httpd
  2. PidFile: El numero del proceso para httpd. Apache genera muchos procesos (child processes) cuando esta activo para acomodar el trafico web. Permite monitoreo y manipulación de los procesos en el servidor. Mientras mas pedidos exitan, mayor sera el numero de procesos.
  3. ServerName: Esta variable es donde declaras el nombre de tu website. Ex: http://www.test-apache.com
  4. DocumentRoot: Donde los documentos del servidor se encuentran (archivos html, imagenes, etc). Es posible referenciar estos archivos utilizandos aliases y link simbolicos (symlinks). La localización por defecto es: /var/www/html
  5. ErrorLog: es la localizacion relativa desde ServerRoot. La localización por defecto logs/error_log. Sin embargo, no olvides que /etc/httpd/logs es un link simbólico a /var/log/httpd (por lo tanto, los logs se encuentran aqui)
  6. Alias: Para usar como pseudonimo de tu sitio.
  7. Listen: Para que el servidor sepa en que puerto escuchar por conexiones entrantes . Por defecto, el puerto 80 es usado (no seguro), pero puede ser modificado para usar el puerto 443 (seguro), esta es la joya de la corona.
Has instalado el servido Apache ?

rpm -q httpd –> Para chequear si el paquete esta en tu equipo

Que? Son los permisos de Linux una pesadilla?

La verdad no, si entiendes los permisos básicos, lo mas critico serían SELinux (Security Enhanced Linux). En este ejemplo, tengo dos sitios web donde puedo acceder a uno pero no al otro. Por qué? Por queeeé???

Si, estas en lo correcto, los permisos

En este caso copie el directorio donde tengo mi sitio web de /webdata to /mysite

Como puedes ver en la imagen de arriba, el context type es diferente y httpd_sys_content (usuario httpd) no tiene permitido acceder a este directorio 😦

Puedes ver que uno de los dos sitios no es accesible, no te preocupes. Tenemos que cambiar el security context:

  • chcon -R -t httpd_sys_content_t /mysite –> Cambiar el SELinux security context del directorio. -R recursivamente y -t tipo
  • semanage fcontext -a -t httpd_sys_content_t  /mysite –> Hacer cambios permanente en Linux context. -a agregar regla y -t context type
SElinx policy in place

En caso de que quieras verificar las reglas de SELinux:

  • cat /etc/selinux/targeted/contexts/files/file_contexts.local –> Revisar que reglas han sido agregadas a SELinux

En mis próximas entradas estaré escribiendo de servidor ftp, nginx, SELinux. Sigue conectado y gracias por seguir el blog!

Si tienes tiempo, revisa mis otros posts y dejame saber si haz hecho algo similar

techyinvestor.com


Para saber más de Ansible

Para saber más de finanzas e inversión

21 thoughts on “Servidor Web Apache

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: