Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
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.
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.
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
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)
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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).
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
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.