Configurar SSL en apache Moodle
Os enseño el procedimiento para configurar SSL en vuestro servidor web linux, en este caso lo haremos sobre Centos 7 y Moodle, pero realmente puede serviros para cualquier servidor linux apache.
Lo primero que haremos es instalar el módulo ssl necesario:
1 |
yum install mod_ssl |
Tendréis que bajar vuestro certificado desde vuestro proveedor de servicios si lo habéis comprado. Os dejo como convertirlo si sólo os dan un certificado CER:
CONVERTIR CER A CRT (Certificado intermedio)
1 2 3 |
openssl x509 -in DER -in ssl_certificate.cer -out ssl_certificate.crt openssl x509 -in PEM -in ssl_certificate.cer -out ssl_certificate.crt |
Primero podemos validar los certificados SSL dentro de /etc/httpd:
1 2 3 4 |
[root@moodle ~]# grep -i -r "SSLCertificateFile" /etc/httpd/ /etc/httpd/conf.d/ssl.conf:# Point SSLCertificateFile at a PEM encoded certificate. If /etc/httpd/conf.d/ssl.conf:SSLCertificateFile /etc/pki/tls/certs/localhost.crt /etc/httpd/conf.d/ssl.conf:# the referenced file can be the same as SSLCertificateFile |
Para configurar el virtual host de apache, nos colocaremos en el siguiente directorio:
1 |
[root@moodle conf.d]# cd /etc/httpd/conf.d |
Si existe un fichero moodle.conf realizamos una copia:
1 |
[root@moodle conf.d]# cp moodle.conf moodle.conf.old |
Personalmente, voy a colocar el certificado público, la key privada y el certificado intermedio en los siguientes directorios:
CERTIFICADO PUBLICO: /usr/local/ssl/crt/publico.crt
KEY: /usr/local/ssl/private/privado.key
CERTIFICADO INTERMEDIO: /usr/local/ssl/crt/intermedio.crt
Como imaginaréis no importa como les llaméis. Lo importante es que se referencie a ellos en el fichero conf correctamente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[root@moodle conf.d]# cat moodle.conf # General setup for the virtual host, inherited from global configuration DocumentRoot "/var/www/html/moodle" ServerName moodle.maquinasvirtuales.eu:443 SSLEngine on SSLCertificateFile /usr/local/ssl/crt/publico.crt SSLCertificateKeyFile /usr/local/ssl/private/privado.key SSLCertificateChainFile /usr/local/ssl/crt/intermedio.crt ServerAlias maquinasvirtuales.eu Options FollowSymLinks AllowOverride All Order allow,deny allow from all ErrorLog /var/log/httpd/moodle.maquinasvirtuales.eu-error_log CustomLog /var/log/httpd/moodle.maquinasvirtuales.eu-access_log common |
Testeamos que no hemos cometido errores y el servicio no arranque:
1 2 |
[root@moodle conf.d]# apachectl configtest Syntax OK |
Por último, añadiremos al fichero de configuración de moodle https a la url original:
1 2 3 4 5 6 7 8 9 10 11 12 |
//========================================================================= // 2. WEB SITE LOCATION //========================================================================= // Now you need to tell Moodle where it is located. Specify the full // web address to where moodle has been installed. If your web site // is accessible via multiple URLs then choose the most natural one // that your students would use. Do not include a trailing slash // // If you need both intranet and Internet access please read // http://docs.moodle.org/en/masquerading $CFG->wwwroot = 'https://moodle.maquinasvirtuales.eu'; |
Reiniciamos apache:
1 |
[root@moodle conf.d]# systemctl restart httpd |
Con esto ya sólo hay que validar que el candado del navegador nos muestra un certificado válido:
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?