17
Raymer Acosta 2010-2946 Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 1 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. Debes abrir la terminal root, para lo cual debes hacer click en Aplicaciones – Accesorios – Terminal root.

Servidor Web: Apache! - debian-kn.weebly.com

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 1

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.

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

– Accesorios – Terminal root.

Page 2: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 2

Instalando Apache web server!

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.

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.

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.

Page 3: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 3

a 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.

Ahora haremos una prueba para ver si está 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.

ESTA ES LA PAGINA PREDETERMINADA DEL SERVIDOR

Page 4: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 4

Publicar una página web en Apache

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.

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.

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)

Page 5: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 5

Ahora iremos al navegador, he introduciremos el nombre del servidor que

en este caso es www.ray-debian.com, para visualizar los cambios que

hemos hecho en el archivo index.html.

Directorio de datos que permita descarga de archivos!

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

carpeta que tendrá los archivos para la descarga.

Al introducir el comando ls, podemos observar que nuestro directorio

Students, ha sido creado.

Page 6: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 6

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 qué lugar están.

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

verifica que están ahí. (En nuestro caso se encuentran en el escritorio es una

carpeta llamada mis-imágenes).

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

Comprueba que efectivamente se encuentran en la carpeta Students.

Luego, de haber hecho estos cambios en el servidor, debemos de

reiniciarlo escribiendo /etc/init.d/apache2 restart.

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.ray-debian.com/Students.

Page 7: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 7

Como lo que compartí fue una carpeta eso es lo que estamos visualizando pero

podemos acceder a los archivos que contiene haciendo clic en ella.

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

ejemplo si haces click encima de índice.jpeg, podrás visualizar la imagen.

Page 8: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 8

Espacio web para cada usuario.

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 raymer 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

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

en el sistema.

Page 9: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 9

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.

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

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

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

Pero antes debemos movernos al directorio donde queremos que este el archivo

index.html usando el comando cd [ruta del archivo].

Ahora si procedemos a crear el archivo index.html con el comando antes

mencionado.

Page 10: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 10

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

puedes ver en la imagen siguiente.

Para acceder a estos espacios web, solo debes escribir la dirección web o

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.ray-debian.com/~raymer

www.ray-debian.com/~ramon

www.ray-debian.com/~pedro

Page 11: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 11

Dominios Virtuales o 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.

Page 12: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 12

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.

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.os3.com

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

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.

Page 13: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 13

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

ls –l

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.os3.com.

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.

Page 14: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 14

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.

Y creamos el directorio para el sitio www.os3.com y debemos de darle

permisos full (777) para que los usuarios al entrar no tenga inconvenientes o

problemas de accesos.

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

Primero tenemos que entrar con ayuda del comando cd os3, y luego con

el editor nano index.html.

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.

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

Page 15: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 15

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.

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

(www.os3.com).

Page 16: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 16

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 raymer

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

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

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

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

www.os3.com.

Agrega las siguientes líneas debajo de allow from all.

AuthType Basic

AuthName "Restricted Files"

AuthUserFile /etc/apache2/password

Require user raymer

Page 17: Servidor Web: Apache! - debian-kn.weebly.com

Raymer Acosta 2010-2946

Raymer Acosta 2010-2946 Instituto tecnológico de las américas ITLA Página 17

Vete al navegar e ingresa la dirección del sitio. Veras 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.