letsencrypt - certbot -SSL/TLS HTTP nach HTTPS Webseite

Sa., 28/04/2018 - 16:02
Body

Wir beginne alles neu mit Debian 10

Installieren der Software

Official Anleitung: https://certbot.eff.org/lets-encrypt/debianbuster-apache.html

Holy ist das inzwischen einfach. Danke Leute!

Dran denken den "cron" fürs renew laufen zu lassen bzw. anzulegen.

certbot renew --post-hook "systemctl restart apache2"
 

Irgendwie zerschießt mir der automatische certbot vorgang die dateien. Der legt chaotische vhost definitionen an..wtf

Also nutzen wir "sudo certbot certonly --apache" anstatt den assistent "sudo certbot --apache".

Nachteil ist dass wir die vhsot/ssl vhsots selber anpassen müssen. Kann man aber quasi abschreiben vom initial assistent code in den dateien.

 

Ab hier veraltet!!!!!

 

htaccess infos

https://www.hostinger.com/tutorials/ssl/forcing-https

Notes

301 redirects von http nach https Sitemap anpassen GA anpassen Webmastertools anpassen Ich habe zu diesem Zeitpunkt Debian 9 (stretch)

Rootserver SSL Letsencrypt

ssl modul aktivieren: a2enmod ssl

1. Letsencrypt Client auf Debian installieren Info: Backports aktivieren: https://backports.debian.org/Instructions/

apt-get install python-certbot-apache -t stretch-backports

Info: Es gibt wohl die Pakete "certbot" und "python-certbot". Im web gibt es viele Anleitungen. Ich nehme den Weg aus den official docs. Erzeuge certs. Das startet den interaktiven wizard. Laut: https://certbot.eff.org/lets-encrypt/debianstretch-apache

certbot --authenticator webroot --installer apache

Direkt fail: The client lacks sufficient authorization

Failed authorization procedure. www.url.net (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.url.net/.well-known/acme-challenge/dgYwjgcbh-PWOJEYl7CmATGw6yqoYKS4TO1j4YZPUIo: "

Forbidden

Lösung: Korrekten webroot angeben. /.well-known/acme-challenge selbst anlegen und prüfen ob der Pfad erreichbar ist über die Domain www.url.de/.well-known/acme-challenge/foo Prüfe Certs bzw. die vhost config. Dort sollten die Einträge stehen. Bei debian "apache

systemctl restart apache2

/sites-avaliable/000-default-le-ssl.conf "  SSLCertificateFile /etc/letsencrypt/live/<your-domain>/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/<your-domain>/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/<your-domain>/chain.pem </your-domain></your-domain></your-domain> Test config und reload  sudo apachectl configtest sudo systemctrl reload apache2 Klappt. versuche ich jedoch weitere domains mit dem Wizard hinzuzufügen zerballert er mir die 000-default-le-ssl.conf. Also cert manuell erzeugen und vhost kram selbst adden.  certbot certonly --webroot -w /var/www/siteA -d siteA.com -d www.siteA.com -w /var/www/siteB -d siteB.com -d www.siteB.com Bei einer Drupal multisiteinstallation ist das webroot auch der drupal root folder. Beachte https redirects bei bestehenden schon https installationen. Das certbotverfahren klappt nicht wenn da in der .htacces schon redireted wird. Dann manuell in 000-default-le-ssl.conf adden. Da dort dann bereist ein EIntrag ist, sieht man auch wie es auszusehen hat.

 

Renew WICHTIG!

Zertifikate müssen erneuert werden! Aktuell hat letsencrypt 90 Tage. Renew testen  sudo certbot renew --dry-run Manche Seiten lassen renew täglich laufen? Wieso was ist da der Sinn? Aber selbst im Forum empfehlen die das bzw. jemand von certbot. https://community.letsencrypt.org/t/cron-job-not-seem-to-be-renewing-my-ssl/39961/3 CERTBOT DOCS: https://certbot.eff.org/docs/using.html?highlight=renew#renewing-certificates Er empfiehlt: 50 2 * * * certbot renew Mit restart des apache nach dem erneuern eines certs so: certbot renew --post-hook "systemctl restart apache2" Crontab 50 2 * * * certbot renew --post-hook "systemctl restart apache2" SSL modul im apache aktivieren nicht vergessen!

 

Quellen

Quelle mit nginx: https://goneuland.de/wordpress/debian-9-stretch-lets-encrypt-zertifikate-mit-certbot-erstellen/ Quelle Apache: https://linuxconfig.org/generate-ssl-certificates-with-letsencrypt-debian-linux Quelle Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04 Apache Ubuntu 18 04: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 Debian 9 mit Apache: https://www.karl-deutsch.at/linux_apache2_ssl_https_letsencrypt_zertifikat.html https://www.itzgeek.com/how-tos/linux/how-to-install-lets-encrypt-on-centos-debian-ubuntu-running-apache-web-server.html https://www.snel.com/support/stall-lets-encrypt-ssl-on-debian-9-running-apache-web-server/ CERTBOT Website: https://certbot.eff.org/all-instructions/ Debian 9 https://certbot.eff.org/lets-encrypt/debianstretch-apache https://www.digitalocean.com/community/tutorials/how-to-use-certbot-standalone-mode-to-retrieve-let-s-encrypt-ssl-certificates Dokus Certbot: https://certbot.eff.org/docs/ https://certbot.eff.org/docs/using.html#apache Sepzialinfos Drupal und rerouted domains Für domains die umgeroutet werden 301 erstelle ich keine certs! Bei einer Drupal multisiteinstallation ist das webroot auch der drupal root folder. veraltet! neue drupal versionen haben das. https://community.letsencrypt.org/t/drupals-defualt-htaccess-file-breaks-webroot-authentication/3014/4

 

Zertifikate anzeigen

certbot certificates

 

Verzeichnissumzug

Wenn wir Seiten umziehen in ein neues Verzeichnis

Error Attempting to renew cert (xyz.de from /etc/letsencrypt/renewal/domainname123.net.conf produced an unexpected error: [Errno 2] No such file or directory: '/var/www/PD3_2'. Skipping.

Lösung: Editiere "/etc/letsencrypt/renewal/yourdomain.conf" und korrigiere den pfad

Drupal