Apache
Última actualización
Última actualización
Apache es un software de servidor web de código abierto ampliamente utilizado que sirve archivos HTML a través de Internet. Es altamente personalizable y admite varias funciones.
En Windows la mejor solución es softwaresintegrados como XAMPP o WAMP.
Para su instalación en terminal de Ubuntu simplemente:
Apache tiene un directorio de carpetas y archivos tal que así:
Dentro de la jerarquía, su archivo principal de configuración es httpd.conf
y en él encontramos parámetros importantes como el puerto de conexión, el host o los virtualhost que queremos configurar
Apache contiene funcionalidades como:
mod_rewrite: Reescriba las URL para mejorar el SEO o la facilidad de uso.
archivo .htaccess: Permite la configuración por directorio, útil para reescribir URL y otras configuraciones.
Configuración SSL/TLS: para conexiones HTTPS
Autenticación y autorización: protege directorios especificas con contraseñas
Uso de proxys
Equilibrio de carga: Distribuye las solicitudes entrantes entre varios servidores para mejorar el rendimiento.
En el caso de Apache, tenemos tres módulos de procesamiento de múltiples hilos (MPM). Cada uno de estos MPMs tiene un enfoque diferente para manejar las solicitudes HTTP y gestionar los procesos y hilos asociados con la ejecución del servidor:
mpm_prefork
-> Adecuado para entornos donde la estabilidad y la simplicidad son prioritarias sobre la eficiencia en el uso de recursos.
mpm_worker
-> Es especialmente útil en entornos donde se espera un alto volumen de solicitudes y se desea aprovechar la eficiencia de los hilos.
mpm_events
-> Es una opción adecuada para entornos donde se requiere un alto rendimiento y escalabilidad, especialmente en situaciones donde el número de conexiones simultáneas es alto.
Para saber qué modo está activado por defecto, tendremos que consultar el contenido de la carpeta mods-enabled.
Para activar un modo distinto al habilitado procederemos de la siguiente forma:
Se puede modificar el número de workers en el fichero de configuración respectivo de cada módulo.
En este caso, con la configuración por defecto deberíamos editar el fichero ports.conf si queremos hacer una configuración general.
En el caso en el que tengamos una configuración con VirtualHosts , cada uno puede llevar su propia configuración de puertos.
Referido al período máximo de inactividad permitido entre una solicitud y su correspondiente respuesta.
La configuración de los logs se realiza en el archivo de configuración principal del servidor, que comúnmente se llama httpd.conf
en sistemas basados en Unix/Linux o apache2.conf
en otros casos.
El contenido del fichero httpd.conf
está compuesto por un gran número de directivas de las que solo se describen a continuación algunas de ellas. Usalas según necesidades:
ServerTokens
Según el parámetro que se introduzca a continuación: - ProductOnly solo muestra el nombre del servidor web instalado - Minimal muestra el nombre así como la versión de Apache instalada - OS muestra el nombre, versión y sistema operativo - Full muestra nombre, versión, sistema operativo así como los servicios que hacen uso del servidor web
ServerTokens full
Apache 2.1/(Linux)/PHP3/MySQL
ServerRoot
Indica al servidor web la ubicación donde se almacenan los ficheros de configuración de Apache.
ServerRoot "/etc/
httpd"
Timeout
Indica el número se segundos antes de que se cancele una conexión por falta de respuesta.
Timeout 120
KeepAlive
Indica si se permiten o no las conexiones persistentes, es decir más de una petición por servidor. Puede tomar los valores "On" u "Off"
KeepAlive On
Listen
Permite asociar Apache a una dirección y/o puerto especifico además del predeterminado.
Listen 192.168.1.1:6680
Include
Indica al servidor web la ruta en donde se encuentran almacenados los ficheros de configuración adicionales de Apache como, por ejemplo, los dominios virtuales.
Include conf.d/*.conf
User
Especifica que usuario es el que ejecuta los procesos del servidor de un y, por tanto, los permisos de lectura y escritura que se aplican sobre los recursos.
User usuario1.
Group
Igual que User pero con grupos
Group group1
ServerAdmin
Especfica la persona a la que se le debe notificar los problemas referentes al portal web, a través de su cuenta de correo.
ServerAdmin administrador@correo.com
ServerName
Especifica el nombre y puerto que se usa para identificar al servidor.
ServerName www.dominio.com:80
DocumentRoot
Indica al servidor al ruta en donde se encentran almacenados los ficheros web del sitio principal.
DocumentRoot "/var/www/html
"
Options
Indica varias opciones de comportamiento, pudiendo estas ser aplicadas a un directorio concreto.
<Directory /web/images/>
Options All
Allow
Indica al sistema los equipos que pueden acceder a una determinada área del servidor. El acceso se puede controlar por nombre, IP, rango de IP, etc. Igualmente pueden ser aplicadas a un directorio concreto. Así mismo, sirve para especificar, entre otras cosas, si se puede ejecutar CGI.
Allow from 150.100.25
5.166
Deny
Analoga a la anterior, pero para denegar el acceso.
Deny from DominioDenegado.com
En Apache además de los parámetros genéricos Timeout y KeepAliveTimeout , podemos hacer uso de los parámetros incluidos en el módulo .
Referencias: