servidor web: apache - windows server 2003...

20
Rocío Alt. Abreu Ortiz 2009-3393 Servidor Web: Apache Un servidor web es un programa que se ejecuta continuamente en un computador, manteniéndose a la espera de peticiones de ejecución que le hará un cliente o un usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una página web o información de todo tipo de acuerdo a los comandos solicitados. Apache es un servidor Open Source, para plataformas Unix, Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Es el más usado por los servidores en todo Internet. Características de Apache Soporte para los lenguajes perl, python, tcl y PHP. Módulos de autenticación: mod_access, mod_auth y mod_digest. Soporte para SSL y TLS. Permite la configuración de mensajes de errores personalizados y negociación de contenido. Permite autenticación de base de datos basada en SGBD. En este tutorial instalaremos y configuraremos el servidor web: Apache2, en el sistema operativo Debian Squeeze. 1- Debes abrir la terminal root, para lo cual debes hacer click en Aplicaciones Accesorios Terminal root.

Upload: phamkiet

Post on 28-Sep-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

Rocío Alt. Abreu Ortiz 2009-3393

Servidor Web: Apache

Un servidor web es un programa que se ejecuta continuamente en un computador,

manteniéndose a la espera de peticiones de ejecución que le hará un cliente o un

usuario de Internet.

El servidor web se encarga de contestar a estas peticiones de forma adecuada,

entregando como resultado una página web o información de todo tipo de acuerdo a los

comandos solicitados.

Apache es un servidor Open Source, para plataformas Unix, Microsoft

Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio

virtual. Es el más usado por los servidores en todo Internet.

Características de Apache

Soporte para los lenguajes perl, python, tcl y PHP.

Módulos de autenticación: mod_access, mod_auth y mod_digest.

Soporte para SSL y TLS.

Permite la configuración de mensajes de errores personalizados y negociación de

contenido.

Permite autenticación de base de datos basada en SGBD.

En este tutorial instalaremos y configuraremos el servidor web: Apache2, en el sistema

operativo Debian Squeeze.

1- Debes abrir la terminal root, para lo cual debes hacer click en Aplicaciones –

Accesorios – Terminal root.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Instalación del servidor Apache

1- Antes de realizar la instalación del servidor Apache, es recomendable que actualices

los repositorios, utilizando el comando apt-get update, y luego instales esas

aplicaciones con el comando apt-get install update.

2- Luego de haber actualizado los repositorios, nos toca instalar el servidor Apache,

para eso utiliza el comando apt-get install apache2

En mi caso el servidor Apache está instalado y actualizado, como podrán observar en la

imagen; esto no quiere decir que todas las veces sucederá lo mismo.

3- Para comprobar que efectivamente tenemos el servidor web Apache instalado,

podemos hacer uso del comando service –status-all, que nos mostrará una lista

con todos los servicios activos.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

4- Una vez que hemos comprobado que el servicio del servidor Apache 2 esta

instalado en nuestro sistema operativo, es momento de reiniciarlo empleando la

siguiente línea /etc/init.d/apache2 restart y presiona Enter.

5- Ahora haremos una prueba para ver si esta funcionando, abriendo el navegador y

escribiendo localhost ó 127.0.0.1 y si estas en otro computador escribe la dirección

ip de la pc que posee el servicio activo.

Para iniciar el servidor Apache.

Esta es la página predeterminada del

servidor.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Publicar una página web en el servidor Apache

1- Para la publicación de una página web en el servidor Apache, debemos de dirigirnos

al directorio /var/www, mediante el comando cd /var/www.

Este es el directorio por defecto del servidor, todo lo que se encuentre ahí, será

accesible por la web.

2- Como podrás observar dentro se encuentra el archivo index.html, vamos a

modificarlo y para eso debes escribir nano index.html y presiona Enter.

Puedes hacerle los cambios que desees, empleando sintaxis básicas del lenguaje

HTML.

3- Antes de visualizar los cambios en el archivo index.html, modificaremos el archivo

/etc/hosts para ponerle una dirección web (nombre) a nuestra dirección IP, de

manera que solo tengamos que introducir el nombre y se nos re-direccione a los

archivos que estén en /var/www. En la terminal escribe nano /etc/hosts.

Cuando hayas modificado, guarda los cambios (CTRL + O) y cierra la ventana

(CTRL + X)

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

4- Ahora iremos al navegador, he introduciremos el nombre del servidor que en este

caso es www.rox-debian.com, para visualizar los cambios que hemos hecho en el

archivo index.html.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Directorio de datos que permita bajarse los archivos

1- En la terminal escribe cd /var/www, dentro de este directorio, crearemos la carpeta

que tendrá los archivos para la descarga.

2- Al introducir el comando ls, podemos observar que nuestro directorio Estudiantes,

ha sido creado.

3- Agrégale los archivos que deseas compartir por medio del directorio. Puedes

hacerlo por gráfico, como por la terminal. En mi caso lo hare por la terminal, pues ya

sé que archivo deseos compartir y en que lugar están.

Primero, dirígete al directorio en donde se encuentran los archivos.

Segundo, verifica que están ahí.

Por último, utilizando el comando mv [nombre del archivo] /var/www/Estudiantes

Comprueba que efectivamente se encuentran en la carpeta Estudiantes.

4- Luego, de haber hecho estos cambios en el servidor, debemos de reiniciarlo

escribiendo /etc/init.d/apache2 restart

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

5- En el navegador, escribe la dirección del servidor/Estudiantes. De esta manera

podemos visualizar los archivos que se encuentran en el servidor. En mi caso sería

www.rox-debian/Estudiantes

Si haces click encima de algún archivo se te abrirá en una ventana, por ejemplo si

haces click encima de Hola.doc, podrás leer su contenido.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

PSD: Si deseas renombrar ó borrar el archivo index.html, que trae nuestro servidor

apache, debes registrarte como nautilus, porque ni siquiera estando en superusuario ó

root lo permite.

Nautilus es el gestor de archivos oficial del escritorio GNOME. Permite navegar entre

directorios, previsualizar archivos y ejecutar las aplicaciones asociadas a éstos.

También es el responsable de gestionar los iconos del escritorio GNOME. Funciona con

sistemas de ficheros locales y remotos.

Espacio web para cada usuario

Ahora crearemos algunos directorios para usuarios dentro del servidor Apache, de

modo que crearemos un espacio con su propio index para cada usuario del sistema.

1- Cada usuario del sistema dispondrá de un espacio web que se almacenará dentro

de /home en una carpeta llamada “public_html”. Esta carpeta debemos de crearla

nosotros, por lo tanto debemos de dirigirnos al directorio /home/[nombre del

usuario] y empleando el comando mkdir public_html crearemos el directorio. No

olvides que debes que configurar los permisos de ese nuevo directorio usando en

comando chmod.

El permiso 644, quiere decir que el propietario de la carpeta, que en este caso será el

usuario rocio tendrá acceso a lectura y escritura, y todos los demás solo tendrán

permiso de lectura nada más.

Para otorgar permiso full utiliza el código 777

2- Realiza el paso anterior usando otras cuentas de usuarios que ya tengas creadas en

el sistema.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

3- Para que cada usuario tenga su propio espacio personal, debemos activar el módulo

de Apache userdir. Para esto, escribimos en la terminal el comando a2enmod

userdir y presiona Enter.

4- Para que a2enmod userdir, tenga efecto debemos de reiniciar el servidor Apache,

empleando la siguiente línea: /etc/init.d/apache2 restart

5- Antes, de acceder al espacio web de los usuarios, vamos a crearle el archivo

index.html

Aquí mostraré como crearlo, y ustedes harán los demás para los otros usuarios

siguiendo este patrón. Escribe en la terminal gedit index.html

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

6- Redacta algo sencillo empleando algunas sintaxis básicas de HTML, como puedes

ver en la imagen.

7- Luego, haz click en Archivo – Guardar como…. Para especificar el lugar donde se

guardará.

8- En “Guardar en la carpeta:” Selecciona Escritorio para que sea más fácil ubicarlo.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

9- Regresa a la terminal, y escribe cd Desktop y luego ls. Como verás el archivo está

presente. Entonces ahora lo moveremos a la carpeta public_html del usuario rocio,

para eso empleamos el comando mv (mover).

Sintaxis para el comando mv

mv [nombre del archivo] /ruta completa hacia donde se moverá

10- Por último, vamos a dirigirnos a la ruta /home/rocio/public_html para comprobar

que se ha movido correctamente.

11- Para acceder a estos espacios web, solo debes escribir la dirección web ó IP que

identifica el servidor seguido de ~nombre del usuario.

El carácter “~” comúnmente conocido como gusanillo sirve para indicarle a Apache que

debe servir la página desde el home del usuario (en Linux el “gusanillo” equivale a la

carpeta home).

En el navegador introduce los siguiente: http:// ip-del-servidor/~nombre del usuario.

En mi caso es www.rox-debian.com/~rocio

www.rox-debian.com/~rochell

www.rox-debian.com/~maris0l

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Dominios virtuales ó VirtualHost

Los dominios virtuales consisten en utilizar un mismo servidor web para atender varios

dominios. Se utiliza en el caso en el que se dispone de una sola dirección IP pública y

la misma está asociada a varios nombres de dominio. Por ejemplo, la IP X.Y.Z.W está

asociada a mi_dominio.com.do y a tu_dominio.com.do y los sitios alojados en un mismo

servidor.

Para que funcionen varios dominios virtuales en un host que tiene asociado una única

IP se debe utilizar la cláusula VirtualHost.

Para ir un poco más allá de lo que te

presento en este “How to”, puede crear

directorio dentro de cada carpeta

public_html de los usuarios y agregarle

archivos para que se pueden compartir y

descargar.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

En /etc/apache2/site-available vamos a tener un archivo por cada uno de nuestros

sitios, que luego serán enlazados dinámicamente desde /etc/apache2/sites-enabled

1- En la terminal escribe cd /etc/apache2/site-available y presiona Enter. Dentro de

este directorio creamos los dominios para nuestro servidor web. Yo crearé:

www.so3.com

Para crear los sitios, emplearemos el comando Touch utilizado para crear ficheros.

2- Para enlazar estos ficheros a los sitios habilitados, debemos de estar en el directorio

/etc/apache2/sites-enabled

Dentro de este directorio crearemos los enlaces simbólico hacia los ficheros,

empleando el comando ln.

Nota: ../ sustituye la parte de /etc/apache2, es decir viene siendo lo mismo que

escribas /etc/apache2/sites-available/

ln =Este comando sirve para establecer enlaces entre archivos. Y el parámetro –s

indica que el enlace es simbólico. El enlace simbólico es un archivo que apunta a otro

archivo o directorio.

3- Para ver los enlaces que contiene el directorio /etc/apache2/sites-enabled

escribe ls –l

4- Ahora crearemos los archivos que tendrán la configuración del dominio virtual. Pero,

ten presente que la cláusula VirtualHost debe ir al principio de los archivos que se

encuentren en /sites-available/ esto le indica a Apache que es un hostvirtuales. En

nuestro caso lo vamos a incluir en www.so3.com.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

El archivo estará vacío, por lo que nosotros debemos de insertarle todos los campos

Estos campos lo puedes encontrar si entrar a gedit /etc/apache2/sites-

available/default, lo copias y lo pegas en el archivo del sitio nuevo, y solo tienes que

modificarlo como esta en la imagen.

5- Antes de reiniciar el servidor Apache, debemos de crear las carpetas que

configuramos en los archivos, en la parte de DocumentRoot. Por lo tanto, escribimos

cd /var/www y luego con el comando mkdir creamos los directorios.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Y creamos el directorio para el sitio www.so3.com.

Luego debemos de darle permisos full (777) para que los usuarios al entrar no tenga

inconvenientes o problemas de accesos.

6- Ahora debemos de crear el archivo index.html dentro del directorio so3. Primero

tenemos que entrar con ayuda del comando cd so3, y luego con el editor nano

index.html.

7- Redacta en el archivo index.html, lo que deseas que se muestre en la página. Como

puedes ver he utilizado unas pocas sintaxis básica del lenguaje HTML.

8- Procedemos a reiniciar el servidor para que los cambios hagan efecto.

9- Para que la computadora reconozca la dirección de los dominios que acabamos de crear,

tenemos que modificar el archivo /etc/hosts y agregarlo. En la terminal escribe nano

/etc/hosts.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Ve a tu navegador y prueba que tu sitio funciona introduciendo la dirección

(www.so3.com).

Acceso seguro

La autentificación es cualquier proceso mediante el cual se verifica que alguien es quien

dice ser. La autorización es cualquier proceso por el cual a alguien se le permite estar

donde quiere ir, o tener la información que quiere tener.

Para brindar acceso seguro al dominio virtual, utilizaremos la utilidad htpasswd que

viene con Apache, para crear un archivo de contraseñas. Ésta utilidad puede

encontrarla en el directorio bin de cualquier sitio en que haya instalado Apache. Para

crear el archivo, escribe:

htpasswd -c /etc/apache2/password rocio

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

rocio = es el nombre del usuario que tendrá acceso.

Deberás indicar una contraseña para el usuario que indicaste, en mi caso rocio.

Si te diriges a la ruta /etc/apache2 verás que el archivo password está creado.

Escribe nano password, para que veas que la contraseña está encriptada.

Ahora dirígete a la ruta /etc/apache2/sites-available para modificar el sitio

www.so3.com

Agrega las siguientes líneas debajo de allow from all

AuthType Basic

AuthName "Restricted Files"

AuthUserFile /etc/apache2/password

Require user rocio

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Vete al navegar e ingresa la dirección del sitio. Chequea que nos pide Identificación, ahí

pones el nombre de usuario que especificaste en el archivo password.

Y listo, como la contraseña es correcta te permitirá visualizar la página.

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Las directivas anteriores sólo permiten que una persona (específicamente alguien con

un nombre de usuario rocio) acceda al directorio. En la mayoría de los casos, usted

querrá permitir el acceso a más de una persona. Aquí es donde entra la

directiva AuthGroupFile.

Si desea permitir la entrada a más de una persona, necesitará crear un archivo de

grupo que asocie nombres de grupo con una lista de usuarios perteneciente a ese

grupo. El formato de este archivo es muy sencillo, y puede crearlo con su editor favorito.

El contenido del archivo será parecido a este:

Esto es solo una lista de miembros del grupo escritos en una línea separados por

espacios.

Para agregar un usuario a un archivo de contraseñas ya existente, escribe:

htpasswd /etc/apache2/password rochell

Esto lo harás por cada usuario que este agregado en el archivo GroupName.

Se creará en el mismo archivo password. Es la opción -c la que se cree un nuevo

archivo de contraseñas.

Ahora, necesita modificar su archivo www.s03.com, ubicado en /etc/apache2/sites-

available para que sea como el siguiente:

AuthType Basic

AuthName "By Invitation Only"

AuthUserFile /etc/apache2/password

AuthGroupFile /etc/apache2/GroupName

Require group GroupName

Servidor Web: Apache

Rocío Alt. Abreu O. 2009-3393

Luego ve a tu navegador e introduce la dirección web. En el recuadro de autenticación

pon el otro usuario que agregaste al archivo passwod, y notarás que todo funciona

correctamente.