Servidor Web (Apache)

Anuncio
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Como crear un Servidor Web Apache
Que el Servidor Apache?
El Servidor Apache HTTP es un servidor Web de tecnología Open Source sólido y
para uso comercial desarrollado por la Apache Software Foundation
(http://www.apache.org). Red Hat Enterprise Linux incluye el Servidor Apache HTTP
versión 2.0 así como también una serie de módulos de servidor diseñados para
mejorar su funcionalidad.
El archivo de configuración predetermhainado instalado en el Servidor Apache HTTP
funciona sin necesidad de modificarlo, en la mayor parte de los casos. Este capítulo
da una idea general de las diharectrices dentro de este archivo de configuración
(/etc/httpd/conf/httpd.conf) para ayudar a aquellos que requieren una configuración
personalizada o necesitan convertir un archivo de configuración del formato más
antiguo del Servidor Apache HTTP 1.3.
Ahora como configurar Apache en ClearOS....
Luego de iniciar sesion en nuestro servidor ClearOS, lo que haremos es activar el
Servicio Web, realizando los siguientes pasos:
1- Clic sobre el menú Server.
A la izquierda nos saldran los submenus de Server.
1
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Nos dirigimos hacia abajo en entre los submenus
hasta llegar a Servidor Web.
Y pulsamos Clic sobre este.
Luego nos saldra la siguiente ventana.
2
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Como vemos en esta ventana es una breve informacion acerca de apache.Y mas abajo
tenemos los botones con el Estado del Servicio y su estado en Boot (en el arranque
del sistema), que como vemos estan en DETENIDO y la de Boot en Manual es decir
que el servicio solo iniciara cuando lo arranquemos manualmente luego de que el
sistema haya sido iniciado.
Lo que haremos es arrancar el servicio. Pulsando Empezar yde inmediato el estado
del servicio cambiara a Ejecutando. Tambien cambiaremos el estado del Boot de
Manual a Automatico pulsando Al Auto.
Mas abajo tenemos dos campos que podemos configurar desde este ambiente Web en
ClearOS que son el nombre del Servidor Web y el estado de SSL (Secure Socket
Layer (SSL). El protocolo SSL es un sistema diseñado y propuesto por Netscape
Communications Corporation.
Se encuentra en la pila OSI entre los niveles de TCP/IP y de los protocolos HTTP,
FTP, SMTP, etc. Proporciona sus servicios de seguridad cifrando los datos
intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico,
típicamente el RC4 o IDEA, y cifrando la clave de sesión de RC4 o IDEA mediante
un algoritmo de cifrado de clave pública, típicamente el RSA. La clave de sesión es la
que se utiliza para cifrar los datos que vienen del y van al servidor seguro. Se genera
una clave de sesión distinta para cada transacción, lo cual permite que aunque sea
reventada por un atacante en una transacción dada, no sirva para descifrar futuras
transacciones. MD5 se usa como algoritmo de hash.
Si realizamos algun cambio en alguna de estas opciones solo debemos pulsar
Actualizar para que estos se apliquen y listo.
Y en el ultimo de abajo tenemos la configuracion de host virtuales.
Como vemos en esta imagen podemos apreciar que posee tres campos:
3
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Sitio Web: En este campo se listan los nombres de los dominios virtuales que vamos
agregando, como vemos aquí tengo tres dominios. Donde el primero que vemos que
dice (por defecto)este no podremos elimarlo y este viene creado con el servicio. Mas
adelante veremos por la linea de comandos profundamente estos dominios en el
servidor.
Subir via: Se nos muestran las distintas vias por las cuales podemos colocar nuestro
sitio web en el dominio apache. Aqui nos muestra dos opciones FTP y Archivo.
Donde FTP nos permitiria subir los archivos a traves de FTP (File Transfer Protocol)
o archivo que seria creando la pagina en el propio servidor.
Acceso de subida: Nos muestra los usuarios que poseen permisos de subida al
servidor Web.
En este campo se nos permite agregar un nuevo dominio web al servidor Apache.
Pero veamos las opciones que se nos muestran al pulsar editar en uno de los dominios
que ya poseemos.
Como lo es el dominio clearos.server.lan.
Como vemos en la imagen inferior tenemos los campos:
Sitio Web (refiere al campo donde estara el nombre del sitio web),
Alias de Servidores (es otro nombre que podemos asignarle al sitio web y OJO el
nombre que tenga el alias sera el nombre que usara el cliente para acceder a la
pagina).
Documento Raiz (/var/www/html) este es el directorio por defecto donde se alojan
los Sitios Web (Nota: este directorio no aloja los directorios virtuales, sino la pagina
principal), en el caso de los directorios virtuales estos se almacenan en
(/var/www/virtual). Con este detalle podremos movernos por la terminal de ClearOS
para poder manejar este servicio.
4
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Pero, Como abrimos una terminal en ClearOS?
ClearOS, es un sistema de ambiente Web el cual no posee opciones para abrir el
terminal directamente a traves de él; sino que se necesita de otro equipo Linux para
poder acceder al Terminal o Shell de manera Remota mediante el protocolo SSH.
Por qué un equipo Linux y no Windows?
Porque la consola de Windows no maneja el protocolo SSH, ya que esta solo maneja
TELNET y como ClearOS es una mas de las muchas distribuciones de Linux estas no
manejan TELNET ya que Linux por su caracteristica de seguridad emplea el
protocolo Seguro (SSH), y esta seguridad de debe a que la informacion que se
transmite mediante este protocolo viaja encriptada a diferencia de TELNET.
Ahora vamos a mostrarles como acceder desde otra distribucion de Linux (Ubuntu en
este caso) mediante la consola usando el protocolo SSH.
5
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Abrimos la Terminal en Ubuntu de la siguiente manera:
O usando la combinacion de teclas CTRL+ALT+DEL/SUPR. Y veremos la
siguiente ventana correspondiente a la terminal de Ubuntu.
Ahora lo que haremos es conectarnos a el servidor ClearOS para poder tener acceso
al shell de ClearOS. Esto lo haremos usando la siguiente sintaxis de comandos:
luis@ubuntu:-$ ssh “usuario con privilegios en el server recomendable (root)”@
“ip del servidor”
Ejemplo: ssh [email protected]
Ahora procedemos a realizarlo en la terminal de Ubuntu.
6
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Nota: Para que el cliente Ubuntu logre acceder por SSH al servidor ClearOS ambos
deben estar en la misma Red. Para comprobar esto abriremos otra terminal y
probaremos dando ping al la direccion 10.0.0.2 (Servidor ClearOS).
Como vemos todos los paquetes icmp (paquetes emitidos por el ping) se han enviado
exitosamente. Esto quiere decir que ahi conexión entre ambos equipos. Para mostrar
que ambos comparten la misma red daremos un ifconfig para ver la ip de este equipo.
7
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
OK ahora continuaresmos donde estabamos anteriormente.
Pulsamos ENTER, cargara por un momento no se desesperen. Luego nos pedira la
contraseña del usuario que hemos indicado en este caso root. OJO esa contraseña que
pide se refiere a la contraseña de root pero del servidor.
La colocamos correctamente como se muestra en el recuadro inferior y luego
pulsamos ENTER y como vemos en la parte marcada con amarillo estaremos
logueados en el servidor como root.
8
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora lo que haremos es dirigirnos a los directorios designados para alojar las
paginas web en el servidor Apache en ClearOS.
/var/www/html
/var/www/virtual
Directorio Principal o Dominio
Directorio para los Subdominios
Como podemos ver en la imagen superior estamos en el directorio /var/www y
hemos escrito el comando ls (listar), para ver el contenido de /var/www. Aqui
podemos ver las carpetas o directorios que asigna el Servidor Apache para el dominio
web principal y los subdominios.
Ahora entraremos en el directorio html.
Como vemos tenemos dos archivos (index.html y logo.png). El primero de ellos
corresponde a una pagina web y la imagen es una componente de la pagina
correpondiente al archivo index.html. Si abrimos el archivo index.html con el editor
de texto vi, veremos el codigo de esta pagina web.
9
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Como ya
les mencione en un principio lo que les estoy mostrando son los archivos
correspondientes a las paginas que aparecen en la ventana de Servidor Web en
ClearOS. Y este codigo corresponde a la pagina clearos.server.lan, el cual he
modificado del que originalmente crea ClearOS. Al igual que ustedes tambien pueden
hacerlo mediante vi (Solo deben buscarse algun manual sencillo de html).
Algunos de los comandos basico para trabajar en el editor de texto vi son:
Estando en modo root:
vi “Nombre del archivo a editar” - Para abrir con vi
i – Indica insercion de texto
Esc -Sale del modo de insercion
:q – Salir sin guardar
:wq -Guardar y Salir
Lo que haremos ahora es ir a nuestro cliente Windows logueados con el usuario al
que le hemos dado permisos de acceso al Servidor Web en nuestro caso “pedro”.
OJO: Antes de hacer esto debemos arrancar el servicio ya que si no esta corriendo no
ahi manera de que el cliente acceda a este. Esto lo haremos pulsando los botones al
principio mostrados y mencionados.
10
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora iremos al archivos host en el cliente Windows ubicado en el directorio
C:/Windows/System32/drivers/etc.
Abrimos con notepad. Y luego agregamos la IP del Servidor Web y la direccion de el
dominio como vemos en la imagen.
Guardamos CTRL+G. Y Cerramos.
11
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Hacemos un ping a la pagina para verificar.
El ping ha sido satisfactorio.
Ahora probamos en el navegador y como vemos nos ha funcionado nuestro dominio
web.
12
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Lo siguiente que haremos ahora sera trabajar con los subdominios.
Que es un Subdominio?
Un subdominio es como un subnombre para tu dominio, es decir si tu dominio es asi
www.tudominio.com tu subdominio seria subdominio.tudominio.com, con ello
puedes separar apartados de tu web etc....
ejemplo:
dominio: www.elmundo.es
subdominios:
actualidad.elmundo.es
imagenes.elmundo.es
automoviles.elmundo.es
OJO: no debemos confundir un Subdominio con una seccion de un dominio, sino que
un subdominio es una pagina casi totalmente independiente solo que comparten una
misma direccion IP y el subdominio esta obligado a llevar el nombre del dominio
como parte de su direccion web,como podemos apreciar en el ejemplo anterior.
No es lo mismo una subpagina:
Que un subdominio:
www.elmundo.es/actualidad
www.actualidad.elmundo.es
Ahora procedemos a explicaremos como se manejan los subdominios en el Servidor
Apache a traves de ClearOS.
Como podemos ver en la imagen inferior, tenemos los subdominios ya existentes a
excepcion de clearos.lan que como vemos dice por defecto lo que quiere decir que
este es el dominio principal o el primero que se creo y como ya sabemos sus archivos
se encuentran alojados en el directorio /var/www/html.
Apache posee un pequeño detalle que lo hace ser muy interesante y es que podemos
crear subdominios con un nombre URL totalmente diferente al dominio real.
13
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora lo primero que haremos es mostrarles un pequeño error que se produce en esta
version de Apache que debemos modificar para que nuestros clientes puedan acceder
a los subdominios.
Para corregir este error debemos ir al archivo de configuracion de Apache ubicado en
el directorio /etc/httpd. Recuerden que accederemos a trave.s de nuestro cliente
Ubuntu.
Como vemos en el contenido del directorio httpd tenemos los directorios conf,
conf.d, logs, modules, y run.
Conf : En este directorio esta alojado el archivo de configuracion del apache llamado
httpd.conf.
Conf.d: Se alojan los archivos de configuracion de los subdominios.
logs: Se muestran los eventos ocurridos con el servidor Apache.
Antes de mostrarles el archivo de configuracion del Apache veremos los archivos de
configuracion de los subdominios. Abrimos el directorio conf.d.
14
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Por defecto el servidor Apache solo lee para mostrar a los clientes las paginas o
dominios con extension .conf; pero el problema que se produce es que nuestro
servidor solo crea los archivos de configuracion de los subdominios con extension
.vhost.
Para resolver este problema tenemos dos soluciones:
1Ir cambiando manualmente la extension de los archivos .vhost a .conf. Pero
este metodo nos resultaria algo tedioso al momento de tener que modificar muchas
paginas en conjunto.
2- El otro metodo es agregar en el archivo de configuracion del servidor Apache la
entrada que veremos a continuacion para que este tambien comprenda los
subdominios con extension .vhost.
Como hemos estado analizando nos resultaria mas sencilla utilizar la opcion 2.
Ahora iremos al directorio de configuracion de Apache localizado en /etc/httpd.
Como vemos en la imagen inferior el servidor apache posee varios directorios dentro
de si mismo, solo que en lo que nos enfocaremos es en los directorios que estan
listados mas abajo:
Conf: Almacena las configuracion del Servidor Apache perse.
Conf.d: Almacena los archivos de configuracione de los distintos sitios web
(subdominios) alojados en el Servidor.
15
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Volviendo al problema ya mencionado con apache lo primero que haremos es
mostrarles el directorio donde se almacenan los archivos de configuracion de los
sitios web; para que asi verifiquen la extension con la que se crean los subdominios,
que se crean con la extension .vhost
Como vemos en este directorio tenemos archivos con extension .conf y .vhost, como
les habia dicho antes ya habia creado algunos sitios de prueba
“prueba1.server.lan.vhost...”, y el problema que ocurria es que los clientes no
encontraban el sitio al momento de buscarlo.
Para resolver este problema podia usar una de las dos maneras antes mencionadas,
pero como nuestro servidor nos creara archivos .vhost cada vez que agreguemos un
nuevo sitio nos convendria modificar el archivo de configuracion de apache
indicandole que lea los archivos con extension .vhost.
Ahora nos vamos al directorio de configuracion de Apache /etc/httpd/conf.
Y procedemos a editar con vi.
16
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Pulsamos ENTER para desplazarnos hacia abajo en el documento. Hasta llegar a la
parte mostrada en la imagen inferior.
La parte resaltada con amarillo no formaba parte del archivo por defecto, sino que la
hemos agregado para que el servidor apache pueda leer los archivos de extension
.vhots; que son los archivos que esta creando nuestro servidor apache para los
subdominios.
Asi que si probamos luego de agregar esta linea y guardar la configuracion hecha a
traves de vi, pulsando :wq.
17
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora probaremos tratando de acceder a cualquiera de los sitios web (subdominios),
que estan creados, por ejemplo el prueba1.server.lan.
18
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Escribimos el nombre del subdominio al que queremos acceder.
Como podemos ver nos ha redirigido satisfactoriamente.
Por ultimo crearemos un sitio nuevo en nuestro servidor Apache. Basandonos en lo
mismo que hemos visto anteriormente.
NOTA: Una particularidad importante del servidor Apache es que podemos crear
Subdominios con nombres totalmente diferentes al Dominio original.
19
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Estando en ClearOS nos vamos al menu Server, luego a Servidor Web
Para agregar el nuevo Sitio Web, escribimos el nombre de este en el campo que
vemos en la imagen superior debajo de prueba3.server.lan.
En este ejemplo le daremos el nombre de linuxteca.com
Pulsamos Agregar.
20
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Como vemos luego de pulsar Agregar nos sale esta ventana que sera la de edicion del
Sitio. Como vemos en el campo Alias de Servidores se nos permite agregar un alias
a este sitio pero es a eleccion de nosotros como usuarios decidir si le creamos o no un
alias a nuestro servidor.
Yo en este caso lo dejare como lo he creado ya que ese es el nombre que deseo para
mi servidor. Quitando asi en (*.) que aparecen al principio del Alias.
Ya los demas campos los hemos visto anteriormente en este tutorial. Lo que hare es
permitir las subidas FTP y de Archivos al Servidor. Y le permitiremos acceso de suida
al grupo Domain-Admins.
Pulsamos Actualizar.
21
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora nos vamos a nuestro cliente Windows y procedemos a subir la pagina Web al
directorio de alojamiento designado para subdominios /var/www/virtual.
Pulsamos ENTER.
Y procedemos a editar el archivo host añadiendo el nuevo subdominio creado
“linuxteca.com”, y la IP del servidor web que la aloja.
Guardamos la configuracion pulsando CTRL+G.
Ahora procederemos a dar ping a la direccion URL del subdominio.
22
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Como vemos el ping ha sido satisfactorio.
Lo siguiente que debemos hacer es crear nuestro Sitio Web. Para esto nos dirigiremos
a nuestro cliente Ubuntu para crear el ejemplo de Sitio Web a traves del editor de
textos vi.
Ahora procedemos a ejectar el comando vi index.html para crear el archivo de la
nueva pagina Web del subdominio linuxteca.com. O tambien podemos crear nuestra
pagina un poco mas especializada desde uno de nuestros clientes y subirla a traves de
FTP. Lo que hare sera subir una que ya he creado y luego de subirla abrirla con vi
para mostrarles el codigo html.
Esta es la que he hecho en mi cliente Ubuntu.
23
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Para subirla abriremos una terminal CTRL+ALT+T, allí escribiremos ftp 10.0.0.2,
esto nos redirigira a nuestro servidor FTP.
Pulsamos Enter y nos saldra:
Como vemos he escrito el nombre del usuario FTP “pedro” y procedemos a pulsar
ENTER.
24
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Colocamos la Password del usuario FTP y pulsamos ENTER nuevamente.
Y como vemos ya nos hemos logueado con el usuario pedro.
Ahora escribiremos el comando lcd para ver donde debemos colocar los archivos en
nuestro cliente para poder subirlos al FTP .
Como vemos el directorio es /home/luis, ya sabemos que ahi es donde debemos
colocar los archivos de nuestro sitio Web.
Estos dos archivos que son lo que componen nuestra pagina Web.
Los moveremos al directorio /home/luis.
25
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora volvemos a nuestra terminal con ftp.
Aqui escribiremos el comando mput “el-seibo.jpg” “index.html”
Con el comando mput se nos permite subir multiples archivos especificandolos como
podemos ver aquí debajo en el comando.
Pulsamos ENTER
Ahora comprobamos que se han subido correctamente con el comando ls
Como podemos ver ahi estan nuestros archivos.
Pulsamos bye para salir de ftp. Y nos conectamos nuevamente por ssh al servidor.
ssh [email protected]
Ahora lo que haremos es moverlos hacia su respectivos directorios en el servidor
Apache.
26
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
/var/www/virtual/linuxteca.com
Para esto nos movemos al directorio donde estan los archivos que hemos subido. Y
damos ls para verificar nuevamente que estan ahí.
Ahora para moverlos escribiremos:
mv “index.html” “el-seibo.html” /var/www/virtual/linuxteca.com
Estas preguntas de sobreescribir me han salido porque estaba realizando una prueba
anteriormente, pero, de seguro que a ustedes no le saldra y se movera normalmente.
Para verificar que se ha movido satisfactoriamente escribimos el comando:
ls /var/www/virtual/linuxteca.com
Y como vemos ahi estan movidos al directorio correspondiente al sitio linuxteca.com
Ahora nos moveremos a ese directorio con cd /var/www/virtual/linuxteca.com
Ahora vamos a mostrarles el codigo html del archivo index.html. Escribiendo vi
index.html.
27
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Ahora salimos sin editar pulsando :q! Y procedemos a probar nuestra pagina Web a
traves de nuestro cliente Windows.
Abrimos el navegador.
28
Luis Eduardo Peralta Molina
2010-2940
Sistemas Operativos III
Instructor: José Doñe
Escribimos la direccion de nuestro nuevo sitio Web linuxteca.com.
Pulsamos ENTER
Como vemos nos ha redirigido satisfactoriamente. Ya esta completada nuestra
practica de como crear y manejar nuestro servidor Apache en ClearOS.
29
Descargar