De acordo com alguns manuais, os arquivos de certificado SSL devem ser colocados em /etc/apache2/ssl/
, mas eles podem ser colocados em uma pasta diferente, dependendo da sua própria configuração.
Para ter acesso HTTPS ao seu site, você deve ativar o SSLEngine
e fornecer um válido Certificado SSL .
Para este propósito, você deve usar a ferramenta de linha de comando OpenSSL para gerar seu próprio certificado. Então você precisa validar o certificado em qualquer provedor como COMODO , StarSSL , seu provedor de DNS local, etc. Geralmente eles oferecem certificados gratuitos por alguns meses. Em relação a esta forma de geração de certificados, você pode olhar para estes guias: para 14.04 e 16.04 .
Além disso, você pode usar a ferramenta de software Vamos criptografar . Na página Vamos criptografar os primeiros passos :
Para ativar o HTTPS no seu site, você precisa obter um certificado (um tipo arquivo) de uma autoridade de certificação (CA). Vamos criptografar é uma CA. Dentro Para obter um certificado para o domínio do seu site da Let’s Criptografar, você tem que demonstrar controle sobre o domínio. Com Let Criptografar, você faz isso usando um software que usa o protocolo ACME, que normalmente é executado no seu host.
Eu sugiro que você use o Let's Encrypt, neste estágio. Então vamos começar.
1º - instalar Vamos criptografar:
sudo apt install python-letsencrypt-apache
2º - gera o certificado. Para gerar um certificado SSL compatível com o Apache, basta digitar: letsencrypt --apache
. Este comando iniciará o diálogo interativo (no qual você deverá preencher os dados pessoais do seu site) e gerará o arquivo HTTPS.conf
com base no arquivo HTTP.conf
existente.
Você pode usar e alguns parâmetros adicionais, por exemplo, letsencrypt --apache certonly
farão o mesmo que acima, mas não gerarão HTTPS.conf
file.
Além disso, você pode colocar todos os parâmetros necessários para evitar o diálogo. De acordo com as informações fornecidas na pergunta, nosso comando deve ser semelhante:
sudo letsencrypt --apache certonly --rsa-key-size 4096 --email [email protected] -d my.domain.name.de
Vamos supor que você escolha a última abordagem. O comando gerará todos os arquivos de certificado necessários e eles serão colocados na pasta /etc/letsencrypt/archive/my.domain.name.de/
. Além disso, esses arquivos serão vinculados por sym na pasta /etc/letsencrypt/live/my.domain.name.de/
. Esses links simbólicos serão atualizados automaticamente no futuro, então vamos usá-los.
3rd - configure (manualmente) o seu VirtualHost HTTPS. De acordo com o acima, o arquivo de configuração deve se parecer com:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName my.domain.name.de
DocumentRoot /var/www/mysslsite
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/my.domain.name.de/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.name.de/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/my.domain.name.de/chain.pem
<Directory /var/www/mysslsite>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mysite.ssl.error.log
CustomLog ${APACHE_LOG_DIR}/mysite.ssl.access.log combined
</VirtualHost>
</IfModule>
4º - a2ensite
do novo VirtualHost, apenas no caso a2enmod ssl
e reinicie o Apache. É isso aí. Espero que agora você tenha acesso HTTPS ao seu site.
5th - renove seu certificado para o futuro. Para este propósito, você pode editar o Crontab do root e adicionar um trabalho que tentará letsencrypt renew
dos certificados, todos os domingos às 3 : 00 AM por exemplo. Digite sudo crontab -e
e adicione esta linha na parte inferior:
0 3 * * 0 /usr/bin/letsencrypt renew >> /var/log/letsencrypt-renew.log 2>&1
Esta resposta é baseada em esta .