Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
fonte: http://www.phpmania.org/modules.php?name=Sections&op=viewarticle&artid=8
(1130 total de palavras neste texto)
(1873 vizualização(ões))
Em muitos casos precisamos de uma conexão segura à páginas na internet, por isso é interessante
configurar o apache para que use o protocolo de acesso seguro (ssl).
Abaixo segue um procedimento passo a passo de como gerar um certificado para que o apache de sua
máquina passe a usar ssl.
Para efetuar tal configuração será necessário ter instaldo em seu equipamento os pacotes abaixo:
apache
openssl
openssl-progs
Para verificar se os pacotes estão instalados use os comandos abaixo em um terminal e logado como root:
[root@localhost]# rpm -qa | grep apache
Se um dos comandos acima apenas "pular" de linha sem retornar nada significa que os pacotes não estão
instalados.
Para instalar os pacotes necessários pode-se usar o apt-get.
[root@localhost]# apt-get install apache openssl openss-progs
Verifique no seu arquivo se está igual a entrada acima. SSLEngine on significa que estamos habilitando o
uso de ssl no apache.
Agora que já foi habilitado o uso de ssl é preciso fazer a configuração do servidor.
Localize mais acima no arquivo a seguinte entrada:
<VirtualHost _default_:443>
Altere _default_ para o ip da sua máquina. Deverá ficar parecido com o exemplo:
<VirtualHost 10.0.2.73:443>
Onde:
DocumentRoot -> É onde estão armazenadas as páginas que o apache irá servir
ServerName -> É o nome do seu servidor (hostname)
ServerAdmin -> É o e-mail do administrador do servidor
ErrorLog -> É onde serão armazenados os logs de erro
TransferLog -> É onde serão armazenados os logs de acesso
Se não apareceu essa mensagem é porque provavelmente já existia uma chave e um certificado na sua
máquina, porém com as alterações feitas será necessário gera-los novamente.
Antes faça um backup dos arquivos antigos.
[root@localhost]# cd /etc/apache/conf/ssl.key/
[root@localhost]# cd /etc/apache/conf/ssl.crt/
Agora reinicie o apache com os comandos abaixo e verifique se finalmente obteve a resposta esperada.
[root@localhost]# service apache stop
[root@localhost]# service apache start
Agora que a chave foi criada é preciso gerar o certificado novamente. Gere-o usando o comando abaixo:
[root@localhost]# openssl req -new -x509 -nodes -keyout /etc/apache/conf/ssl.key/server.key -out /etc/apache
Ao executar esse comando será pedido para que informe alguns dados. Veja o exemplo abaixo:
Generating a 1024 bit RSA private key
.......................++++++
........................++++++
writing new private key to '/etc/apache/conf/ssl.key/server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Parana
Locality Name (eg, city) []:Curitiba
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Conectiva SA
Organizational Unit Name (eg, section) []:sup-cl
Common Name (eg, YOUR name) []:Andre
Email Address []:root@bravo
Troque servidor.meudominio pelo nome do servidor em que foi efetuado todo o procedimento acima.
[root@localhost]# openssl s_client -connect bravo.conectiva:443
Se a conexão for efetuada com sucesso será apresentada algumas mensagens na tela, dentre elas a que
confirma o sucesso:
---
SSL handshake has read 1260 bytes and written 340 bytes
---
Para testar através do navegador basta acessar o endereço do site criado com ssl utilizando a opção de
https:
https://nome_do_servidor
Será mostrada uma tela pedindo a confirmação sobre a utilização do certificado