{"id":420,"date":"2021-04-02T01:48:32","date_gmt":"2021-04-02T00:48:32","guid":{"rendered":"http:\/\/slackware.pt\/?p=420"},"modified":"2022-07-05T11:37:36","modified_gmt":"2022-07-05T10:37:36","slug":"lets-encrypt","status":"publish","type":"post","link":"http:\/\/slackware.pt\/?p=420","title":{"rendered":"Let&#8217;s Encrypt"},"content":{"rendered":"<p>Eis como usar o Let\u2019s Encrypt no Slackware!<\/p>\n<p>==========================================<br \/>\nDEHYDRATED &#8211; configura\u00e7\u00e3o<br \/>\n==========================================<\/p>\n<p># Local dos ficheiros de configura\u00e7\u00e3o<br \/>\n\/etc\/dehydrated\/<\/p>\n<p># Configura\u00e7\u00e3o base &#8211; n\u00e3o alterar<br \/>\n\/etc\/dehydrated\/config<\/p>\n<p># Indicar quais os dom\u00ednios em SSL. Alias na mesma linha. Dom\u00ednios diferentes em linhas separadas.<br \/>\n\/etc\/dehydrated\/domains.txt<\/p>\n<p>Exemplo:<br \/>\ndominio.pt\u00a0\u00a0\u00a0\u00a0www.dominio.pt<br \/>\nexemplo.pt<\/p>\n<p>==========================================<br \/>\nWELLKNOWN<br \/>\n==========================================<\/p>\n<p>######## ATEN\u00c7\u00c3O ########<br \/>\n#<br \/>\n# a configura\u00e7\u00e3o seguinte tem que ser feita em http, mas pode ser redirecionada para https<\/p>\n<p># Criar um ficheiro com o nome abaixo, e colocar l\u00e1 uma linha vazia<br \/>\nvi \/var\/www\/dehydrated\/m4g1C-t0k3n<\/p>\n<p># No ficheiro \/etc\/httpd\/httpd.conf colocar as linhas abaixo, na zona das parametriza\u00e7\u00e3o de diretorias<br \/>\n# Colocar tamb\u00e9m no \/etc\/httpd\/extra\/httpd-ssl.conf<br \/>\n# e eventualmente nos VHosts todos: \/etc\/httpd\/extra\/httpd-vhosts.conf<\/p>\n<p>#<br \/>\n# Configuracao para o dehydrated<br \/>\n# ver: https:\/\/github.com\/dehydrated-io\/dehydrated\/blob\/master\/docs\/wellknown.md<br \/>\nAlias \/.well-known\/acme-challenge \/var\/www\/dehydrated<br \/>\n&lt;Directory \/var\/www\/dehydrated&gt;<br \/>\nOptions None<br \/>\nAllowOverride None<\/p>\n<p>&lt;IfModule mod_authz_core.c&gt;<br \/>\nRequire all granted<br \/>\n&lt;\/IfModule&gt;<br \/>\n&lt;\/Directory&gt;<br \/>\n# Fim do dehydrated<br \/>\n#<\/p>\n<p># Reiniciar o apache<br \/>\napachectl restart<\/p>\n<p># Neste momento, o endere\u00e7o seguinte tem que existir e mostrar uma p\u00e1gina em branco:<br \/>\nhttp:\/\/DOMINIO\/.well-known\/acme-challenge\/m4g1C-t0k3n<\/p>\n<p>==========================================<br \/>\nCriar os certificados<br \/>\n==========================================<\/p>\n<p># \u00c9 necess\u00e1rio aceitar os termos de utiliza\u00e7\u00e3o, uma \u00fanica vez:<br \/>\ndehydrated &#8211;register &#8211;accept-terms<\/p>\n<p># Depois, criar os certificados<br \/>\ndehydrated -c<\/p>\n<p>==========================================<br \/>\nRedirecionar http para https<br \/>\n==========================================<\/p>\n<p># Os redirecionamentos de http para https, por cada dom\u00ednio https, t\u00eam que ser feitos da forma seguinte, para manter o URL no redirecionamento:<br \/>\n# Isto \u00e9 para colocar nos VHosts de http (\/etc\/httpd\/extra\/httpd-vhosts.conf)<br \/>\n######## ATEN\u00c7\u00c3O ########<br \/>\n# Isto s\u00f3 pode ser feito depois de criar os certificados, por causa do acesso ao ficheiro &#8220;m4g1C-t0k3n&#8221; em http<\/p>\n<p># As linhas seguintes foram retiradas de:<br \/>\n# &#8220;Redirect from http to https in apache showing original url with arguments&#8221;<br \/>\n# https:\/\/stackoverflow.com\/questions\/27824676\/redirect-from-http-to-https-in-apache-showing-original-url-with-arguments<br \/>\nRewriteEngine on<br \/>\nRewriteCond %{SERVER_PORT} !^443$<br \/>\nRewriteRule ^\/(.*) https:\/\/%{HTTP_HOST}\/$1 [NC,R=301,L]<\/p>\n<p>==========================================<br \/>\nConfigurar o Apache<br \/>\n==========================================<\/p>\n<p>SSLCertificateFile &#8220;\/etc\/dehydrated\/certs\/DOMINIO\/cert.pem&#8221;<br \/>\nSSLCertificateKeyFile &#8220;\/etc\/dehydrated\/certs\/DOMINIO\/privkey.pem&#8221;<br \/>\nSSLCertificateChainFile &#8220;\/etc\/dehydrated\/certs\/DOMINIO\/chain.pem&#8221;<\/p>\n<p># Reiniciar o apache<br \/>\napachectl restart<\/p>\n<p>==========================================<br \/>\nRenova\u00e7\u00e3o dos certificados<br \/>\n==========================================<\/p>\n<p>Devia ser autom\u00e1tico, mas ainda n\u00e3o sei como fazer isso.<br \/>\nQuando os certificados expiram, ou uns dias antes de expirarem, na maior parte das vezes, basta executar os comandos seguintes:<\/p>\n<p><code>dehydrated -c<br \/>\napachectl restart<\/code><\/p>\n<p>Se der o erro seguinte, \u00e9 necess\u00e1rio executar os passos abaixo.<\/p>\n<p><strong>ERROR: Challenge is invalid! (returned: invalid) (result: [&#8220;type&#8221;]      &#8220;http-01&#8221;<\/strong><\/p>\n<p>Os passos s\u00e3o:<br \/>\n&#8211; No ficheiro \/etc\/httpd\/extra\/httpd-vhosts.conf, criar a vari\u00e1vel seguro: <strong>Define seguro true<\/strong> e no final do ficheiro, elimin\u00e1-la: <strong>UnDefine seguro<\/strong><br \/>\n&#8211; Envolver as linhas do <strong>RewriteEngine<\/strong> com um <strong>If<\/strong>:<\/p>\n<p>    <code>&lt;If \"'${seguro}' == 'true'\"&gt;<br \/>\n    RewriteEngine on<br \/>\n    RewriteCond %{SERVER_PORT} !^443$<br \/>\n    RewriteRule ^\/(.*) https:\/\/%{HTTP_HOST}\/$1 [NC,R=301,L]<br \/>\n    &lt;\/If&gt;<\/code><\/p>\n<p>Temporariamente, fazer <strong>Define seguro false<\/strong>, reiniciar o Apache e correr o comando<\/p>\n<p><code>dehydrated -c<\/code><\/p>\n<p>Depois, voltar a colocar <strong>Define seguro true<\/strong>, e reiniciar o Apache.<\/p>\n<p>Resumindo:<\/p>\n<pre>\r\nvi \/etc\/httpd\/extra\/httpd-vhosts.conf\r\n--> Define seguro false\r\napachectl restart\r\ndehydrated -c\r\nvi \/etc\/httpd\/extra\/httpd-vhosts.conf\r\n--> Define seguro true\r\napachectl restart\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Eis como usar o Let\u2019s Encrypt no Slackware! ========================================== DEHYDRATED &#8211; configura\u00e7\u00e3o ========================================== # Local dos ficheiros de configura\u00e7\u00e3o \/etc\/dehydrated\/ # Configura\u00e7\u00e3o base &#8211; n\u00e3o alterar \/etc\/dehydrated\/config # Indicar quais os dom\u00ednios em SSL. Alias na mesma linha. Dom\u00ednios diferentes em linhas separadas. \/etc\/dehydrated\/domains.txt Exemplo: dominio.pt\u00a0\u00a0\u00a0\u00a0www.dominio.pt exemplo.pt ========================================== WELLKNOWN ========================================== ######## ATEN\u00c7\u00c3O ######## # # &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/slackware.pt\/?p=420\" class=\"more-link\">Continuar a ler <span class=\"screen-reader-text\">&#8220;Let&#8217;s Encrypt&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/420"}],"collection":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=420"}],"version-history":[{"count":12,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/420\/revisions"}],"predecessor-version":[{"id":465,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/420\/revisions\/465"}],"wp:attachment":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=420"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}