Para hoy vamos a tratar de configurar el servidor web, como nunca he hecho esto, no se que existe, los mas comunes: Apache, IIS, Cherokee, otros mas simples: Lighttpd, thttpd.
Apache: Servidor de código abierto y licencia libre para plataformas Unix y Windows, implementa el protocolo HTTP 1.1. Es muy criticado por la falta de interfaz gráfica para la configuración y esta se hace por medio del archivo apache2.conf ó httpd.conf según la plataforma.
IIS: Es el servidor que funciona para plataformas de Microsoft, viene con servicios como FTP, SMTP, NNTP y HTTP/HTTPS.
Cherokee: Servidor web multiplataforma, apunta a ser bastante rápido, esta escrito en C, es escalable y puede usarse como un sistema integrado. Nacio en el 2001.
Lighttpd: Diseñado para ser rápido, seguro, flexible. Consume mucho menos CPU y RAM, por lo que es recomendado para servidores con problemas de carga.
Thttpd: Se caracteriza por ser simple, pequeño, portatil, rápido y seguro. Utiliza los requerimientos mínimos de un servidor HTTP, ideal para servir grandes volúmenes de información.
Escojo Apache por que es el mas popular de todos, lo que se traduce en que debe de haber mas información para instalar el servicio. Cabe decir que me parecen muy interesante lighttpd y thttpd.
Para instalar el apache2, se debe dar la siguiente instrucción:
sudo apt-get install apache2; cosa que me deja mas soprendido.
sudo es una palabra reservada de Ubuntu que palabras mas, palabras menos quiere decir super usuario.
apt-get es decirle que la instalación la vamos a hacer através de la aplicación apt-get.
Y listo!, Instalado el servicio. Como se que esta corriendo? Por lo siguiente:
Al abrir el navegador, (en este caso esta versión de Ubuntu viene con Firefox)
Para parar el servicio: sudo /etc/init.d/ apache2 stop
Y tenemos lo siguiente:
De manera similar con sudo /etc/init.d/ apache2 start el servicio vuelve y arranca.
Para cambiar el pantallaso inicial: sudo /etc/www/index.html , por que no entrar por las carpetas?, Lo trate de hacer y cambiar pero me dice que no lo puedo hacer por que no tengo permisos.
Haciendo la siguiente prueba:
En la consola damos el comando ifconfig con el cual podemos conocer la ip que tiene la máquina virtual en este momento:
192.168.198.131 y la voy a poner escribir en mi navegador Chrome que lo tengo corriendo en windows y obtenemos lo siguiente:
Con el comando sudo gedit /var/www/index.html, para organizarlo según los requerimientos del trabajo.
Para realizar la autenticación, que cuando entremos a: http://localhost/auth, pida de usuario y contraseña, lo primero que se debe hacer es crear el directorio auth con el comando mkdir, de la siguiente manera:
sudo /etc/var/www/auth.
Luego tenemos que crear el archivo index.html, para eso utilizamos la siguiente expresión:
sudo gedit /etc/var/www/auth/index.html e inmediatamente crea el archivo y lo abre, por razones de simplicidad en el ejercicio, nos limitaremos a copiar un código HTML sencillo de manera que muestre un mensaje.
Creamos el archivo .htpasswd con el comando touch, de la siquiente manera:
sudo touch /etc/var/www/auth/.htpasswd
y con el comando htpasswd le asignamos la contraseña, que para este caso es el ID.
Trato y no funciona, así que decido reiniciar el servidor; Con el comando sudo /etc/init.d/ apache2 restart. Pero tampoco coje el cambio, así que reviso todo el procedimiento pero todo esta bien. Buscando en internet, me encuentro con:
http://www.ubuntu-ve.org/node/1503, donde mencionan que:
" Apache(R) 2.0.x viene más seguro, ya que su configuración predeterminada viene de tal modo que deshabilita muchas cosas que podrán considerarse de cierto riesgo. Parte de esa seguridad incluye deshabilitar los SSI (Server Side Includes) y el uso de los ficheros .htaccess para modificar o adicionar funciones a directorios. ".
De igual manera también dan la cura:
"1) Ve a la ruta: /etc/apache2/sites-enabled
2) Con privilegios de root abre el archivo que se refiere a tu sitio. En mi caso es un link con el siguiente nombre "000-default". Veras que alli dice /var/www/ que es el directorio raiz
3) en la siguiente linea de codigo
<>
Options Indexes FollowSymLinks MultiViews
AllowOverride All <-- REVISA QUE ESTE EN ALL Order allow,deny allow from all
< /Directory\> "
Logrando el resultado.
Haciendo una prueba desde windows:
Host Virtual: Es una técnica que permite tener varios sitios web en el mismo ordenador y usando un solo programa de servidor web.
La condición es que el host virtual se accedera al visitar: http://10.20.44.1
El primer paso que se debe seguir es crear el directorio donde va a estar almacenado el nuevo sitio web con la instrucción: sudo mkdir /var/www/hostvirtuales.
Luego creamos el archivo que va a ser de veces de página web con la siguiente instrucción:
sudo gedit /var/www/hostvirtual/index.html y cargamos una página web muy sencilla.
Hasta ahy ya creamos el contenido!.
Mirando en la web, me encontré con la pagina:
http://thebitdeveloper.com/2009/11/11/39/, donde explican algo muy importante que no sale en otros sitios y es hacer que la tarjeta de red tome la IP requerida.
Con ifconfig listamos las interfaces de red y luego hacemos que esta tome la IP que el profesor requiere, con el comando: sudo ifconfig eth0:1 10.20.44.1 netmask 255.0.0.0.
Queda de la siguiente manera:
Es importante anotar, que se debe hacer una copia del archivo default de apache, pues ya reinstale el ubuntu pensando que había hecho un daño.
Luego de esto segui todos los pasos que mencionan en el block y el resultado es:
Modificando el archivo host de la siguiente manera:
Podemos obtener que el navegador acceda al host virtual tecleando: www.alejolongas.com
Esta parte del trabajo me dió mucho problema, pues en ninguno de los sitios donde busqué mencionaban lo del ifconfig, incluso solucioné un problema de instalación que tenia el apache2 y no me había dado cuenta.
Consiste en que al darle al apache la orden de star, stop ó restart sale un pequeño error, como se muestra a continuación:
Esto se soluciona abriendo el archivo httpd.conf y escribiendo en el lo siguiente:
ServerName localhost.
Con lo que se consigue:
Lastimosamente como no estaba en la búsqueda de la solución de ese error, perdí la URL del sitio donde lo mencionan.
Buscando en la red, la pagína: http://www.guia-ubuntu.org/ habla que el VFSTPD es el servido FTP que se recomienda para Debian y Ubuntu, pues la configuración es muy sencilla.
No se diga mas, vamos a instalarlo!!!, Con la instrucción mágica:
sudo apt-get install vsftpd
Este debe permitir el acceso a usuarios normales del sistema y al usuario anonimus.
Para eso seguiré el artículo:
En el cual mencionan como instalar el vsftpd, como se configura y como se reinicia.
Hacemos una prueba de la siguiente manera:
Nos conectamos, pedimos la lista de archivos disponibles y nos desconectamos.
Con lo que queda listo la primera parte del trabajo!