Instalación y configuración de Servicios: HTTP


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

UBUNTU SERVER

¿Sabias que? Mark Shuttleworth , natural de Sudáfrica, creó su primera empresa terminando la universidad. Cuatro años después se la vendió ...