usando o módulo SSL, criando chaves pública e privada e configurando o apache para usá-las.
Esse tutorial está assumindo que você instalou o Ubuntu versão Server, escolhendo a opção ‘Instalar Servidor LAMP”, apesar que pode ser útil em qualquer caso.
Se você não sabe instalar o LAMP2 sob Ubuntu Server acesse este link: http://www.appunix.com.br/howto/linux/lamp2-ubuntu-server-apache-2-mysql-5-php-5-phpmyadmin/
Instalando pacotes adicionais
Você já tem Servidor Linux+Apache+MySQL+PHP com pouco esforço com o Ubuntu e ele resolve a maior parte das demandas. Vamos adicionar ao pacote a possibilidade que seja possível navegar pelo seu site com uma conexão segura, o ‘https’. Para tanto, instale os pacotes adicionais para criar as chaves criptografadas.
sudo aptitude install openssl ssl-cert
Criando chaves pública e privada
Vamos criar uma pasta para guardar as chaves e usar um script para, respondendo algumas perguntas, criar chaves pública e privada que serão usadas pelo Apache2.
sudo mkdir /etc/apache2/ssl sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Configurando o módulo SSL do Apache2
Vamos agora configurar o Apache2 para que além de usar a porta 80 ele use a porta 443, que é a porta padrão do https.
sudo su -c 'echo Listen 443 >> /etc/apache2/ports.conf'
Depois disso, iremos habilitar o módulo ssl do Apache2.
sudo a2enmod ssl
Configurando o site com https
Você pode ter vários sites hospedados pelo mesmo Apache, nós iremos criar um segundo site no seu servidor, que na verdade é o site padrão usando https
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl sudo nano /etc/apache2/sites-available/ssl
Modifique o arquivo para usar a porta 443 e habilite a função SSL usando o certificado que criamos:
NameVirtualHost *:443 <VirtualHost *:443 > ServerAdmin webmaster@localhost SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem DocumentRoot /var/www/
Depois de editar o arquivo, habilite o site
sudo a2ensite ssl
E force o Apache2 a recarregar as configurações
sudo /etc/init.d/apache2 force-reload
Testando
Se não houve nenhuma mensagem de erro quando você forçou a reconfiguração do Apache2 é quase certo que quando você acessar “https://’ip-do-seu-servidor‘” verá seu site, mas a comunicação entre seu navegador e o servidor é criptografada.
Se por um “acaso”, você receber a mensagem de que a porta SSL não pode ser ativada (0.0.0.0:443), você pode acessar o arquivo
/etc/apache2/ports.conf'
e eliminar a linha (deve ser a última) que indica acesso pela porta 443 (caso a default 80 esteja informada).
–
————————————————-
Fonte:
otimo post ….
parabéns
Obrigado, grande Pablo.
Sinta-se a vontade para visitar outros aritogos sempre que precisar.
Fica na paz ;).
Muito bom!
Me ajudou bastante!
Parabéns pelo trabalho!
Obrigado, Edu e fique a vontade para visitar nosso portal sempre que desejar, é uma honra tê-lo conosco.
Fiz todos os passos, no momento em que executo o comando
sudo /etc/init.d/apache2 force-reload
apresentao erro:
Invalid command ‘SSLEngine’, perhaps misspelled or defined by a module not included in the server configuration
Action ‘configtest’ failed.
The Apache error log may have more information.
…fail!
descupas pelas letras maiusculas, não sei se é meu pc ou o formulário.
ubuntu server 12.04.1 (32)
Qual versão do seu Ubuntu?
aconteceu comigo também… ubuntu server 12.10 (64)