Sobre el servidor que tengamos previamente instalado, realizaremos una serie de configuraciones para mejorar el servicio y organizar aún más todos los directorios y proyectos alojados.
En primer lugar, procederemos a cambiar la carpeta principal de nuestro servidor web virtual, por lo que debemos mover las aplicaciones previamente instaladas (Joomla y Prestashop) a través del comando "
sudo mv nombrecarpeta /home/nombreusuario/" y posteriormente modificaremos la ruta de la carpeta principal a donde queremos que se alojen todos nuestros proyectos web. Para ello usaremos el comando "
sudo nano /etc/apache2/sites-enabled/000-default.conf" para cambiar la carpeta principal, tal y como comentamos anteriormente.
Seguidamente debemos asignar los permisos deseados, en nuestro caso permitiremos permisos de lectura a través del siguiente comando "sudo nano /etc/apache2/apache2.conf". Es recomendable realizar copias de seguridad en todo momento para respaldar los ficheros originales en caso de pérdidas o modificación inadecuada de los archivos.
A continuación crearemos un directorio en el que se podrán colocar archivos que los clientes podrán descargar desde cualquier navegador web.
Usaremos el siguiente comando "
sudo nano /etc/apache2/apache2.conf" para que se muestre toda la lista de archivos que contenga dicho directorio. Además crearemos un alias para que podamos acceder a dicha carpeta sin problemas.
Recordar que cada vez que realizamos alguna modificación en el fichero de configuración, debemos reiniciar el servidor virtual ("
sudo /etc/init.d/apache2 restart") para que los cambios surjan efectos.
Para asegurarnos de que no acceda algún usuario no autorizado al directorio "Class" que contiene archivos de configuración, contraseñas, etc... permitiremos el acceso únicamente a nuestra IP por motivos de seguridad.
2. Configuración Tienda Online Prestashop
Llegados a este paso, procederemos a realizar una serie de configuraciones en nuestra tienda online bajo Prestashop 1.6 instalada previamente en nuestro servidor virtual.
Queremos acceder a nuestra tienda a través de la dirección http://tu_servidor/tienda,para ello debemos añadir un Alias al archivo de configuración de apache de nuestro servidor virtual mediante el siguiente comando "sudo nano /etc/apache2/apache2.conf".
Seguidamente debemos entrar en PhpMyAdmin, localizar la tabla "PS_Shop_Url" y modificar los campos "domain", "domain_ssl" y "physical_uri".
3. Configuración Web Corporativa Joomla
Para la visualización de nuestra web corporativa bajo Joomla queremos acceder mediante la dirección "http//joomlaInfosama.tuservidor/". Para ello debemos crear un nuevo archivo de configuración en nuestro servidor virtual en la siguiente dirección /etc/apache2/sites-enabled.
Seguidamente debemos añadir nuestro nuevo virtualhost en el bind de nuestro servidor virtual.
Hecho esto, reiniciamos tanto el servicio apache, como el servicio bind para que los cambios surjan efecto correctamente.
4. Configuración de Seguridad
Ahora es el momento de implementar el uso del protocolo HTTPS y de proteger el acceso a directorios con contraseña.
En primer lugar protegeremos una de las carpetas de nuestro proyecto principal alojado en el servidor virtual, para ello mostraremos las modificaciones que hemos tenido que realizar en el fichero "/etc/apache2/apache2.conf".
Posteriormente debemos instalar un paquete en el servidor virtual a través del siguiente comando "sudo apt-get install apache2-utils". Una vez hecho esto, debemos insertar el siguiente comando "htpasswd -c /ruta/al/archivo/nombre_archivo nombre_usuario" para indicar el archivo que deseamos proteger con contraseña.
A continuación procederemos con la implementación del uso del protocolo HTTPS con certificado autofirmado en nuestro proyecto web alojado en un servidor virtual. Para ello, haremos uso de las herramientas openssl. En el terminal del servidor web virtual debemos insertar el siguiente comando "openssl req -new -x509 -nodes -days 365 -keyout archivoClavePrivada.key -out archivoCertificado.crt" para la generación del certificado autofirmado.
4.1 Activación del módulo SSL
Debemos activar el módulo SSL para que nuestro servidor Web Apache pueda usar SSL en sus comunicaciones. Para ello, debemos insertar el siguiente comando en la consola "sudo ln -s /etc/apache2/mods-available/ssl* /etc/apache2/mods-enabled".
4.2 Permitir escuchar por el puerto 443
Como el protocolo HTTPS utiliza el puerto 443, debemos configurar nuestro servidor web Apache para que escuche por dicho puerto. Para ello, debemos modificar el archivo "ports.conf".
4.3 Servidor virtual seguro
Ahora debemos usar una directiva VirtualHost para crear un nuevo servidor virtual usando el puerto 443, como mencionamos anteriormente. A continuación mostraremos la configuración de la directiva, la cual debemos añadir en el archivo "/etc/apache2/sites-enabled".
Una vez realizadas todas las configuraciones necesarias para activar en nuestro sitio web el protocolo HTTPS, debemos abrir cualquier navegador e intentar entrar en dicho site para comprobar que está todo correcto y nos muestra que se va a realizar una conexión a un sitio que no es de confianza.
Para evitar que nos muestre que la conexión no es de confianza, procederemos a instalar en nuestro navegador el certificado adecuado. Exportaremos dicho certificado en nuestro ordenador para importarlo posteriormente en cada navegador que deseemos. Una vez hecho esto debemos acceder a nuestro sitio web cómodamente sin preocuparnos de nada.
En segundo lugar, configuraremos el acceso a otro proyecto web mediante https con un certificado de prueba reconocido por una autoridad de confianza. Para ello, debemos generar una solicitud de certificado de firma mediante el comando "open ssl req -new -key claveCertificadoInfosama.key -out solicitudInfosama.csr" y rellenamos posteriormente los datos necesarios para dicha solicitud:
A continuación debemos validar que el certificado creado previamente está correctamente, para ello accederemos a una herramienta online en la que insertaremos dicha solicitud.
Seguidamente debemos solicitar el certificado de prueba, el cual será de 30 días de prueba gratis.
Finalmente debemos descargar el certificado de prueba anterior e instalarlo en tantos navegadores como deseemos.
Subimos nuestro certificado (public e intermediate) a nuestro servidor, y posteriormente configuramos nuestro apache para que funcione correctamente.
Enlace Relacionados: