miércoles, 26 de noviembre de 2008

Autenticación de apache2

En este nuevo vamos a aprender a autentificar nuestro sitio web.
1º Creamos un directorio en el cual vamos a guardar nuestro sitio web, lo creamos dentro de /var/www/. El directorio que vamos a crear se llamará "clase" y usaremos el siguiente código:
sudo mkdir clase

Dentro de dicho directorio creado vamos a crear nuestra página web con el nombre (index.html).
2º Ahora debemos crear un directorio donde almacenar las contraseñas.
sudo mkdir /var/passwd
3º Para crear las contraseñas debemos usar el siguiente comando.
sudo htpasswd -c /var/passwd/.htpasswd alumno
La variable -c solo se pone una vez.
4º Después de todo esto debemos de crear un fichero llamado .htaccess, el punto lo utilizamos para que el fichero aparezca oculto, es decir que no aparezca para los usuarios no deseados.
sudo gedit /var/www/clase/.htaccess
En dicho fichero ponemos el siguiente contenido

-AuthUserFile: indica donde se almacenan los usuarios.
-AuthGroupFile:indica donde hemos creado el archivo de grupos.
5º En tutoriales anteriores creé un sitio web llamado sitio1 y en este tutorial lo vamos a utilizar también.
Lo teníamos almacenado en /etc/apache2/sites-available que se llama sitio1.
Y le añadimos el siguiente contenido:

El siguiente paso es reiniciar nuestro servidor apache:
sudo apache2ctl restart
Y comprobamos que funciona la autenticación poniendo en el Firefox la dirección IP del sitio web.


Bueno, con esta autenticación solo es para algunas personas en especial, pero si por ejemplo queremos que entre todo un grupo de personas y no queremos tener que introducir y crear un montón de usuarios podemos crear un grupo que nos sirve para que pueda entrar un montón de personas con un usuario y una contraseña. Lo haremos de la siguiente forma:
1º Creamos un fichero en/var/passwd donde pondremos la lista de grupos o usuarios.
usaríamos el siguiente comando.
sudo gedit group
Para poder usar este comando antes hay que haber entrado en /var/passwd
En el fichero pondríamos el siguiente contenido:

Después de esto reiniciamos nuestro apache:
sudo apache2ctl restart
Y comprobamos que funciona la autenticación poniendo en el Firefox la dirección IP del sitio web.







lunes, 17 de noviembre de 2008

HOSTS VIRTUALES BASADOS EN NOMBRE

Vamos a realizar un host virtual basado en nombre en nuestro ubuntu. Comenzamos con la creación de una tarjeta de red virtual que nos servirá para poder crear todos los host virtuales que queramos. el comando para la creación de la tarjeta de red virtual es el siguiente:

ifconfig ethN:n nuevaIP netmask mascara

Después habilitamos con
a2ensite

Y después ponemos el nombre de fichero donde hallamos guardado el host virtual.
Una vez realizado esto lo siguiente que tenemos que realizar es la creación del host virtual, de modo que nos creamos un fichero que se llame según queramos. Yo le e puesto el nombre web1 pero cada uno puede ponerle el que mas le guste. en el fichero que hemos creado ponemos lo que aparece en la captura de pantalla que aparece acontinuación y tendremos nuestro host virtual.

En el fichero /etc/apache2/sites-available/default
añadimos la línea NameVirtualHost (IP)

donde aparece IP entre parentesis ponemos la IP para el host virtual basado en nombre.
Después de esto reiniciamos el apache con el comando:
sudo apache2ctl start
después creamos el directorio:
/var/www/web1
En el directorio
web1 creamos nuestra página web y al poner en el nabegador web ponemos la dirección de dominio que hemos puesto en el fichero de creación de el host virtual. Mi nombre de dominio es www.web1.net (se puede poner el que se desee).

En caso de que nos salga una página de Internet debemos de tocar en el fichero hosts y poner nuestra IP y el nombre de dominio.
El fichero hosts se encuentra en /etc/hosts y añadimos nuestra IP y el nombre de dominio.
Nota: no os ofendais por el contenido de mi página web.

HOSTS VIRTUALES BASADOS EN IP

Vamos a realizar un host virtual basado en IP en nuestro ubuntu. Comenzamos con la creación de una tarjeta de red virtual que nos servirá para poder crear todos los host virtuales que queramos. el comando para la creación de la tarjeta de red virtual es el siguiente:

ifconfig ethN:n nuevaIP netmask mascara
if config eth0:1 192.168.1.229 netmask 255.255.255.1

Y después ponemos el nombre de fichero donde hallamos guardado el host virtual.
Una vez realizado esto lo siguiente que tenemos que realizar es la creación del host virtual, de modo que nos creamos un fichero que se llame según queramos. Yo le e puesto el nombre sitio1 pero cada uno puede ponerle el que mas le guste. En el fichero que hemos creado ponemos lo que aparece en la captura de pantalla que aparece a continuación y tendremos nuestro host virtual.

Después habilitamos con
a2ensite
sudo a2ensite sitio1
En la captura de pantalla aparece una dirección IP y un nombre de dominio que pertenece a mi host virtual, mi consejo es que se cambie como minimo la IP porque sino no va a funcionar.
También debemos poner en el archivo hosts nuestra IP
ponemos:
sudo gedit /etc/hosts

El siguiente paso después de crearnos nuestro host virtual es reiniciar nuestro servidor apache
sudo apache2ctl start
Porque sinó lo reiniciamos todos los cambios que hemos hecho no sirven para nada.
A continuación creamos el directorio
mkdir /var/www/sitio1
Nota:
sitio1 se corresponde al directorio que yo e creado.
En ese directorio creamos una página web y abrimos el navegador web, ponemos nuestra IP y si nos sale la página web que hemos creado quiere decir que funciona el trabajo que hemos realizado y sino funciona es porque lo hemos hecho mal. En la captura de pantalla que muestro a continuación se demuestra como al poner la IP sale mi página web:

Espero que os guste mi tutorial y en especial a mi profesor que es el que va a valorar mi trabajo.

viernes, 7 de noviembre de 2008

Instalación y configuración de Apache

En este tutorial instalaremos y configuraremos el "Servidor Web Apache".
Comenzaremos con la instalación de Apache desde el terminal o la consola de linux.
Para instalarlo utilizaremos el siguiente comando:

sudo aptitude install apache2-mpm-prefork

Después de instalarlo hay que iniciar o arrancar el Servidor Web con el siguiente comando:
sudo apache2ctl start

Nos aparecerá un error como se muestra en esta captura de pantalla:

Para quitarlo abra que configurar el fichero de configuración de apache, el fichero se encuentra en /etc/apache2/apache2.conf añadiendo una línea de código.
Vamos a configurar el fichero con el siguiente comando.

sudo gedit /etc/apache2/apache2.conf

Nota: antes de configurar cualquier fichero de configuración es recomendable hacer una copia de dicho fichero con el siguiente comando:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.original

La línea de código que hay que escribir en /etc/apache2/apache2.conf es la siguiente:

ServerName localhost

Ahora arrancamos otra vez nuestro Apache haber si sale el error o no sale.

Para comprobar que nuestro Apache esta funcionando ponemos en el navegador Web

localhost

y nos debe de salir la siguiente página Web:

Para cambiar el lugar de alojamiento de las páginas web tendriamos que poner en el archivo de configuración de apache la línea:

DocumentRoot

Después de DocumentRoot se pondría la dirección del fichero donde alojaríamos nuestra página web.

Para que en nuestra página Web puedan aparecer tildes y eñes tendremos que configurar un fichero y añadir una línea,
el fichero de que tendremos que configurar lo abrimos con la siguiente línea de comando:
sudo gedit /etc/apache2/conf.d/charset

y añadimos la línea:

AddDefaultCharset UTF-8

ademas en el código de nuestra página web debemos añadir esta línea:

metaa http-equiv="contect-Type" content="text/html; charset=utg-8"

(Al principio se pone el símbolo de menor y al final el símbolo mayor y meta solo se escribe con una "a")
Para cambiar el nombre de la página web que apache va a coger por defecto introducimos esta línea de comando:
sudo gedit /etc/apache2/sites-available/default

Y se añade la línea:

DirectoryIndex inicio.html

(inicio.html) es el nombre que yo le e puesto a mi página web para que se carge por defecto.


Mi página con el nombre inicio.html es:




Para un nombre de dominio para nuestra página web se pone añadiendo en el archivo de configuración y añadir una línea de código:

Para acceder al fichero de configuración ponemos:
sudo gedit /etc/apache2/apache2.conf

Para terminar de configurar nuestro apache debemos de poner un nombre de dominio. Se pone en el fichero /etc/hosts.
Usaremos la siguiente línea de comando para entrar en el fichero:
sudo gedit /etc/hosts
escribimos el nombre de dominio que deseemos:

y después comprobamos que al poner el nombre de dominio en nuestro navegador web aparece nuestra página web guardada como inicio.html.