(http://www.namhuy.net/wp-content/uploads/2014/06/Apache-Logo-namhuy.png)
Empezaremos desde el principio, ¿qué es apache? Apache es un servidor web HTTP de código abierto, pueden descargarlo e instalarlo de la siguiente manera:
sudo apt-get install apache2Algunos comandos de interés:
apache2 -v Mostrará la información de versión, módulos y modo de funcionamiento.
apache2 -l Nos mostrará los módulos instalados.
Diferentes archivos de configuración en apache:
apache2.confEs el fichero de configuración global, y se encuentra en
/etc/apache2/apache2.conf. Incluye las directivas principales del servidor, además, al final del archivo y mediante las órdenes
include se le indica al servidor que debe cargar otros archivos de configuración.
ports.confEn este fichero se establecen las direcciones IP y los puertos que va a usar el servidor. Por defecto se escucha el puerto 80, y en caso de que activemos el protocolo SSL, usaríamos el 443.
ennvarsSe utiliza para configurar las variables de entorno del servidor.
httpd.confEs el fichero de configuración principal, ya que se recomienda que el administrador del servidor introduzca en él las configuraciones adicionales en lugar de incluirlas en
apache2.conf.
/etc/apache2/conf.d/En este directorio se incluyen configuraciones adicionales y algunas aplicaciones web ubican aquí sus archivos de configuración.
Ahora que ya sabemos para que se utiliza cada archivo de configuración, podemos ponernos a configurar el archivo
apache2.confServerRootIndica el directorio raíz de la instalación de Apache. No se refiere al directorio donde colocaremos las páginas web. Solo deberemos modificar esto si movemos el servidor a otra ubicación.
ServerRoot "/www"
TimeoutSon los segundos que esperan las respuestas durante la comunicación.
Timeout 300
KeepAlive, MaxKeppAliveRequests y KeepAliveTimeoutDetermina si el servidor va a permitir que cada conexión haga más de una petición. El problema de activarlo es que un único cliente puede consumir demasiados recursos y saturar el servidor.
Activamos o desactivamos KeepAlive.
KeepAlive off/on
Determina el número de peticiones que podrá realizar cada conexión.
MaxKeepAliveRequests 100
Determina el tiempo que el servidor esperará antes de atender una nueva petición del mismo cliente.
KeepAliveTimeout 15
StartServers, MaxClientes y MaxRequestsPerChildApache crea y destruye servidores automáticamente según el tráfico que tenga que atender en cada momento.
Establecemos los servidores que se creearán al arrancar.
StartServers 5
Establece el número máximo de clientes que podrá atender Apache a la vez
MaxClients 150
Establece cuantas peticiones podrá atender cada cliente.
MaxRequestsPerChild 30
PortNos permite cambiar el puerto en el que el servidor espera las peticiones estándar.
Port 7000
ListenIndica al servidor en que dirección y puerto debe escuchar las peticiones http.
Listen 80
User y GroupEstas dos directivas indican con qué usuario y grupo se lanzarán los procesos hijos que genere apache. Estos procesos no deben lanzarse con el usuario
root por razones de seguridad.
En linux, por defecto el usuario
nobody y el grupo
nogroup tienen muy pocos privilegios.
Si queremos usar el número del grupo o del usuario en lugar del nombre debemos añadir
# justo antes del número.
User nobody
Grupo #-1
AccessFileNameIndica el nombre del archivo en el que se deben buscar las directivas de acceso determinadas en cada directorio.
Por defecto es .htaccess y no se recomienda cambiarlo.AccessFileName .htaccess
DefaultTypeEstablece el tipo MIME para todos aquelos archivos a los que no se les pueda asignar uno mediante su extensión.
DefaultType /text/plain
Podemos especificar más:
DefaultType /text/html
HostnameLookupsindica al servidor si se debe hacer una consulta DNS para cada petición.
HostnameLookups off
ErrorLogEs una directiva muy importante, ya que indica dónde ubuicar el archivo de registro de los errores que se produzcan en el servidor. El lugar por defecto es
%ServerRoot%/logs/error_log.ErrorLog logs/error_log
LogLevelEstablece cuánta información se guardará en el archivo de errores. Los valores posibles incluyen:
debug, info, notice, warn, error, crit, alert, emerg.LogLevel warn
Y hasta aquí la primera parte ^^
Link de la segunda: http://underc0de.org/foro/seguridad-en-servidores/conviertete-en-todo-un-experto-de-apache-(ii-ii)/
Un saludo.