Webdevelopment
Drupal
Betriebssysteme
Design
Sonstige
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