HTTP
Breve
Introducción (significado y aspectos relevantes)
Un servidor web o servidor HTTP es un programa informático
que procesa una aplicación del lado del servidor, realizando conexiones
bidireccionales o unidireccionales y síncronas o asíncronas con el cliente y
generando o cediendo una respuesta en cualquier lenguaje o aplicación del lado
del cliente. El código recibido por el cliente es renderizado por un navegador
web. Para la transmisión de todos estos datos suele utilizarse algún protocolo.
Generalmente se usa el protocolo HTTP para estas comunicaciones, perteneciente
a la capa de aplicación del modelo OSI. El término también se emplea para
referirse al ordenador.
Dato curioso
¿sabías que?
El servidor web se ejecuta en un ordenador manteniéndose a
la espera de peticiones por parte de un cliente (un navegador web) y responde a
estas peticiones adecuadamente, Este realiza una petición HTTP al servidor de
dicha dirección. El servidor responde al cliente enviando el código HTML de la
página; el cliente, una vez recibido el código, lo interpreta y lo exhibe en
pantalla. Como vemos con este ejemplo, el cliente es el encargado de
interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la
disposición de los textos y objetos de la página; el servidor tan sólo se
limita a transferir el código de la página sin llevar a cabo ninguna
interpretación de la misma.
Funcionalidad
en servidor
Aplicaciones en el lado del cliente: el cliente web es el
encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo
Java "applets" o Javascript: el servidor proporciona el código de las
aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es
necesario, por tanto, que el cliente disponga de un navegador con capacidad
para ejecutar aplicaciones (también llamadas scripts). Comúnmente, los
navegadores permiten ejecutar aplicaciones escritas en lenguaje Javascript y
Java, aunque pueden añadirse más lenguajes mediante el uso de plugins.
Aplicaciones en el lado del servidor: el servidor web
ejecuta la aplicación; ésta, una vez ejecutada, genera cierto código HTML; el
servidor toma este código recién creado y lo envía al cliente por medio del
protocolo HTTP.
Las aplicaciones de servidor muchas veces suelen ser la mejor
opción para realizar aplicaciones web. La razón es que, al ejecutarse ésta en
el servidor y no en la máquina del cliente, éste no necesita ninguna capacidad
añadida, como sí ocurre en el caso de querer ejecutar aplicaciones Javascript o
Java. Así pues, cualquier cliente dotado de un navegador web básico puede
utilizar este tipo de aplicaciones.
Pasos para la instalación
1.- Comenzaremos configurando
el fichero por defecto del servidor, para que en vez de mostrarnos la
página de Apache cuándo ponemos su IP en una URL del navegador del cliente, nos
salga lo que nosotros queramos poner. En mi caso será un fichero “.php”, de ahí
que hayamos instalado el intérprete.
2.- Nos vamos a la ruta “/var/www/html” y creamos un fichero en su
interior, en esta carpeta introducimos ese fichero que sustituirá al que viene
por defecto.
3.- Entramos en el fichero “dir.conf”
para poner ese fichero que hemos creado anteriormente en primer lugar para que
nos salga, en vez de el de por defecto. La ruta es “/etc/apache2/mods-available/dir.conf“,
poniendo delante el sudo para entrar como administrador y el nano para
editarlo.
4.-El fichero contiene esto en su interior,
nosotros colocaremos el primero el nombre de nuestro fichero.
5.- Esto quiere decir que al cargar la
web buscará primero si hay un fichero con el “campico.php“, si no lo
encuentra buscará el siguiente el “index.html” y así sucesivamente. Al
colocar este al principio la página por defecto del servidor cargará con el
contenido de este archivo “campico.php“.
6.-Tras esto pasos ya tendríamos
cambiado nuestro fichero por defecto, reiniciando el servicio con el comando “sudo
/etc/init.d/apache2 restart” ya estarían los cambios aplicados. Vamos al
siguiente paso de la configuración que es el certificado SSL.
El certificado que crearé tiene el
mismo nivel de encripta miento que cualquiera de los proveedores que están
autorizados para entregarlo, a diferencia que nosotros no apareceremos en la
lista del navegador y desconfiará de nosotros. Pero no es problema, tendremos
nuestro https y será seguro.
Primero instalamos el OpenSSL, que es
el programa con el que generaremos el certificado. Introducimos el siguiente
comando:
" sudo apt-get install openssl "
Una vez instalador vamos a ver como
generar el certificado.
Primero crearemos la llave privada,
que será de utilidad para generar el certificado. Crearemos una llave de 1024
bits, con el algoritmo RSA.7.-Debemos ejecutar el siguiente comando “sudo
openssl genrsa -out server.key 1024“.Ahora pasamos a Crear Solicitud de
Firma de Certificado. Definiremos datos como el dominio, organización,
ubicación, etc.…8.-Para generar el CSR ejecutamos el comando “sudo
openssl req -new -key server.key -out server.csr“.la contraseña y el nombre
opcional de la compañía en blanco
Ahora generaremos el certificado SSL
y para ello necesitaremos tanto la llave privada que hemos creado, como el CSR.
9.- Introducimos el comando “sudo openssl x509 -req -days 365 -in
server.csr -signkey server.key -out server.crt“. El
parámetro days nos define la fecha en la que expira el certificado.
10.- Copiamos como se observa los dos
archivos a la carpeta “certs”. Para ello usamos los comandos “sudo cp
server.crt /etc/ssl/certs/” y “sudo cp sercer.key /etc/ssl/private/“.
11.- En este paso habilitamos el módulo
del SSL en Apache con el comando “sudo a2enmod ssl“.
Vamos a editar el archivo del SSL.
12.- Nos vamos a la ruta
“/etc/apache2/sites-available” y una vez ahí ejecutamos el comando “sudo
nano default-ssl.conf“.
13.- En este fichero, en “ServerAdmin”
colocamos el correo del administrador. En “ServerName” el dominio. Y por
último en “DocumentRoot” la ruta donde se encuentra.
14.- la ruta donde se encuentran los
ficheros que ha generado el certificado.
15.- Se ejecuta el
comando “sudo a2ensite default-ssl“.
16.- Primero debemos
irnos a la ruta “/var/www“, una vez ahí crearemos dos carpetas, una por
cada host. Creamos un html
17.- Ahora que hemos creado las carpetas,
vamos a procedes a configurar los virtual host.
18.- Nos vamos a la ruta
“/etc/apache2/mods-enabled le configuramos un nombre
19.- Este sería el otro fichero de configuración
del otro host.
Tras crear y configurar los host
virtuales nos queda activar los nuevos sitios, para ello usaremos la
herramienta “a2ensite”.
20.-Ejecutamos el
comando “sudo a2ensite listo.com.conf” y para activar el otro sitio “sudo
a2ensite joaquin.com.conf“.
21.- Con el siguiente
comando “sudo a2emod authnz_ldap“, habilitaremos dicha cosa, tras esto
reiniciamos servicio para que se aplique.
22.- En la ruta”/var/www/joaquin.com“,
que es donde se encuentra uno de mis host, crearé una carpeta que se llame
privado. Dentro de ella “.html”.
23.- En este paso vamos a la ruta “/etc/apache2”
24.- Ahora crearé el usuario que tendrá
acceso a la carpeta que hemos creado anteriormente llamada privado.
Por último debemos introducir unos
parámetros en el archivo de configuración del host.
25.- Introducimos el
comando “sudo nano /etc/apache2/sites-available/joaquin.com.conf“, una
vez dentro del archivo, rellenamos con los parámetros. El AuhName
Ahora tras acabar la configuración
nos toca reiniciar el servicio “sudo /etc/init.d/apache2 restart” y
probarlo.

















No hay comentarios:
Publicar un comentario