Sigui per seguretat o imposició de Google els llocs amb certificat SSL són ja indispensables. Un entorn de desenvolupament sota HTTPS no sol ser necessari, tot i així en qualsevol cas, ens ajudarà a assegurar-nos que el lloc està programat adequadament per treballar sota el protocol HTTPS.
Com crear el certificat
Generar la clau
Crear una carpeta accessible anomenada per exemple ssl
a la nostra carpeta d'usuari.
$ mkdir ssl
$ cd ssl
$ openssl genrsa -des3 -out serverSSL.key 2048
Et demanarà que afegeixis un mot de pas.
Generar CSR
$ openssl req -new -key serverSSL.key -out serverSSL.csr
- Introduir el mot de pas prèviament creat.
- Segueix l'assistent i omple els camps amb el que vulguis, però fixa atenció als següents:
- Common Name El domini que vols fer servir, per exemple: localhost, exemple.com, server.dev o *.server.dev
- Challenge pass: Ho pots deixar en blanc.
Generar el certificat
$ openssl x509 -req -days 1825 -in serverSSL.csr -signkey serverSSL.key -out serverSSL.crt
Introdueix novament el mot de pas.
Configurar Apache
Habilitar el mòdul SSL de l'apache
$ sudo a2enmod ssl
Exemple Virtualhost
$ cd /etc/apache2/sites-enabled
$ touch server.dev.conf
<VirtualHost *:80>
ServerName server.dev
ServerAlias www.server.dev
Redirect permanent / https://server.dev
</VirtualHost>
<VirtualHost *:443>
ServerName server.dev
ServerAlias www.server.dev
DocumentRoot /var/www/www.server.dev
<Directory /var/www/www.server.dev/public>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
## Logging
ErrorLog /var/log/apache2/www.server.dev.log
LogLevel warn
ServerSignature Off
CustomLog /var/log/apache2/www.server.dev.log combined
## SSL
SSLEngine on
SSLCertificateFile /home/vagrant/ssl/serverSSL.crt
SSLCertificateKeyFile /home/vagrant/ssl/serverSSL.key
</VirtualHost>
Habilitar el nuevo Virtualhost y reinciar el servidor Apache.
$ sudo a2ensite server.dev.conf
$ sudo service apache2 restart
Ara, cada vegada que reinicies Apache ens demana el mot de pas... Anem a solventar-ho.
openssl rsa -in [original.key] -out [new.key]
Des del navegador anem a https://www.server.dev i ens apareixerà un avís de seguretat perquè és un certificat auto-signat. Acceptem l'excepció de seguretat. Et voilà! Ja tenim el nostre lloc funcionant sota SSL en un entorn de desenvolupament local.