V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

apache2

Ajustes de apache2

# apache2ctl -M
Visualizar todos los modulos de apache
# apache2ctl -S
visualizar el estatus de apache
# apache2ctl -t
Comprobar que la configuracion de apache va bien
# apache2ctl -k graceful
Reiniciar sin cortar las conexiones de los usuarios
# apache2ctl -k start
arrancar el servidor. Equivale a /etc/init.d/apache2 start. Tambien acepta las opciones: stop, restart
# apache2ctl configtest
Otra forma de comprobar la configuración de apache
# tail -f /var/log/apache2/access.log
muestra en tiempo real, accesos, ips...
# tail -f /var/log/apache2/error.log
muestra los errores de acceso

Ajustes

1.-

Ajustes mínimos:

# nano /etc/apache2/apache2.conf

Epecificar la carpeta web y el nombre del servidor web:

DocumentRoot /var/www
ServerName localhost

2.-

Permisos de la carpeta web:

# chmod -R 755 /var/www && find /var/www -type d -exec chmod 711 {} \;

3.-

mod_evasive:

Descargar mod_evasive

$ http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

Descomprimir y entrar en la carpeta:

$ tar -zxf mod_evasive_1.10.1.tar.gz
$ cd mod_evasive/

Puede que tengamos que instalar:

# apt-get install apache2-prefork-dev

Compilar el módulo:

# apxs2 -i -a -c mod_evasive20.c

Para confirmar que se ha habilitado lo podemos buscar en:

$ ls /usr/lib/apache2/modules/ | grep evasive

mod_evasive20.so

Reiniciar apache

# /etc/init.d/apache2 restart

Para testear su efectividad:

# perl test.pl

Que viene en el mismo paquete descargado. El resultado correcto:

HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 2...
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbi ...

Los parámetros por defecto son suficientes en condiciones "normales". Si se precisa afinar más su configuración, pueden añadirse las siguientes lineas al archivo /etc/apache2/httpd.conf:

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 1
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
</IfModule>

Que significa que si una página o cualquier objeto de ella, recibe 50 peticiones por segundo cada segundo la IP será bloqueada durante 600 segundos.

4.-

Para que apache no informe del sistema operativo y versión de apache

# nano /etc/apache2/apache2.conf

Añadir las lineas:

ServerTokens ProductOnly
ServerSignature Off

5.-

Ocultar un archivo de la carpeta webapachetop

Comando top [ver] especifico para servidores apache y lanzado al estilo de tail [ver]

# apachetop -f /var/log/apache2/access.log
Monitorear en tiempo real
# nano /etc/apache2/apache2.conf

Y colocar en su interior:

<Files archivo_a_ocultar>
order allow,deny
deny from all
</Files>

6.-

Ver peticiones al servidor apache:

# cat /var/log/apache2/access.log | awk '{print($1)}' | sort | uniq -c | sort
# grep "resuming normal operations" /var/log/apache2/error.log | cut -d'[' -f2 | sed -e 's/]//'
La última vez que fué reiniciado
# ls -od --time-style=+%d-%m-%Y /proc/$(ps axo pid,cmd | grep apache | head -n 1 | sed -e 's/^ *//' | cut -d' ' -f1) | cut -d' ' -f 5
otra forma
# (cat /var/log/apache2/*.log; zcat /var/log/apache2/*.gz) | grep "resuming normal operations" | cut -d'[' -f2 | sed -e 's/]//' | sort
Todas las veces que fue reiniciado
# (cat /var/log/apache2/*.log; zcat /var/log/apache2/*.gz) | grep "resuming normal operations" | wc -l
Cuantas veces se ha reiniciado

7.-

Crear un directorio web privado:

# nano /etc/apache2/apache2.conf

Agregar el siguiente contenido:

<Directory /var/www/privado>
AllowOverride AuthConfig
</Directory>

Reiniciar apache:

# /etc/init.d/apache2 restart

Crear el archivo .htaccess en el interior del directorio privado:

$ nano /var/www/privado/.htaccess

Agregar el contenido:

AuthName "Acceso restringido"
AuthUserFile /var/www/.htpasswd
AuthType Basic
require valid-user

Crear el archivo para el usuario con privilegios:

# htpasswd -c /var/www/.htpasswd juan

Entrar la contraseña y confirmación.

Para añadir más usuario con privilegios, sin el parámetro -c:

# htpasswd /var/www/.htpasswd pedro

8.-

Para que las aplicaciones no aparezcan con caracteres extraños y simbolos raros:

# nano /etc/apache2/conf.d/carhset

Y añadir las siguientes lineas:

AddDefaultCharset UTF-8
AddDefaultCharset latin1
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
1839 entradas - Acerca del Tractatus
La Pipa Plena 2019