Com tudo funcionando, devemos agora criar um certificado SSL, para isso utilize o comando:
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Ao executar esse comando as seguintes perguntas lhe serão feitas:
Country Name (2 letter code) [AU]:
BR
State or Province Name (full name) [Some-State]:
Goias
Locality Name (eg, city) []:
Goiania
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Tiago Company Ltd
Organizational Unit Name (eg, section) []:
DptTecnologi
Common Name (eg, YOUR name) []:
localhost
Email Address []:
meuemail@dominio.com
Responda as perguntas conforme sua necessidade. Atente-se para o campo Common Name, nele você deve digitar o domínio ou o nome do host onde seu certificado vai ser instalado.
Feito isso, dê permissão de leitura e escrita apenas pro root no arquivo /etc/apache2/apache.pem:
# chmod 600 /etc/apache2/apache.pem
Edite o arquivo
/etc/apache2/ports.conf e adicione a seguinte linha:
Listen 443
Habilite o suporte a SSL no apache da seguinte forma:
# a2enmod ssl
Edite o arquivo
/etc/apache2/sites-avaliable/default e deixe-o da seguinte forma:
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www-ssl/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www-ssl/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
SSLEngine on
ServerSignature on
SSLCertificateFile /etc/apache2/apache.pem
</VirtualHost>
Salve e feche o arquivo. Agora crie a pasta /var/www-ssl:
# mkdir /var/www-ssl
Mova o link simbólico /var/www/phpmyadmin para /var/www-ssl/phpmyadmin:
# mv /var/www/phpmyadmin /var/www-ssl/phpmyadmin
Reinicie o apache:
# /etc/init.d/apache2 restart
Verifique se tudo ocorreu corretamente, digite no browser: https://localhost/phpmyadmin
Você notará que será alertado quando à não confiabilidade da CA (Autoridade Certificadora), isso se dá pois o certificado que você gerou não está ligado hierarquicamente a CA raiz, para que você possa ter um certificado ligado a raiz, é necessário comprar um certificado. Existem muitos CAs, inclusive uma brasileira muito conhecida, a Certising (
www.certising.com.br).
OBS: Qualquer outra aplicação que você queira que seja criptografada, basta colocá-la no diretório /var/www-ssl/.
Pronto, você agora poderá logar no seu phpmyadmin que sua senha estará criptografada, evitando assim que alguém possa interceptá-la.
Espero que possa ter contribuído neste meu primeiro post. ;-)