La configuración de un servidor web y su acceso puede realizarse de muchas formas.
A continuación, explico uno de los caminos más sencillos.
1. Nombres del servidor
- Editar el archivo "/etc/hosts" agregando:
...
127.0.0.1 sitio1
127.0.0.1 sitio2
...
2. Instalación y configuración del servidor Web Apache2
- Instalación de apache2 y PHP5
- #aptitude install apache2 php5
- Creamos los directorios para guardar las páginas:
- #mkdir /var/www/sitio1
- #mkdir /var/www/sitio2
- #chown -R www-data.www-data /var/www/sitio1
- #chown -R www-data.www-data /var/www/sitio2
- Configuración del primer host virtual:
- Crearemos un archivo por cada sitio virtual para mantener un mejor orden:
- #vim /etc/apache2/sites-available/sitio1
ServerName sitio1
ServerAlias www.sitio1
DocumentRoot /var/www/sitio1
ErrorLog /var/log/apache2/sitio1/error.log
LogLevel warn
CustomLog /var/log/apache2/sitio1/access.log combined
ServerSignature On
- Ahora configuramos el segundo:
- #vim /etc/apache2/sites-available/sitio2
ServerName sitio2
ServerAlias www.sitio2
DocumentRoot /var/www/sitio2
ErrorLog /var/log/apache2/sitio2/error.log
LogLevel warn
CustomLog /var/log/apache2/sitio2/access.log combined
ServerSignature On
- Creamos los directorios para los logs:
- #mkdir /var/log/apache2/sitio1/
- #mkdir /var/log/apache2/sitio2/
- #mkdir /var/log/apache2/sitio1/
- Habilitamos cada uno de los sitios:
- #a2ensite sitio1
- #a2ensite sitio2
- Recargamos la configuración del servicio "Apache2":
- #/etc/init.d/apache2 reload
- Creamos un par de páginas web para probar la configuración:
- #echo "Este es el sitio 1." > /var/www/sitio1/index.html
- #echo "Este es el sitio 2." > /var/www/sitio2/index.html
- Con un explorador, navegamos a las direcciones:
- http://sitio1
- http://sitio2
- El acceso vía DAV es alternativo al que proveen las cuentas locales del servidor.
- Las cuentas locales pueden apoyarse en servicios como ssh, scp y ftp.
- Los usuarios y claves de DAV pueden estar almacenados en un archivo.
- Cargamos los módulos "dav" y "dav_fs" en el servidor apache2:
- #a2enmod dav
- #a2enmod dav_fs
- Creamos un directorio para guardar el archivo de usuarios y claves para acceso vía DAV:
- #mkdir /etc/apache2/dav-auth
- Creamos el archivos con usuarios y claves correspondientes:
- #htpasswd -c -m /etc/apache2/dav-auth/dav-auth-claves usuario1
- #htpasswd -m /etc/apache2/dav-auth/dav-auth-claves usuario2
- #chown root.www-data /etc/apache2/dav-auth/dav-auth-claves
- #chmod 640 /etc/apache2/dav-auth/dav-auth-claves
- Con esto hemos creado el archivo "dav-auth-claves" que contiene nombre de usuario y clave cifrada.
- Configuramos los archivos "sitio1" y "sitio2" en "/etc/apache2/sites-available":
...
Alias /webdav /var/www/sitio1
DAV On
AuthType Basic
AuthName "Webdav del sitio 1"
AuthUserFile /etc/apache2/dav-auth/dav-auth-claves
Require valid-user
...
"/etc/apache2/sites-available/sitio2":
...
Alias /webdav /var/www/sitio2
DAV On
AuthType Basic
AuthName "Webdav del sitio 2"
AuthUserFile /etc/apache2/dav-auth/dav-auth-claves
Require valid-user
...
6. Probamos el acceso a los sitios vía DAV:
- Para esta prueba podemos utilizar un programa de cónsola llamado "cadaver". Procedemos a su instalación:
- #aptitude install cadaver
- Ejecutamos la prueba para acceder al "sitio 1":
- #cadaver http://sitio1/webdav
...ingresamos el usuario y la clave.
Una vez dentro podemos ejecutar el comando "ls" para visualizar los archivos.
- #cadaver http://sitio1/webdav
- Ejecutamos la prueba para acceder al "sitio 2":
- #cadaver http://sitio2/webdav
...ingresamos el usuario y la clave.
Una vez dentro podemos ejecutar el comando "ls" para visualizar los archivos.
- #cadaver http://sitio2/webdav
En este punto tenemos un servidor web con dos hosts virtuales para ser accedidos vía DAV.
Éxitos!
FUENTES:
http://www.simplehelp.net/2008/12/16/how-to-setup-virtual-hosts-in-apache/
http://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch
http://www.apache2.org/
http://httpd.apache.org/docs/2.0/mod/mod_dav.html
http://lists.debian.org/debian-user-spanish/2008/11/msg00768.html
2 comentarios:
Saludos!!
# #htpasswd -c -m usuario1 /etc/apache2/dav-auth/dav-auth-claves
# #htpasswd -m usuario2 /etc/apache2/dav-auth/dav-auth-claves
Cambiar por:
# #htpasswd -c -m /etc/apache2/dav-auth/dav-auth-claves usuario1
# #htpasswd -m /etc/apache2/dav-auth/dav-auth-claves usuario2
Siguiendo los pasos me di cuenta de que el primer parametro es la ruta y el segundo el nombre de usuario :)
Gracias David!
Corregido!
Publicar un comentario