miércoles, 2 de abril de 2008

Servidor Web en linux APACHE2 (by Morsa) parte6

Ver Estadísticas Gráficas con WebAlizer:

Instalamos WebAlizer:

Código:

apt-get install webalizer


Copiamos el archivo de configuración con el nombre de nuestro site:

Código:

cd /etc/webalizer
cp webalizer.conf central.net.conf


Modificamos las siguientes líneas del arcihvo central.net.conf:
línea 20 -> LogFile -> Especificarle nuestro log /var/log/apache2/central.net.80.log
línea 38 -> OutputDir -> /var/www/central.net/stats -> donde pondrá las estadísticas.

Creamos el directorio:

Código:

mkdir /var/www/central.net/stats/


Ejecutar el comando:

Código:

webalizer -c central.net

Debo estar posicionado en /etc/webalizer

Para verlo por web: http://central.net/stats

Servidor Web en linux APACHE2 (by Morsa) parte5

Modificación de Errores en el Explorador Web:

Dentro de VirtualHost de nuestro site agregamos:

Código:

vim /etc/apache2/sites-available/central.net

< VirtualHost.........
..............
..............
ErrorDocument 404 /404.htm
< /VirtualHost>

404 -> Número de error del explorador
404.htm -> Archivo que contendrá el error que quiero mostrar, no necesariamente debe tener el mismo nombre que el error, puedo llamarlo como quiera.


Luego Creamos el archivo 404.htm:

Código:

vim /var/www/central.net/404.htm

Acá escribimos lo que queremos que muestre el explorador cuando se produzca el error 404.
ERROR 404

Servidor Web en linux APACHE2 (by Morsa) parte4

Cómo Crear LOGS para cada archivo:

Apache por defecto utiliza un log para todos los sites, lo que haremos a continuación será crear un log a nuestro modo y para un site específico.

Modificamos el siguiente archivo y debajo de todo del VirtualHost que creamos agregamos:

Código:

vim /etc/apache2/sites-available/central.net

< VirtualHost
CustomLog /var/log/apache2/central.net.log combined
< /VirtualHost >

Aclaro que los ......... no deben ponerlos, es lo que agregaron previamente a ese archivo, solamente los pongo para aclarar que deben dejarlo igual y solo agregar esa línea al final.

También podremos ver dentro del archivo /etc/apache2/apache2.conf, en la línea 201 los distintos tipos de formatos de LOGS. Existen 3:

Referer -> de qué sitio vienen
Agent -> cuándo se conectan
Combined -> abarca los tres anteriores

Servidor Web en linux APACHE2 (by Morsa) parte3

Restringir Sitios a determinadas direcciones Ip's:

Dentro del archivo .htaccess que creamos en el post anterior agregar:

Order Deny,Allow
Deny From all
Allow From 192.168.1.111

Lo que ya teníamos agregado lo dejamos, es decir que dicho archivo nos quedará de la siguiente forma:

Order Deny,Allow
Deny From all
Allow From 192.168.1.111
AuthType Basic
AuthName "Privado"
AuthUserFile /etc/apache2/users
Require valid-user/

Lo que hemos hecho en las primeras líneas fue crear un bloqueo de acceso a todos y luego le permitimos el acceso a dicho site a la dirección ip 192.168.1.111

Servidor Web en linux APACHE2 (by Morsa) parte2

Restringir Sitios con Usuario y Contraseña:

Crear un directorio:

Código:

mkdir /var/www/central.net/privado


Crear un index dentro de la carpeta privado:

Código:

vim /var/www/central.net/privado/index.html


Dentro poner cualquier cosa, por ejemplo hola mundo o algo por el estilo.

Verificar que podemos acceder mediante el explorador web por:
http://ip_servidor/privado

Crear un archivo dentro del directorio privado que se llame .htaccess y poner lo siguiente:

Código:

vim /var/www/central.net/privado/.htaccess

AuthType Basic
AuthName "Privado
AuthUserFile /etc/apache2/users
Require valid-user"

Creación de usuarios para el acceso:

Código:

htpasswd -c /etc/apache2/users admin


Users será el archivo donde ponga el usuario y contraseña, admin es el usuario que agregará y luego le solicitará el password para admin.

Luego probaremos nuevamente con el explorador web entrar al mismo directorio que anteriormente y veremos que nos pedirá usuario y contraseña, ahi ingresaremos el que recién hemos creado.

Si quiero crear un nuevo usuario simplemente ejecutaremos el comando htpasswd pero sin el parámetro -c, ejemplo:

Código:

htpasswd /etc/apache2/users otroUsuario

Servidor Web en linux APACHE2 (by Morsa) parte1

Instalación y Configuración:

Instalamos primero el entorno gráfico:
Código:

hat#apt-get install xfce xorg gdm


Instalamos apache2:
Código:

hat#apt-get install apache2


Nos posicionamos el el directorio del apache2:
Código:

hat#cd /etc/apache2


Dentro encontraremos varios directorios, dentro de los cuales estarán sites-enabled
y sites-available. El ultimo directorio son los sitios disponibles, pero que no están
funcionando, para que funcione debo hacerle un enlace simbolico en sites-enable.

Lo mismo ocurrirá con los directorios mods-enable y mods-available.

Ahora editaremos el archivo de configuración principal de apache:
Código:

hat#vim /etc/apache2/apache2.conf


Dentro de el tendremos que tener lo siguiente:

Código:

en la linea 50 aprox debo tener: ServerRoot
dentro del vim si ejecutamos: ":50" nos enviará a la línea 50.

KeepAlive <-- Función para mantener viva la conexión, si montamos un site chico le
pondremos On y para sitios grandes le pondremos Off.

Por la línea 125 aprox tendremos el usuario y grupo del apache: www-data

En la línea 175 nos indicará los logs de los errores.

línea 192 nos indica el archivo que contiene por default 80 el port que escucha apache, si queremos usar SSL debemos colocar en el archivo el 443.

línea 201 tendremos el formato de la salida de los logs

línea 300 Tendremos íconos por default que no están seteados

línea 668 especifica la ruta del directorio sites-enable, que explicamos su significado anteriormente.


Antes de la línea final del archivo apache2.conf deberemos agregar el VirtualHost, es decir antes de la línea 668 agregaremos lo siguiente:

Código:

NameVirtualHost 192.168.1.100:80

--> esto preparará nuestra ip para tener mas de un nombre en una ip, si no tengo que agregar una ip por cada dominio que tengamos.


Entramos al directorio sites-availables:
Código:

hat#cd /etc/apache2/sites-available


Editamos el archivo del dominio que crearemos, en este ejemplo central.net:
Código:

hat#vim central.net


y dentro pondremos:
Código:


ServerAdmin yo@central.net #--> esta linea es opcional, mail por algun error.
ServerName central.net #--> Nombre del dominio.
ServerAlias www.central.net#--> Alias de Dominio, puedo poner varios.
DocumentRoot /var/www/central.net



Esto que hicimos previamente quiere decir que estará disponible pero no habilitado aún. Para habilitarlo ejecutaremos el comando a2ensite:

Código:

hat#a2ensite
Which site would you like to enable?
Your choices are: central.net default


Aća nos está preguntando que sitio queremos habilitar, obviamente le pondremos el que creamos recién, escribimos central.net.

Antes de reiniciar el demonio tendremos que crear una pagina sensilla, vamos a /var/www/ y creamos un directorio llamado central.net que es el que le especificaomos en DocumentRoot y ponemos un index cualquiera para que levante temporariamente y verificar que lo que hicimos esta correcto.

Código:

hat#cd /var/www/
hat#mkdir central.net
hat#cd central.net
hat#vim index.html

Y dentro del index colocamos cualquier cosa por ejemplo "hello", guardamos y cerramos el archivo:
Código:

:wq


Ahora si reiniciamos el demonio:
Código:

hat#/etc/init.d/apache2/ reload


Accedemos por página web con la dirección ip:
http://192.168.1.100
y veremos el contenido del archivo index.html


Ahora veremos que hay dentro de sites-enabled:
Código:

hat#ls -l /etc/apache2/sites-enabled
lrwxrwxrwx 1 root root 36 2008-03-25 01:42 000-default -> /etc/apache2/sites-available/default
lrwxrwxrwx 1 root root 40 2008-03-25 02:02 central.net -> /etc/apache2/sites-available/central.net


Vemos que el comando a2ensite lo que hizo fue hacer un enlace simbolico simplemente al sitio disponible que creamos.

Si queremos deshabilitar el sitio central.net simplemente podemos borrar el enlace simbólico creado en sites-enabled o con el comando a2dissite, ejemplo:

Código:

hat#a2dissite central.net

ó
Código:

hat#rm /etc/apache2/sites-enabled/central.net