LetsEncrypt Zertifikate bei Hosteurope nutzen funktioniert, allerdings gibt es vonseiten des Providers derzeit keine Unterstützung. Die Zertifikate müssen selbst erzeugt und hochgeladen werden. Mit dem passenden Script geht es schneller.
Mein bisheriger Artikel zum Thema ist bereits ein paar Jahre alt. Leider bietet Hosteurope immer noch keine Unterstützung für LetsEncrypt an. Da das Script vom letzten Artikel nicht mehr unterstützt wird, gibt es hier ein Update und ein neues Script.
Das Script stammt nicht von mir, zur Verfügung gestellt hat es Frank Breitinger. Die Homepage von Frank findet ihr unter www.fbreitinger.de. Ich habe ein paar kleine Anpassungen vorgenommen, z.B. dass die Keys automatisch generiert werden, wenn diese noch nicht vorhanden sind, was die Handhabung erleichtert. Das Script basiert auf den ACMECert Client.
Das Script gibt es hier zum Download. (24.11.2022 – Update für PHP 8)
Der Quellcode ist auch auf Github verfügbar.
Die erste Einrichtung ist etwas umfangreich, aber die Erneuerung der Zertifikate ist dann in Zukunft in wenigen Minuten erledigt. Alles ist in diesem Artikel beschrieben, alternativ für Freunde des Bewegtbilds gibt es hier ein Video:
Die Vorbereitungen
Zuerst entpacken wir das Script und öffnen zwei Dateien mit einem Editor unserer Wahl. Fangen wir mit der myletsencrypt.sh Datei an.
Zuerst tragen wir im oberen Teil unsere E-Mail-Adresse ein. Falls wir andere Dateinamen für den „account_key“ und den privaten Schlüssel verwenden, können wir dieses hier ebenfalls eingeben. Sofern noch kein Account-Key oder privater Schlüssel vorhanden ist, kein Problem. Das Script legt diese automatisch an. In diesem Fall lassen wir die Dateinamen wie sie sind.
Anschließend tragen wir alle Domains der Reihe nach ein. Zuerst kommt immer der interne Pfad auf dem Webspace. Anschließend tragen wir die Domains ein. Im Beispiel ist zu sehen, dass wir jede Domain mit und ohne www eintragen, da es sich bei www technisch um eine Subdomain handelt. Weitere Domains und Subdomains fügen wir nach diesem Muster ein. Hier ein Beispiel von unserem Webspace. Man beachte die Trennung der Domains und das am Ende vom Pfad kein abschließendes \ erscheint.
Die zweite Datei die wir bearbeiten ist die Datei „main.php“. Hier tragen wir die Accountnummer unseres Hosteurope-Accounts ein.
Die Nummer wird in der E-Mail eingetragen und als Link verwendet, damit wir direkt in die richtige Stelle im KIS springen können.
Einrichtung des Scriptes
Jetzt kopieren wir das Script auf unseren Webspace. Ich habe das Script einfach direkt im Root-Verzeichnis hochgeladen.
Idealerweise laden wir das Script mit dem SSH-Benutzer hoch, damit dieser auch gleich die Schreibrechte auf das Script und den Ordner hat. Dies können wir im KIS unter der Dateiverwaltung machen. Dazu markieren wir den Ordner und weisen ihm den Benutzer und Gruppe zu, welcher mit „wp“ beginnt. Anschließend sollte dies auch in den Spalten sehen.
Script ausführbar machen
Nachdem dies erledigt ist, loggen wir uns mit SSH auf dem Server ein und wechseln in das Verzeichnis. Nun führen wir den folgenden Befehl aus:
chmod +x myletsencrypt.sh
Damit machen wir die Datei ausführbar, sodass wir diese direkt über SSH ausführen können.
Account-Key und Privater Key
Wer bereits die alte Version des Scriptes verwendet hat, kann seinen Account-Key und den privaten Schlüssel weiter verwenden. Dazu spielen wir diesen einfach in den Pfad mit ein. Sofern andere Dateinamen verwendet werden, muss das Script von oben angepasst werden.
Ansonsten kann dieser Schritt übersprungen werden. Die Dateien werden sonst Script automatisch erstellt.
Berechtigungen in den Verzeichnissen
LetsEncrypt prüft, ob wir der rechtmäßige Besitzer der Domain sind. Dazu legt das Script im Ordner „.well-known“ unter jeder Domain eine Datei ab. LetsEncrypt prüft, ob diese Datei mit richtigem Inhalt auf dem Webspace vorhanden ist. Nur wenn dies der Fall ist, erhalten wir ein Zertifikat.
Überprüfen Sie daher, ob das Script den entsprechenden Ordner beschreiben kann. Dies geht leicht über die Dateiverwaltung.
In diesem Beispiel passt es, der Ordner beginnt mit „wp“, d.h. der SSH-Benutzer kann den Ordner beschreiben. Ggf. legen Sie den Ordner an und weisen diesem die Rechte zu.
Erstellung der Zertifikate
Jetzt wird es spannend, wir erstellen nun das Zertifikat. Dazu starten wir das Prozedere über SSH mit dem folgenden Befehl.
./myletsencrypt.sh
Sofern alles geklappt hat wird eine Erfolgsmeldung ausgegeben. Bei Fehlern sollte man prüfen, was für eine Fehlermeldung ausgegeben wird. Oft sind es fehlende Schreibrechte auf den „.well-known“ Ordner, Tippfehler in den Pfaden oder Subdomains, welche nicht mehr existieren.
Bei Erfolg haben wir im Anschluss ein paar mehr Dateien im Ordner:
Unser Zertifikat ist in der „fullchain.pem“. Diese Datei müssen wir zusammen mit „cert_private_key.pem“ bei Hosteurope hochladen.
Einbinden in KIS
Das Script ist so konfiguriert, dass wir die Dateien auch gleich per E-Mail erhalten.
Der Link führt uns direkt an die passende Stelle im KIS. Hier können wir nun die beiden Dateien hochladen.
Das Zertifikat wird nun übernommen und nach wenigen Minuten sollte es aktiv sein und den Seiteninformationen mit Gültigkeitsdatum angegeben sein.
Fazit
Damit sind wir am Ziel! Schöner wäre es natürlich, wenn Hosteurope LetsEncrypt einfach unterstützen würde und die SSL-Zertifikate im Hintergrund generieren würde. Da hier seit etwa 3 Jahren nichts passiert ist, würde ich hier keine schnelle Besserung erwarten. Bis dahin hilft das Script, auch wenn es alle 3 Monate manuelle Arbeit bedeutet.
Einrichten als Cronjob
Nutzer Heliophob hat in unserem Forum Hinweise zur Einrichtung des Scriptes mit Cronjob beschrieben. Hinweis, das Forum wurde eingestellt, ist der Archivlink.
Problembehebungen
Im Folgenden ein paar Problembehebungen, welche im Forum von anderen Benutzern angesprochen worden sind.
Unix Zeilenende
Das Script muss auf dem Server mit Unix-Zeilenende abgelegt werden. Windows verwendet standardmäßig ein CRLF-Zeilenende (Carriage Return, Line Feed), Unix/Linux verwendet nur „LF“.
Passt dies nicht, dann kommt es zu Fehlermeldungen wie diese hier:
/bin/sh^M: bad interpreter
In Programmen wie Notepad++ kann das schnell überprüft werden. Auch eine Konvertierung ist hier schnell möglich.
Could not resolve host: acme-v02.api.letsencrypt.org
Hier liegt die Ursache vermutlich an einem zu „kleinen“ Webhosting-Paket. Das Script, bzw. die notwendige Funktion im SSH-Zugang funktioniert erst ab den WebServer-Paketen von Hosteurope.
Manuelles Einrichten
Wer ein kleines Webhosting-Paket hat und eine CURL-Fehlermeldung bekommt, der kann den manuellen Ansatz zur Erstellung von LetsEncrypt-Zertifikaten ausprobieren.
Update 24.11.2022
Mit PHP 8 bzw. der Umstellung auf PHP 8 bei Hosteurope funktionierte das Script nicht mehr korrekt, hier ist das Update für PHP 8:
Das Script gibt es hier zum Download. (24.11.2022 – Update für PHP 8)
Danke! Hat super funktioniert.
Sehr cool, das freut mich. 🙂
1. Dein Skript (bzw. Deine Anleitung) ist GENIAL – ich habe mich bislang davor gescheut diese Art von Weg einzuschlagen.
2. Was war der Grund, dass das „erste“ Skript nicht mehr funktioniert? Die Frage stellt sich deshalb, weil ja befürchtet werden muss, dass DIESES Skript ja ebenfalls bald nicht mehr funktionieren KÖNNTE.
3. Es ist WICHTIG, dass die Dateien des Skripts NICHT binär sondern im ASCII-Format hochgeladen werden müssen (FileZilla) – darauf bin ich nämlich „reingefallen“ – dies wird nämlich sonst bei der Ausführung mit einem sinnlosen Fehler quittiert 😉
Hi, freut mich das es funktioniert. Das mit Binär und ASCII muss ich mal testen, normal sollte es keinen Unterschied machen?! Zu Punkt 2: LetsEncrypt macht die API für den alten Client dicht. Da wurde irgendeine Sicherheitslücke gefunden. Kann natürlich hier auch wieder passieren, aber der alte Client lief ja auch ein paar Jahre. 🙂
Ansonsten danke für das Feedback.
Binär hat bei mir mit WinSCP eben problemlos geklappt.
@andy: Vielen Dank für die Anleitung, Klappt wunderbar!
Und mich freut’s erst! Das erste Mal, als ich auf das Thema „Binär / ASCII“ gestoßen bin, war, als ich einen ersten CronJob testen wollte. Auch hier musste „ASCII“ eingestellt sein (Anweisung in den FAQ von HostEurope?!?). ASCII ist wahrscheinlich eine Standardeinstellung in FileZilla – ich habe es aber auf Binär eingestellt, weil erst dann die Dateigrößen LOKAL und auf dem FTP-Server 1:1 sind (hauptsächlich bei PHP, HTML, CSS-Dateien).
Weiteres kurzes Lob: Auf Deine Seite stoße ich relativ regelmäßig, wenn es um derartige Themen geht. Du beschreibst sehr, sehr gut und Deine Videos sind sehr angenehm zu schauen! LG GR
Hallo Gregor, danke für das Lob. 🙂
Ich habe mir die Sache mal angeschaut, eigentlich sollte es egal sein obs im Binär-Modus hochgeladen wird, da das Script „LF“ als Zeilenende verwendet. Kann natürlich sein, dass Du bei Bearbeiten mit CRLF abgespeichert hast, dann wäre ASCII die bessere Wahl. Wie auch immer, ich habe die Sache zum Anlass für ein neues Tutorial und Video genommen: https://ekiwi.de/index.php/906/ftp-uebertragung-ascii-und-binaer-was-ist-der-unterschied/
Gruß
Andy
Großartig, dass das Skript nun wieder funktioniert! Etwas schöner wäre noch, wenn die Konfigurationsoptionen alle an einer Stelle wären (aktuell Email, Zertifikatdateien, Domains etc. in .sh und die Kundennummer in der main.php), aber das ist Meckern auf hohem Niveau 😉
Danke! Ansonsten ein wenig Raum für Verbesserungen muss ja noch da bleiben. 🙂
Hallo Andy, auch, wenn ich noch einige Wochen Zeit habe das Zertifikat zu erneuern, habe ich mir für heute vorgenommen das Skript erneut zu testen – was auch gut war / ist:
Das Skript funktioniert (hier bei 54 Domains) – BIS auf eine einzige Domain (obwohl sich eigentlich nichts geändert hat). Lasse ich DIESE Domain raus – funktioniert alles einwandfrei – lasse ich die Domain in der Liste jedoch drinnen, erscheint folgende Meldung vom Skript:
xxx-repair.eu = Beispieldomain
Validation failed: http://www.xxx-repair.eu
Triggering remove callback for http://www.xxx-repair.eu
Error: Challenge validation failed: Invalid response from https://www.xxx-repair.eu/.well-known/acme-challenge/911duBjxM81bP2pZ_ymjOtfuylWYzjUlhzO8uy2FGTQ [2a01:488:42:1000:b24d:54fc:ffcb:8231]: „\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/D" (urn:ietf:params:acme:error:unauthorized)
Hast Du eine Idee hierzu? Es kann – meines Erachtens – nicht nicht an der TLD .eu liegen, da andere .eu-Domains funktionieren. Auch habe ich diesen Eintrag der betreffenden Domain an eine andere Stelle gelegt – es passiert jedoch stets mit DIESER Domain.
Vielen Dank für Deine Ideen – LG GR
Hallo,
schwer zu sagen, ist an der Domain irgendwas anders? Ich hatte schonmal den Fall, dass es Probleme mit einer externen Domain gab. Passiert das jedes Mal bei genau dieser Domain?
Gruß
Andy
Ich habe das Skript dreimal durchlaufen lassen – passiert scheinbar nur bei http://www.xxx.de jedoch nicht OHNE www. (also bei xxx.de / ohne Subdomain „www“ läuft es durch).
Ich werde es heute nochmal testen und berichten.
Hallo Andy,
das war eine Betriebsblindheit meinerseits 😉 Ich habe den Fehler gefunden, auch wenn ich nicht weiß, wie / wann er entstanden ist: Es lag „lediglich“ daran, dass der Pfad bzgl. Domainzuordnung falsch war…
Hauptsache es klappt jetzt. 🙂
Hallo Andy,
so ein Script ist genau das, was ich suche, um die Handhabung von Let’s Encrypt Zertifikaten bei HostEurope erträglich zu halten. Vielen Dank für das Teilen deines Wissens.
Ich bin deiner Anleitung Schritt für Schritt gefolgt…hänge jetzt aber bei der Ausführung des Scriptes, die Meldung lautet:
-bash ./myletsencrypt.sh: /bin/sh^M: bad interpreter: No such file or directory
Muss ich zuvor noch etwas installieren, bevor ich das Script nutzen kann? Mein Paket: WebServer Basic HDD
Über einen Hinweis, der mich weiterbringt, würde ich mich sehr freuen!
Hallo Henning,
darauf bin ich auch „reingefallen“ – es liegt SEHR wahrscheinlich daran, dass Du als Übertragungsmethode der sh-Datei im FTP-Programm von BINÄR in ASCII umstellen musst (bei FileZilla unten rechts in der Statuszeile). Dann musst Du die Datei erneut hochladen.
Hallo Andi,
vielen Dank für das Skript – ich hatte alles über zero-ssl automatisiert – aber die haben ja von heute auf morgen den Service verändert…
ja, der Anfang scheint erstmal schwierig – wenn man aber einmal den Durchlauf hat, ist es im Grunde ganz einfach.
Ich habe noch ein Problem mit Wildcard-Domains – aber das finde ich auch noch raus.
Und vielleicht fällt Dir spontan was zu folgender Frage ein: Glaubst Du, man das ACME-Script umschreiben, auf eine Validierung per DNS-Eintrag? Bislang schreibe ich per E-Mail an Dr. Bob von HE alle DNS-TXT-Einträge neu habe darüber die Validierung durchgeführt . Hintergrund ist, dass ich viele Subdomains habe, die keine wirklichen Pfade habe, wo ich eine Datei ablegen kann. Oder braucht Letsencrypt die Dateien zur Validierung in Echtzeit (DNS Einräge dauern ja immer etwas..).
Vielen Dank aber für das Skript – das hilft ungemein! Stephan
Hallo Stephan,
also ich denke, das würde gehen, die zentrale Komponente kann auch DNS-Validierung:
https://github.com/skoerfgen/ACMECert#get-certificate-using-all-http-01dns-01-and-tls-alpn-01-challenge-types-together
in dem Beispiel wird ja auch mit einem Wildcard gearbeitet:
‚*.example.com’=>array(‚challenge’=>’dns-01‘),
Vermutlich ist es hier besser, direkt die Komponente zu verwenden und nicht das Script von hier.
Gruß
Andy
Hallo Andy,
mal wieder danke für deinen Beitrag und das Tutorial.
Kannst du mir sagen, wie ich ein SSL-Zertifikat für eine Wildcard-Domain mit dem Script bekomme?
Danke!
Liebe Grüße
Bin zwar nicht Andy, aber antworte trotzdem
Kurze Antwort: Wenn du den Nameserver von Hosteurope verwendest, ist eine automatische Austellung eines WildCard Zertifikates leider nicht möglich.
Lange Antwort: Zur Ausstellung eines WildCard Zertifikates muss auf der entsprechenden Domain ein TXT Eintrag hinzugefügt werden, der dann von LetsEncrypt überprüft wird. Bei Domains die den Hosteurope Nameserver verwenden, ist das nicht automatisiert möglich. Es gibt leider keine API die man automatisiert ansprechen kann. Diverse ältere Skripts haben sich daher im KIS eingelogged und die Benutzereingaben simuliert. Das war aber erstens ziemlich fehleranfällig und zweitens funktioniert das Skript manchmal bei der kleinsten Änderung an der Domainverwaltungsseite nicht mehr. Inzwischen geht das leider sowieso nicht mehr, weil HostEurope den Login ins KIS mittels captcha abgesichert hat, sodass automatische Logins von Skripten nicht mehr funktionieren
Danke, ich habe das Script damals umgeschrieben. Dann funktioniert es mit Wildcards, vorausgesetzt man ändert manuell den TXT-Eintrag – so wie du es schon geschrieben hast.
Ich hab Andy „mein“ umgeschriebenes Script zur Veröffentlichung hier zugesendet. Falls es noch jemand braucht 🙂
Liebe Grüße
Das steht auch noch auf meiner Liste, wollte ich mir ja auch noch genauer anschauen Deine Version. Bin leider noch nicht dazu gekommen.
Hallo Andy,
danke für deine gute Anleitung.
Da das alles Neuland für mich ist und war mir daher wirklich eine große Hilfe. – Ich habe nun wie beschrieben die Scripte „main.php“ und „myletsencrypt.sh“ mit Notepad++ angepaßt.
Leider bekomme ich in der Eingabeaufforderung von Windows 10 folgende Meldung:
wpxxxxxxx@ssh01:~/ssh$ ./myletsencrypt.sh
Error in GnuTLS initialization: Failed to acquire random data.
Generating account file
—————————
Registering with LetsEncrypt
—————————-
Registering account
Initializing ACME v2 live environment
Using cURL
Error: HTTP Request Error: Could not resolve host: acme-v02.api.letsencrypt.org
wpxxxxxxx@ssh01:~/ssh$
+++++
Erneutes Ausführen des Befehls:
+++++
wpxxxxxxx@ssh01:~/ssh$ ./myletsencrypt.sh
Error in GnuTLS initialization: Failed to acquire random data.
Generating private_key file
—————————
—–BEGIN PRIVATE KEY—–
…
—–END PRIVATE KEY—–
Done.Generating CSR
Getting account info
Initializing ACME v2 live environment
Using cURL
Error: HTTP Request Error: Could not resolve host: acme-v02.api.letsencrypt.org
wpxxxxxxx@ssh01:~/ssh$
ssh ist das Verzeichnis, wo die Dateien „ACMECert.php, main.php, myletsencrypt.sh, PHPMailer.php“ stehen. wpxxxxxxx und wpxxxxxxx_YYYYYYYYYY habe ich natürlich für meinen HE-Account angepasst. Habe bei HostEurope einen SSH-Zugang. Kann mit FileZilla auch auf das Verzeichnis „ssh“ zugreifen.
“.well-known” – Ordner ist in jeder Domain und Subdomain angelegt und inder HE-Dateiverwaltung auf wpxxxxxxx überprüft worden.
Frage: Was habe ich falsch gemacht?
Danke für deine Hilfe.
VG
Oliver
Hallo Oliver, was für einen Tarif hast Du bei Hosteurope?
Hallo Andy,
Entschuldigung, dass ich Dir erst heute antworte. Danke für Deine Nachricht.
Ich habe das Hosteurope Produkt „WebHosting Medium“.
VG Oliver
Du hast hier denke Pech, es funktioniert erst ab den WebServer-Tarifen. 🙁
Hallo,
bei mir bricht das Sc ript mit folgender fehlermeldung ab, nachdem es noch vor 3 Monaten kompleztt durchgelaufen ist:
Error: Challenge validation failed: Invalid response from https://www.mydomain.de/.well-known/acme-challenge/CMGwlaRCg7FP0A0gC78hbuuiTuzuGFjVMlYB44d7vLs [3e1:477:42:1220:523:e59f:ftfa:3704]: „\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/D" (urn:ietf:params:acme:error:unauthorized)
mkdir(): File exists
Klingt als ob da ein Verzeichnis nicht angelegt werden kann. Am Besten mal schauen, ob die .well-known Ordner noch da sind und was für Rechte die haben, die sollten dem SSH-User gehören (wpXXXXX). Ist leider von hier aus auch schwer zu helfen von außen.
Hallo Andy,
das Skript funktioniert super.
Kannst Du im Artikel oben vielleicht noch ergänzen, ob man wie beim alten Skript eine automatische E-Mail-Benachrichtigung erhält, wenn sich das Ablaufdatum nach 90 Tagen nähert?
Ich wollte bei HE einen cron job definieren, aber wenn man die „myletsencrypt.sh“ dort ohne „./“ davor aufruft, erhält man eine Fehlermeldung, dass die main.php nicht aufgerufen werden konnte. D.h. da müsste man vermutlich irgendetwas an den Pfaden beim Aufruf ändern.
Meine Absicht war, dass ich z.B. alle 1920 Stunden (= 80 Tage) per cron job automatisch die E-Mail mit den beiden Zertifikat-Anhängen erhalte.
Vielleicht hast Du eine Idee.
Ansonsten tut es natürlich auch eine Kalendererinnerung im E-Mail-Client…
VG Martin
Danke für das Feedback. Die E-Mail kommt ja direkt von LetsEncrypt, denke die kommt auch wieder, wenn Du die richtige E-Mail-Adresse im Script angibst, die wird dann ja übermittelt.
Wegen dem Cronjob, das habe ich selbst noch gar nicht getestet. Ggf. müssten hier die Pfade auf absolute Pfade angepasst werden.
Gruß
Andy
Hi Martin,
ich erhalte die gleiche Fehlermeldung beim Cronjob, hast du bereits eine Lösung gefunden?
Beste Grüße
Florian
Servus, bzgl. Cronjobs gibt es noch Infos im Forum:
https://ekiwi-blog.de/forum/board/thread/35-hosteurope-letsencrypt-ssl-script-als-cronjob-einrichten/
Hallo,
die Erinnerungs-E-Mail kam auch beim neuen Skript wie bisher und Andy hatte bereits geschrieben, dass diese direkt von LE kommt – d.h. dort hat sich nichts geändert.
Und zum Cron Job danke ich Dir für den Link, den Du auch oben im Artikel eingebaut hast. Das probiere ich einmal aus.
VG Martin
Hallo,
erstmal vielen dank für die gute Anleitung.
Habe nun alles wie beschrieben eingestellt, bekomme aber in der Konsole diese Fehlermeldung:
Could not resolve host: acme-v02.api.letsencrypt.org
Die Keys wurden angelegt, habe bei HE den Tarif WebHosting Medium.
Ich vermute Du brauchst mindestens ein WebServer Paket:
https://www.hosteurope.de/WebServer/
Danke für die Info. Habe das schon befürchtet, da es ja nur ein behelfsmässiger SSH Zugang ist. Aber bevor ich mir den Server antue, wechsle ich lieber zu einem anderen Provider 😁.
Wenn ich nicht soviele Domain Projekte bei Hosteurope hätte, wäre ich auch schon weggewechselt. Habe noch eine Domain bei All-Inkl. da aktiviert man LetsEncrypt einmal für eine Domain und der Rest passiert automatisch.
Zunächst möchte ich mich für die Mühen und die Artikel bedanken. Hatte mir ebenfalls geholfen, als ich vor ein paar Jahren bei Hosteurope Lets Encyrpt einrichten wollte.
Allen, die hier lesen, möchte ich aber eine klare Empfehlung geben: Falls es keinen zwingenden Grund gibt, bei HE zu bleiben, wechselt zu einem anderen Anbieter!
Ich habe das aus Faulheit Jahre lang aufgeschoben und mir alle 3 Monate für eine handvoll (Sub-)Domains diese Gängelung angetan und bin jetzt endlich gewechselt. Es ist wirklich wie eine Offenbarung! Beim neuen Anbieter sind es 2 Klicks und LetsEncrypt läuft UND wird automatisch verlängert. Keine Erinnerungs-Mails mehr, kein Generieren und hochladen mehr. Das fühlt sich so gut an. Als hätte mich jemand nach Jahren in einer Höhle ans Tageslicht geführt 😀
Lieber 1x Arbeit und Zeit in den Wechsel stecken und zu einem vernünftigen Hoster wechseln. Es gibt inzwischen so viele Hoster, die einen weit besseren Support bieten, mehr Performance bei gleichem Preis liefern, mehr Inklusivleistungen haben, aktuellere Plattformen betreiben (wir mussten bis vor ein paar Monate auf MySQL 5,7 warten! 5.7. Im Jahr 2020!)
Man scheut die Arbeit – ich kenne das. Man befürchtet Ausfälle oder Probleme. Und weiß ja auch nicht, wie es bei dem neuen Anbieter laufen wird.
Aber seht auch die Möglichkeit, dass alles besser werden kann: Wir zahlen bei unserem neuen Hoster weit weniger, haben Domains kostenlos, die bei HE jedes Jahr zusätzlich hinzukamen, haben 2-3x schnellere Seitenerstellungszeiten, einen – bisher(!) – besseren Support UND als Sahnehäubchen SSL für alle Domains und Subdomains mit 2 Klicks integriert. Kein Überlegen, ob man für die (Sub-) Domain wirklich SSL braucht, weil man dann alle drei Monate Arbeit hat. Man aktiviert es einfach. Nach Jahren manuellen Skriptens bei HE ist das wie eine Befreiung.
Und der Wechselprozess selbst hat mich auch darin bestätigt, von HE wegzugehen. Unsere Domains wurden teilweise 3 Tage blockiert und die Verantwortung auf den neuen Anbieter geschoben. Erst auf eine deutliche Mail waren die Domains binnen Minuten endlich frei.
Man sollte wirklich Dinge nicht akzeptieren, die einen stören.Man ärgert sich ständig, statt 1x Arbeit und Zeit aufzuwenden. Es gibt genug Anbieter, die einen unterstützen und mit einem in dieselbe Richtung wollen.
Sorry fürs Off-Topic, aber ich wünschte, mir hätte vor Jahren bereits jemand gesagt: Hier ist eine Anleitung, aber hey: Lass das Frickeln bei HE. Das lohnt sich nicht. Die werden sich nicht ändern / bessern und du wirst immer wieder Theater haben. Mach einen Strich und geh zu einem anderen Hoster.
Aber nochmal Danke für die Hilfe! Das hat mir die Jahre bei HE sehr geholfen.
Servus,
Du beschreibst es schon richtig. Wer ohne Aufwand wechseln kann oder will sollte es tun. Zu welchem Anbieter bist Du gewechselt? Ich habe noch ein Projekt bei All-Inkl und dort ist die Aktivierung von LetsEncrypt ein Klick und man muss sich um nichts mehr kümmern.
Gruß
Andy
Genau dorthin. Ärgerlicherweise hatte mir vor dem Wechsel zu HE 2017 bereits ein Testserver bei denen angeschaut und war zufrieden, fühlte mich aber „verarscht“, als mir auf Rückfrage gesagt wurde, dass der Testserver weit höhere Ressourcen hat, als das Paket, das ich angefragt hatte. Naja…war ein Fehler. Ich hätte es trotzdem versuchen sollen. Hätte mir Kosten und Ärger bei HE erspart. Aber besser spät, als nie.
Es gibt aber eine Reihe guter Anbieter. Ich hatte auch ein Testserver bei cyon als Beispiel – Support und Performance machten einen guten Eindruck. Hatte ich vorher noch nie von gehört.
Cyon hatte ich auch schon im Auge. Leider ist ein Wechsel bei unseren ganzen Domains und E-Mail-Konten recht aufwändig. Von daher bleiben wir erstmal bei HE. Aber ärgerlich bleibt die Sache leider.
Hallo Andy, wird der “.well-known” einmalig (quasi global) angelegt oder muss für jede Domain (Homepage) im Unterverzeichnis ein eigener “.well-known”-Ordner angelegt werden?
Genau, die Ordner gibt es für jede Domain/Subdomain. Jedes Verzeichnis mit eigener Domain hat damit so einen Ordner.
Hallo Andy, kannst Du mir sagen, was folgende Fehlermeldung bedeutet:
Certificate-chain retrieved
550: Sender must exist (ec:12)
Error: Class ‚PHPMailer\PHPMailer\Exception‘ not found
mkdir(): File exists
wpxxxxxx@xxxxxx:~/le$
PS: muss meine Mail einer Domain entsprechen?
Normal nicht, auf jeden Fall scheint nur noch der Versand nicht zu klappen. Hast Du eine Standardadresse festgelegt?
https://ekiwi-blog.de/forum/board/thread/40-hosteurope-standard-e-mail-f%C3%BCr-php-angelegt/
Ansonsten sollten die Zertifikate im Ordner liegen:
https://ekiwi-blog.de/forum/board/thread/39-hosteurope-lets-encrypt-zertfikate-erzeugt/
Die kannst Du zur Not auch über FTP herunterladen und so ins KIS einspielen.
Hey, eine Standardadresse war bereits hinterlegt. Hab‘ sie zur Sicherheit mal erneut gesetzt. Im Ordner liegen nun die fullchain.pem & cert_private_key.pem. Werde es gleich mal testen.
Hey, tut leider nicht. Muss ich die alten Zertifikate löschen oder überschreibt „global“ die vorhandenen Zertifikate?
Die werden ersetzt, drücke mal nach dem Laden der Seite STRG + F5. Dann werden hoffentlich die neuen Zertifikate im Browser angezeigt.
Hey, geht leider nicht. Die neuen Zertifikate werden nicht sichtbar/übernommen …
Lösch mal die Zertifikate nochmal aus dem Ordner und erstelle die dann neu, anschließend neu hochladen. Kommen ansonsten noch irgendwelche Fehlermeldungen vom Script?
Ich habe einen neuen Artikel geschrieben, Du kannst mal schauen, ob die Zertifikatsdatei auch richtig erstellt worden ist und gültig ist:
https://andydunkel.net/2020/09/16/letsencrypt-pem-dateien-ueberpruefen/
Nachtrag: zwar wurden die „acme-challenge“ in „.well-known“ erstellt, allerdings sind die Ordner leer. Sollten da nicht eine Datei drin sein?
Das passt schon, die Dateien werden nach der Erstellung normal wieder gelöscht.
vielen Dank. Hab‘ das im Rahmen meiner Möglichkeiten über Keytool überprüft. Der Gültigkeitszeitraum passt und die Domains werden mit bzw. ohne www aufgeführt.Mehr kann ich da nicht erkennen.
Du kannst mir gerne mal den Link zur Webseite schicken, dann schaue ich mal, ob bei mir das richtige Zertifikat angezeigt wird. Ansonsten bleibt wohl nur der HE Support.
Danke für Dein Angebot. Hab‘ es bereits auf unterschiedlichen Rechnern versucht. Eine Subdomain hatte noch kein Zertifikat und ist weiter „unsicher“. Versuche es mal bei HE … melde mich.
Zwischenstand: ich soll laut HE die alten Zertifikate mal händisch löschen und anschließend einen neuen Versuch starten; was ich heute Abend dann mal machen werden … Update folgt 🙂
so, die alten Zertifikate gelöscht und schon tut es. Vielen Dank für die tolle Unterstützung!
Sehr gut, wobei es interessant ist, dass Du die alten erst löschen musstet, das musste ich bisher nicht, ich habe einfach das globale ersetzt.
Oh Mann – das hat mir gerade meinen Urlaub gerettet 🙂
Danke, Danke Danke!
Viele Grüße
Heike
Danke,
leider ist ein Server die Grundvoraussetzung. Habe leider nur das Webshosting-Paket.
Muss mal schauen welche Lösung ich mir in den nächsten 10 Tagen einfallen lasse.
Ein Grund HostEurope den Rücken zu kehren, aber auch ein Akt mit Umzug von 16 Domains. Habe gerade leider nicht viel Zeit.
LG
Luke
Leider kann ich Dir da keinen Tipp geben, außer in einen höheren Tarif zu wechseln. Was den Wechsel angeht, ich habe ein Projekt bei All-Inkl, da lauft LE ohne Probleme und automatisch. Aber umziehen ist immer so eine Sache. Ich wäre auch schon weg, wenn der Aufwand nicht so hoch wäre.
Hi Andi,
sobald die ACMECert.php auf den Server geladen wird, kommt sie nur leer (0Byte) an. Auch wenn ich den Inhalt via vim einfüge und mit :wq schließe, ist die Datei nach einer Aktualisierung der Ansicht wieder leer.
An was könnte das liegen und wie wäre ein workaround? Bei sämtlichen anderen Dateien im gleichen dir funktioniert es problemlos.
LG
Thomas
Das klingt sehr seltsam. Kannst Du Datei umbenennen und dann hochladen? Ist die dann auch 0 Bytes groß?
auch als ACME.php wird sie hochgeladen und beim aktualisieren des Views mit 0Byte angezeigt.
Status: Starte Upload von $path\ACME.php
Status: Dateiübertragung erfolgreich, 23.525 Bytes in 1 Sekunde übertragen
// datei wird mit der richtigen Byte-Zahl angezeigt
Status: Empfange Verzeichnisinhalt für „/www/le2″…
Status: Anzeigen des Verzeichnisinhalts für „/www/le2“ abgeschlossen
// datei ist 0 Byte groß
Sehr seltsames Verhalten, am besten mal einen anderen FTP-Client verwenden, die Datei vor dem Upload umbenennen und ansonsten kann vermutlich nur der Support von HE weiterhelfen.
Ich habe in die main.php nach der foreach($args as $item)-Schleife noch eine Überprüfung eingebaut, ob überhaupt ein Update nötig ist, und dieses nur durchführt, wenn ein Zertifikat innerhalb der nächsten drei Wochen ausläuft.
$bNeedsUpdate = false;
foreach(array_keys($domains) as $sDomain) {
$iTTL = (function($sDomain) {
$get = stream_context_create(array(„ssl“ => array(„capture_peer_cert“ => TRUE)));
$read = stream_socket_client(„ssl://“.$sDomain.“:443″, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get);
$cert = stream_context_get_params($read);
$certinfo = openssl_x509_parse($cert[‚options‘][’ssl‘][‚peer_certificate‘]);
return $certinfo[‚validTo_time_t‘] ?? 0;
})($sDomain);
$bValid = $iTTL > strtotime(‚+21 days‘);
echo $sDomain.“\t“.’expires ‚.date(‚Y-m-d‘, $iTTL).‘; ‚.($bValid ? ’no action needed‘ : ‚renewing‘).PHP_EOL;
if(!$bValid) $bNeedsUpdate = true;
}
if(!$bNeedsUpdate) {
echo ‚everything is up to date.‘.PHP_EOL;
die(1);
}
Hallo,
kann es sein, dass die php-Files eine Umgebung mit php 7.2 erfordern? Via SSH bekomme ich
/usr/bin/env: ‘php7.2’: Permission denied
zurück, wenn ich die .sh ausführen will.
Die Rechte für Ordner und Dateien stimmen mit denen der Anleitung überein. Es ist ein Webserver-Tarif von Hosteurope, auf dem nur noch php 7.3 und 7.4 auswählbar sind.
Genau, PHP 7.2 wurde ja gerade abgeschaltet. Ich habe das Scripte gerade aktualisiert, danke für den Hinweis, sollte nun gehen. 🙂
Hi Andy,
das Update der myletsencrypt.sh enthält in Zeile 22 noch folgende (vermutlich alte) Definition:
#/usr/bin/env php7.2 certificate_upload.php
Muss 7.2 hier nicht auch auf 7.4 geändert werden?
Gruß
S.
Jain, die Zeile ist derzeit auskommentiert und wird derzeit nicht beachtet. Früher könnte man das Zertifikat gleich hochladen, aber durch Änderungen seitens HE geht das nicht mehr. Die Zeile wird also nicht ausgeführt.
Hi Andy,
mit der aktuellen myletsencrypt.sh bekomme ich die Fehlermeldung
Warning: file_put_contents(fullchain.pem): failed to open stream: Permission denied in /is/htdocs/wpXXXXXXXX_XXXXXXXXXX/XX/main.php on line 140
Die Zeile 140 lautet: file_put_contents(‚fullchain.pem‘,$fullchain);
Ich vermute das liegt daran, dass in dem selben Ordner in den das fullchain.pem abgelegt werden soll bereits eine Datei mit dem selben Namen abgelegt ist. Muss man also das alte Zertifikat immer aus dem Ordner löschen bevor ein neues beantragt wird?
Danke und Gruß,
Sparen
Hi,
das klingt eher nach falschen Berechtigungen, schau mal, „wem“ die Dateien in dem Ordner gehören:
https://ekiwi-blog.de/forum/board/thread/56-dateiberechtigungen-f%C3%BCr-hosteurope-letsencrypt-script/
Gruß
Andy
Hi Andy,
danke, war tatsächlich der Fehler mit der falschen Benutzerberechtigung ftp statt wp, da die Skripte per FTP hochgeladen wurden, wodurch sich offensichtlich automatisch der früher im KIS auf wp eingestellte Benutzer automatisch wieder in den Benutzer ftp umgestellt hat.
WICHTIG: Alle die über Letsencrypt ein Zertifikat für eine Domain mit vielen Subdomains erstellen lassen wollen, müssen hier aufpassen, denn jeder Fehlversuch wird gezählt und man kann dadurch leicht in das Rate-Limit geraten! Siehe: https://letsencrypt.org/de/docs/rate-limits/
LG
Sparen
Ja in die Fehlversuche bin ich beim Testen auch schon reingeraten. 🙂
Hallo Andy,
ich versuch mich auch gerade mit dem Script, habe aber folgendes Problem:
Führe ich das Scriot aus, so erhalte ich:
/usr/bin/env: php7.4: No such file or directory
Schaue ich mit Filezilla auf das Verzeichnis, so finde ich kein Verzeichnis /usr/bin/env
Es gibt ein /usr/bin/php Verzeichnis, wobei mir der Filezilla folgende Meldung ausgibt
Befehl: cd „/usr/bin/php“
Fehler: Directory /usr/bin/php7.2: no such file or directory
Fehler: Verzeichnisinhalt konnte nicht empfangen werden
In der Filezilla-Anzeige schaut das Verzeichnissymbol aus wie ein Link, aber es gibt bei mir kein weiteres php… Verzeichnis im /user/bin
Es handelt sich um ein HE Webhosting medium Paket welches ich habe vor einiger Zeit von einem alten Paket aktualsieren lassen um den SSH Zugang zu erhalten.
Gruß
Schorsch
Hallo Schorsch, sieht so aus, als ob er bei Dir das PHP nicht findet. Im Script ist ja PHP7.4 explizit angegeben. Ich habe das Script mal modifiziert, sodass es keine bestimmte PHP-Version verwendet. Ich habe das zum Test mal hier hochgeladen:
https://www.evernote.com/l/AIh3nFSHcEJPn5XOv_qLUY1MSQ3oDbfBqVs/
Kannst Du mal testen und schauen, ob der Fehler damit immer noch auftritt. Würde mich über Feedback freuen, dann würde ich die Version zum Download auch entsprechend anpassen.
Gruß
Andy
Hey Andy, die ersten 3 Monate sind quasi rum und die erste Erneuerung steht an. Was muss ich tun? Gibst hierfür auch eine Anleitung oder muss ich das Skript einfach neue Zertifikate erstellen lassen und bei HE einbinden. Viele Grüße.
Servus Herbert, im Prinzip musst Du nur das Script ./myletsencrypt.sh ausführen, es läuft dann durch und die Zertifikate werden neu erstellt. Gruß Andy
Hey Andy, tut leider nicht.
wpxxxxxx@vwpxxxxxx:~/le$ ./myletsencrypt.sh
/usr/bin/env: ‘php7.2’: Permission denied
Kannst Du helfen? Hat das ggf. mit der PHP Umstellung von HE zu tun?
Stimmt, das kommt durch das Update von PHP bei HE, ändere mal die folgende Zeile ab:
/usr/bin/env php7.2 main.php your@email.de account_key.pem cert_private_key.pem \
zu:
/usr/bin/env php main.php your@email.de account_key.pem cert_private_key.pem \
Also statt php7.2 nur php.
Hallo Andy, funktioniert bei mir nicht. Hab‘ das „7.2“ entfernt.
wpxxxx@vwpxxxx:~/le$ ls
account_key.pem cert_private_key.pem main.php PHPMailer.php
ACMECert.php fullchain.pem myletsencrypt.sh
wpxxxx@vwpxxxx:~/le$ chmod +x myletsencrypt.sh
wpxxxx@vwpxxxx:~/le$ ./myletsencrypt.sh
-bash: ./myletsencrypt.sh: /bin/sh^M: bad interpreter: No such file or directory
Das liegt an den Zeilenenden:
https://ekiwi-blog.de/forum/board/thread/23-hosteurope-letsencrypt-ssl-script/?postID=117#post117
Da ist Linux etwas heikel. 🙂
Hey Andy, hab‘ das Zeilenende geändert. Jetzt klemmt es noch an:
550: Sender must exist (ec:12)
Error: Class ‚PHPMailer\PHPMailer\Exception‘ not found
wpxxxxxx@vwpxxxxx:~/le$
Das klingt nach irgendwas mit dem Mailversand, die Zertifikate sind an der Stelle schon erstellt. Zur Not einfach mit einem FTP-Client ziehen. Warum der Versand nicht klappt? Gute Frage, hast Du eine Standardversandadresse im KIS für PHP eingestellt?
Hey Andy, ja, hab‘ eine Standardadresse bei den Skripteinstellungen hinterlegt. Dank Deinem Tipp hab‘ ich die Dateien per FTP geladen und im KIS eingebunden. So, wieder 3 Monate Ruhe 🙂 Mal wieder vielen Dank für Deine super Unterstützung. Vielleicht gibt es in der nächsten Runde was Neues zum Mailversand.
Grundsätzlich funktioniert der E-Mail-Versand, zumindest bekomme ich immer eine E-Mail, wobei ich mir das Ganze meist dann eh direkt über FTP ziehe. 🙂
Bei mir kommt heute nur die Meldung „Sie müssen sowohl das Zertifikat, als auch die Schlüsseldatei angeben.“ wenn ich beide Dateien wie gewohnt in der KIS Oberfläche hochladen möchte. Hat das noch jemand?
Servus, gerade ausprobiert und die Zertifikate neu generiert und importiert. Hat alles geklappt, scheint also grundsätzlich noch zu funktionieren.
Stand heute funktioniert es auch bei mir wieder mit den selben Dateien die am 01.01.2021 Probleme gemacht haben. Scheint HE also wieder behoben zu haben.. danke für’s Prüfen!
Gut wundern würde es micht nicht, wenn Hosteurpope da mal was umbaut, dass es nicht mehr funktioniert. Aber gut, dass es wieder läuft. 🙂
Frohes Neues!
Erstmal vielen Dank für die tolle Anleitung und den Zugang zum Skript.
Aber ist das immer noch so, dass das Skript für Nutzer des Hosteurope-Tarifs WebHosting Medium nicht funktioniert?
Wenn ja, wäre das wirklich erbärmlich. Ich bin seit mindestens 2004 (vermutlich sogar länger) zufriedener Kunde bei Hosteurope gewesen. Aber dass die immer noch kein Let’s Encrypt unterstützen, ist ein Armutszeugnis. Selbst in meiner FRITZ!Box war das Zertifikat mit Auto-Renew mit wenigen Klicks eingerichtet und da ist die Funktion als Webserver im Vergleich zum Webhosting bei Hosteurope wohl eher sekundär. Ich werde morgen mal mit dem Support klären, ob ein problemloser Umzug zu diesen neuen cPanel-Angeboten mit Auto-SSL möglich ist. Falls ich dabei meine E-Mails im Webinterface von Hosteurope verlieren sollte, kann ich mir für meine Domains auch gleich ein komplett neues Zuhause suchen. Das wäre sehr schade, aber wenn Hosteurope seine Kunden gleich doppelt hängen lässt, bin ich ebenfalls kompromisslos.
Ebenfalls frohes Neues! Ja das ist inzwischen mehr als peinlich. Wenn es nur eine oder zwei Domains sind, kannst Du das auch manuell machen:
https://ekiwi.de/index.php/1283/letsencrypt-zerfikate-manuell-erstellen-am-beispiel-hosteurope/
Ansonsten würde ich mich gerne über Infos freuen, was der HE-Support sagt und ob ein Wechsel zum C-Panel Hosting etwas bringt und ob das Auto-SSL alle Domains abdeckt oder nicht. Ich werde aus dem C-Panel Hosting irgendwie auch nicht schlau bzw. was da genau der Unterschied zu den anderen Produkten sein soll. Einfache Tarifstruktur geht anders. Falls Du umziehst, ich habe gute Erfahrungen mit https://all-inkl.com/ gemacht, dort habe ich zwei Domains, Lets Encrypt ist nur eine Checkbox und die Preise sind auch mehr als OK.
Sehr gerne. Nein, es sind leider 15 Domains mit 4 WordPress-Installationen und einem E-Mail Postfach mit allen meinen E-Mails seit 2013 (5stellige Anzahl), die ich auch nach dem Umzug weiterhin gerne online per Webinterface lesen und durchsuchen können möchte.
Und ja, das cPanel ist so unübersichtlich, dass weder der Vertrieb noch der Support da selber einen Überblick haben. Einfache Fragen konnten nicht beantwortet werden (das ist ja auch noch neu für uns) und die Information, dass das cPanel WebHosting Maximum und cPanel WebServer Launch bei mit 19,99 € gleich teuer sind, war für den Vertriebler selber sogar neu! Die von ihm ausgesprochene Empfehlung für den Webserver Launch wurde im anschließenden Telefonat mit dem Support dann obendrein wieder kassiert. Den Support musste ich anrufen, weil mir der Vertrieb nicht (!) sagen konnte, was ein Umzug meiner Konfiguration und E-Mails auf cPanel durch Hosteurope kosten würde. Ich war ja schon skeptisch, dass der Support der richtige Ansprechpartner dafür sein würde, aber der Vertriebler bestand darauf, dass ich dort an der richtigen Adresse wäre.
Natürlich kassierte der Support nach 12 Minuten Warteschleife auch diese Aussage und verwies mich an eine schriftliche Anfrage via KIS.
Das ist wirklich ein schauriges Bild. Die Übernahme von GoDaddy hat denen echt nicht gut getan. Beim Recherchieren nach Alternativen habe ich dann gesehen, dass die sogar die Server in die Ukraine umziehen. Das schlägt dem ohnehin schon übergelaufenen Fass dann noch zusätzlich den Boden aus.
Sehen wir mal davon ab, dass ich grundsätzlich ein Hosting in Deutschland bevorzuge, damit meine Daten zumindest ansatzweise sicher sind (da wäre ich mir bei von den amerikanischen Eigentümern schlecht bezahlten Ukrainern nicht mehr so gewiss), geht das auch DS-GVO mäßig überhaupt nicht, wenn meine Domains plötzlich in der Ukraine und damit nicht einmal mehr in EU-Gebiet liegen würden.
Danke auch für den Tip mit all-inkl.com. Ich hatte mich nach diversen Rankings jetzt auf webgo eingeschossen und gerade ein sehr angenehmes Telefonat mit dessen Support. Kompetent und verständnisvoll. War ein Volltreffer: der Supporter hatte selber noch ein paar Domains aus Urzeiten bei Hosteurope liegen und war ebenfalls dabei, alles zu webgo umzuziehen. Meine Anforderungen werden alle erfüllt und am Ende spare ich nach einem Upgrade auf deren Power-Paket mit deutlich mehr und reinem SSD-Speicher (500 GB statt 100 GB) immer noch Geld.
Ich fasse zusammen: Hosteurope ignoriert ein fundamentales Feature wie SSL, zieht alles in ein Nicht-EU-Land um, hat inkompetente Leute in der Hotline UND dem Vertrieb, eine unübersichtliche Produkt/Preis-Politik und lässt den Kunden bzgl. Umzug erstmal alleine. Und ist aber noch nichtmal billig. Ich bin leicht schockiert und der Umzug ist jetzt beschlossene Sache. Ich weiß schon gar nicht mehr, wie lange ich dort Kunde war. In jedem Fall über 20 Jahre. Meine erste Domain hatte ich 1996 reserviert. Vielleicht damals noch bei einem anderen Provider. Meine digitalen Kontoauszüge hören 1999 auf, daher kann ich das nicht mehr weiter zurückverfolgen. 😀
Achso, eines noch: Ja, Auto-SSL bei Hosteurope deckt alle Domains ab. Von welcher Zertifizierungsstelle konnte mir aber ebenfalls weder Vertrieb noch Support sagen. Vielleicht Let’s Encrypt, vielleicht auch deren eigene, die sonst 36,99 EUR im Jahr kostet!?!? Aber das sei ja eh nicht so wichtig. Stimmt zwar in gewisser Hinsicht, peinlich ist es aber trotzdem.
Hallo, danke für die Infos. Uns geht es ähnlich, viele Domains und Projekte und dann noch E-Mail-Konten, deswegen ist der Umzug nicht so leicht. Wir sind glaube auch schon über 15 Jahre Kunde bei Hosteurope. Gerade in den Anfangszeiten war der Support spitze und man hat schnell eine Antwort bekommen. Jetzt ist der Laden denke einfach zu groß geworden und hat ein Produktmanagement, welches sich Dinge wie das C-Panel ausdenkt, von dem ich nicht weiß, warum es das gibt und das Ganze nicht einfach auf die normalen Webhosting-Pakete angewendet werden kann und warum es das Auto-SSL nur dort gibt. Gut, der Support hat ja auch keine Ahnung, wie Du sagst. 🙂
Webgo macht auch einen guten Eindruck, wie bei All-Inkl gibt es vernünftige Pakete, welche man überblickt. Bzgl. Ukraine, hierbei scheint es sich um einen Dienstleister zu handeln der den Support und die Administration macht, findet man bei HE in der Subunternehmerliste und hier ein paar Infos:
https://www.df.eu/de/support/df-faq/service-infos/technik-anbindung/
DF gehört meines Wissens auch zu Hosteurope. Mit dem Aspekt könnte ich sogar noch leben.
Hallo Andy,
vielen Dank für den guten Artikel.
Ich habe gesehen, dass du nur das globale Zertifikat austauscht, das wollte ich auch gerade probieren, klappt aber nicht wie gewünscht. Anstelle des beschriebenen Scriptes nutze ich für jede Domain den certbot und erhalte somit die Dateien 0000_cert.pem, 0000_chain.pem und 0001_chain.pem.
Kannst du mir bitte sagen wie deine Zertifikatsdatei und deine Keydatei vom Format her aussieht?
Wenn ich nämlich die 0001_chain.pem aneinanderreihe dann sehe ich mit dem „SSLShopper SSL Checker“ alle Domains, aber nur das erste wird im Browser ohne Fehlermeldung angegeben.
Vielen Dank im Voraus
Meinst Du das hier? https://www.screencast.com/t/bw8zfb3XD
Tach zusammen!
Habe gerade meine Quartalsroutine durchgeführt. Rund 50 Domains ohne Probleme, auch wenn das Script dieses mal wesentlich länger gebraucht hat, weil der LE-Server nicht so prompt wie sonst geantwortet hat. Sonst alles gut.
Aber nach wie vor ein Graus mit Host Europe. Ich wünschte ein Wechsel mit über 120 Mailkonten + Webseiten + Daten wäre einfacher, dann wäre ich längst bei einem anderen Hoster….
Bis in drei Monaten!
Liebe Grüße
Danke für das Feedback. Bei mir läuft auch weiterhin noch. Immer noch ein Armutszeugnis von HE. Bei den neuen cPanel Hosting Angeboten ist zumindest jetzt Auto-SSL dabei:
https://www.hosteurope.de/blog/autossl-wie-sie-webseiten-automatisch-und-kostenlos-mit-einem-ssl-zertifikat-absichern/
Kannst ja mal die Diskussionen etwas anschauen, im Grunde genommen soll man in diesen Tarif wechseln. Keine Ahnung, ob das problemlos geht oder ob da manuelle Umzugsarbeit auf einen zukommt. Ist mir aber immer noch ein Rätsel, warum HE das nicht einfach für alle Tarife freischaltet.
Dazu kann ich nur sagen, dass ich vor vier Wochen mit HE in einer anderen Sache telefoniert und dann zu dem Punkt gekommen bin. Es gibt wohl jetzt kostenpflichtigen Umzugsservice zu diesem Produkt. Habe aber mit der Abteilung (war zu der Zeit zu) noch nicht gesprochen. Wäre spannend was die dafür nehmen und ob sich das Upgrade in dieses Paket lohnt?
OK danke für die Info. Wenn Du mehr herausfindest, gerne Bescheid geben. Umzugsservice klingt schonmal nicht so gut, ich hatte eher gehofft, dass man automatisch rübergezogen wird und gut ist. Ich verstehe die Tarife auch irgendwie nicht, was ist der genaue Unterschied zwischen „cPanel“ und meinem derzeitigen Hosting-Paket. Wann nehme ich das eine und wann das andere? Nur wegen Auto-SSL? Ein paar Nachteile sehe ich auch, Datenbank ist z.B. auf 1 GB begrenzt.
Soo, hier das Angebot von HE…
Die Kosten hierfür belaufen sich wie folgt:
Wordpress: 100 EUR pro Installation
HTML Seiten 50 EUR pro Seite
1 Custom 150 EUR pro Installation
1 Forum 150 EUR pro Installation
1 Shopware 200 EUR pro Installation
Sollten die Mailkonten ebenfalls umgezogen werden, würden hierfür zusätzlich Kosten in Höhe von 15 EUR pro Konto anfallen.
Ich überlege ja ernsthaft. Also ich würde nur die Mailkonten umziehen lassen und den Rest selbst erledigen…. 😀 Keine leichte Entscheidung!
Interessant, danke fürs teilen. Gut nur Mail geht eigentlich, aber dennoch finde ich das Panne, dass man das nicht einfach überall anbietet. Mir ist der Aufwand leider zu hoch, wir hätten 11 Blogs zum umziehen. 🙂
Hallo Andy,
Moin zusammen.
Ich habe Dein Script heute mal eingerichtet, und muss sagen perfekt.
Nachdem ich die „dateirechte“ angepasst hatte lief es 1A.
Danke.
Zu HE, bin um 2007 zu HE, da waren die noch recht jung. Zu der Zeit war HE noch recht klein und da waren die auch flexibel was mit den Jahren immer weniger wurde.
Es ist zu vermuten, das an den alten Paketen sich nichts ändern wird, und es mehr geplant ist, das man das Packet wechselt, mit allem Aufwand den das mit sich bringt.
Noch schönen Sonntag – heute aus Portugal
Gruss Jürgen
Hallo Jürgen,
freut mich, dass das Script geholfen hat. Wir sind, glaube auch zu der Zeit zu HE gewechselt. Vielleicht auch schon eher, schwer zu sagen. Auf jeden Fall hast Du recht, HE war damals klein, der Support schnell und flexibel. Jetzt ist HE groß und gehört zu GoDaddy. Wobei soweit alles immer noch läuft, sieht man von LetsEncrypt ab. Was die alten Pakete angeht, hoffe ich, dass Du Unrecht hast. Zumindest früher konnte ich schon updaten, da gab es Webserver 2.0 und dann konnte man auf 3.0 und 4.0 updaten. Vor zwei Jahren sind wir von Festplatte auf SSD umgestiegen, ohne Ausfälle und extra Arbeit. Meine Hoffnung ist, dass HE etwas in dieser Richtung anbietet. Aber schauen wir mal, so schnell wird das sicher nicht passieren.
Gruß
Andy
Alle die ein zu „kleines“ Webspace Paket bei hosteurope haben (ohne ssh), hilft vielleicht das folgende GitHub Projekt weiter: https://github.com/steinsag/hosteurope-letsencrypt
Hallo Andy, bei mir hat sich die Domain einer Seite geändert. Als erstes hab‘ ich in der „myletsencrypt.sh“ den Domaineintrag angepasst. Des Weiteren habe ich den „.well-known“ neu angelegt. Wenn ich das Skrip starte, erscheint folgender Fehler „Error: Challenge validation failed: Fetching https://*****/.well-known/acme-challenge/U2RH6D84PM3IJmLhDTNczLzh9khL0JFaXu7zW6jN5jo: Invalid hostname in redirect target, must end in IANA registered TLD (urn:ietf:params:acme:error:connection), mkdir(): File exists“ Was muss ich tun? Viele Grüße,
Hallo Herbert,
gute Frage, ist an der Domain irgendwas speziell? Z.B. eine Weiterleitung?
Gruß
Andy
Hallo Andy, vielen Dank für Deine Unterstützung. Ich hatte die Seite zu Testzwecken mit einer Subdomain, allerdings auch mit LE Zertifikat betrieben. Die „neue“ Domain wurde neu registriert (m.E. keine Besonderheiten). Ggf. hängt die alte Sub-Domain noch irgendwo in der Seite … Datenbank, .htaccess, wp-config, usw.. Hab‘ aber eigentlich alles -im Rahmen meiner Möglichkeiten- durchsucht. Hast Du eine Idee?
Hi Andy,
schon mal den neuen cPanel-WebServer von HE getestet, der soll die Verlängerung von Domain Validated-Zertifikaten angeblich automatisch durchführen können. Vielleicht für diejenigen interessant, die mit der Verwendung von Scripten über SSH keine Erfahrung oder zuviel Respekt davor haben! https://www.hosteurope.de/cpanel-webserver/
Allerdings ist die Beschreibung sehr dürftig. Hans-Dieter Fliege erklärt das hier im Kontext zu ZeroSSL: https://www.hosteurope.de/blog/lets-encrypt-zertifikat-erstellen/#comment-120744
Gruß
Sparen
Servus,
ja diese Tarife würden das Problem lösen. Nach allem, was ich gesehen habe, muss man das auch nur einmal aktivieren für die Domains und die Sache ist erledigt. Der Haken ist aber, dass es erst ab dem 20 Euro Tarif verfügbar ist. In den günstigern Tarifen ist die Funktion nicht verfügbar. Zumindest funktioniert auch hier das Script, habe ich hier mal ausprobiert:
https://ekiwi.de/index.php/1574/hosteurope-cpanel-letsencrypt-zerfitikate-generieren-und-nutzen/
Gruß
Andy
Hallo Andy, bin ich blind, zu doof oder hast Du meinen Betrag vom 10. April 2021 um 16:45 Uhr nicht beantwortet? Viele Grüße, Herbert
Doch hatte geantwortet. 🙂
„Hallo Herbert,
gute Frage, ist an der Domain irgendwas speziell? Z.B. eine Weiterleitung?
Gruß
Andy“
Gruß
Hallo Andy, hatte ich auch eigentlich beantwortet 🙂
Hallo Andy, vielen Dank für Deine Unterstützung. Ich hatte die Seite zu Testzwecken mit einer Subdomain, allerdings auch mit LE Zertifikat betrieben. Die „neue“ Domain wurde neu registriert (m.E. keine Besonderheiten). Ggf. hängt die alte Sub-Domain noch irgendwo in der Seite … Datenbank, .htaccess, wp-config, usw.. Hab‘ aber eigentlich alles -im Rahmen meiner Möglichkeiten- durchsucht. Hast Du eine Idee?
Wie lautet denn die Domain und die alte Subdomain? Gerne auch per E-Mail.
Hallo Andy, ich hab‘ Dir an die im Impressum hinterlegte Mail geschrieben. Viele Grüße.
Wie immer… alles bestens.
Aber es ist so nervig 😀 Aber geben wir die Hoffnung nie auf, dass HE bald endlich mal eine LE-Unterstützung anbietet 🙂
Schönen Sommer!
LG
Danke! Dir auch einen schönen Sommer. Die Hoffnung soll man nicht aufgeben, aber ich habe vor ein paar Monaten mit LE gesprochen und habe nicht den Eindruck gehabt, dass die die alten Tarife weiter entwickeln. Stattdessen kümmern die sich um die CPanel-Tarife, hier gibt es LetsEncrypt bei den teureren Tarifen. Für die kleinen habe ich auch einen Artikel geschrieben:
https://www.hosteurope.de/blog/cpanel-lets-encrypt-zertifikate-generieren-und-nutzen/
Gruß
Andy
Hallo Andy,
nach einem Jahr in dem alles glatt lief bekomme ich jetzt – nachdem ich die php Version (7.x) wie von Dir empfohlen weggelassen habe – mal wieder eine Fehlermeldung „permission denied“, obwohl natürlich die Berechtigung im KIS auf WP…….. und 750 oder 755 steht.
Bevor ich die aktuelle php-Version wieder in das myletsencrypt.sh-Script einfüge, wollte ich vorher nur nachfragen, ob es dazu was Neues gibt, oder Du eine Idee hast woran das liegen könnte? In den Kommentaren des letzten Jahres habe ich dazu hier nichts gefunden!
Danke und Gruß (und nachträglich noch ein gesundes neues Jahr),
Sparen
Hallo,
ich habe bei mir auch nur „/usr/bin/env php“ drinnen stehen. Der Well-known Ordner hat 750 bei mir und gehört dem SSH-User. Ist das bei Dir auch alles so. Habe erst vor kurzem aktualisiert, hat alles geklappt. Daher gehe ich mal davon aus, dass sich nichts geändert hat.
Gruß
Andy
Hallo Andy,
bei mir sieht das Script so aus:
#generate all certificates
/usr/bin/env php main.php master@…. .com account_key.pem cert_private_key.pem \
funktioniert hat es vorher mit:
#generate all certificates
/usr/bin/env 7.3 php main.php master@…. .com account_key.pem cert_private_key.pem \
Der well-known Ordner hat bei mir 755, hat sich aber seit der letzten erfolgreichen Aktualisierung (als die php-Version 7.3 noch enthalten war) nicht geändert! Auch wem der well-known Ordner gehört SSH oder FTP hat sich nicht geändert!
Danke und Gruß,
Sparen
Hmm seltsam, kannst Du etwas mehr vom Log bzw. der Meldung posten? Vielleicht sehen wir dann woran es liegt. Ich habe es gerade bei mir getestet, lief problemlos durch. Läuft es mit Angabe der PHP Version?
Hallo Andy,
jetzt bekomme ich bei ausführen von ./myletsencrypt.sh auch mit „php7.4“ (im Script) die gleiche Fehlermeldung:
-bash: ./myletsencrypt.sh: Permission denied
Das muss irgendwas mit der Benutzerberechtigung zu tun haben, obwohl ich 755 und 750 im KIS ausprobiert und auch den wp…. Benutzer definiert habe, weshalb es eigentlich funktionieren sollte. Tut es aber nicht!
In den Error-Logfiles aber auch in den Access-Logfiles wird im KIS kein Vorgang dazu vermerkt!
Gibt es noch andere Fehler, die sich durch das hochladen per FTP auf die Benutzerberechtigung ausgewirkt haben können, denn die Fehlermeldung sagt nach meinem Verständnis doch klar, dass dem Script von myletsencypt.sh die Berechtigung zur Ausführung fehlt! Oder?
Sorry, wäre echt dankbar wenn Dir noch was einfällt, denn das alte Zertifikat läuft heute um 24:00 Uhr aus!
Danke und Gruß,
Sparen
Hallo Andy,
vermutlich liegt es daran, dass alle Dateien im Ordner – den ich „le“ genannt habe – nur die 644er Berechtigung haben und zumindest die myletsencrypt.sh eine 744/750er Berechtigung braucht. Das kann man normalerweise mit dem Haken bei „rekursiv“ im KIS ändern. Allerdings verweigert mir das KIS die Änderung aus „rekursiv“, sodaß ich die Berechtigung wohl über FTP manuell durchführen muss! Brauchen noch andere Dateien als die myletsencrypt.sh eine 744 bzw. 750 Berechtigung um ausgeführt zu werden?
Danke und Gruß,
Sparen
Hallo Andy,
letzte Vermutung hat sich bestätigt, jetzt funktioniert es!
Trotzdem vielen Dank für Deine Bemühungen, ist ein toller Service den Du hier lieferst, da könnte sich HE mittlerweile einiges davon abschneiden.
Gruß
Sparen
Hallo,
freut mich, dass es geklappt hat, wäre sonst ja recht knapp geworden heute. 🙂
Gruß
Andy
Ich bin Domainfactory Kunde soweit so gut. Ich konnte den gesamten Prozess erfolgreich durchlaufen, finde nun aber nicht die Möglichkeit meine Zertifikate dort zu hinterlegen. Gibt es einen anderen Weg?
Zu Domainfactory kann ich selbst leider nichts sagen, ich bin ja wie gesagt bei Hosteurope.
Gruß
Andy
Ahoi Andy, seit der Umstellung auf php 8 Mitte November 2022 bei hosteurope funktioniert die von Dir verwendete Version des PHPMailer nicht mehr korrekt. Die Zertifikatanlagen in der mail werden nicht wie bisher als mail Anlage gesendet sonder kommen innerhalb der mail als multipart an. Ich habe bei mir die von Dir verwendete Version des PHPMailers ersetzt durch die aktuelle Version 6.6.5 (https://github.com/PHPMailer/PHPMailer/releases/tag/v6.6.5) Damit kommen die Zertifikate wieder als Dateianhang in der mail.
Danke, deswegen bin ich auch gerade wieder hier vorbeigesurft!
Servus, habe das Script jetzt aktualisiert. Download im Artikel.
Gruß
Andy
Servus, habe das Script jetzt aktualisiert. Download im Artikel.
Gruß
Andy
Mega – vielen vielen Dank!
Ohne dein Script wäre ich echt verloren 😉
Liebe Grüße
Heike
Hello again!
Ich wollte gerade routiniert updaten und habe dann festgestellt, dass PHP8 einiges verändert hat.
Was ist bei dem Update zu beachten? Muss alles neu eingerichtet werden?
Danke!
LG
Hallo,
ich habe das hier beschrieben:
https://ekiwi-blog.de/forum/board/thread/23-hosteurope-letsencrypt-ssl-script/?postID=902#post902
Gruß
Andy
Alle Jahre wieder… Es hat geklappt.
Mein Wildcard-Skript konnte ich auch problemlos updaten.
Ach, herrlich!
Super, das freut mich. 🙂
Hallo Andy,
ich habe heute mit Freude das PHP8-Update erblickt, heruntergeladen, auf den Server hochgeladen.
SSL wird wieder korrekt erstellt 🙂
Danke für Deine Hilfe.
Gruß, Paul
Heute auch bemerkt das es nicht mehr lief – dank deiner php8 Anpassung für php8 läuft es wieder – vielen Dank und schöne Weihnachten
Ganz herzlichen Dank! Hosteurope könnte Dir nicht genug für den Service zahlen, den die selbst nicht gebacken bekommen…
Hi Andy,
habe gerade gelesen, dass HE ein Update der Datenbanksoftware MySQL 5.7 auf 8.033 ab 16.10.23 durchführt. Hat das ggfs. Auswirkungen auf das Skript und würdest Du darüber hinaus zwingend notwendige Aktualisierungen bei WordPress-Themes/-plugins dadurch vermuten, wenn einige noch auf dem Stand von 2022 sind?
Danke und Gruß,
Sparen
Hi, stimmt da kam ne E-Mail. Auf das Script hat es keinen Einfluss, das verwendet ja keine Datenbank. Bei WordPress hoffe ich einfach, dass alles auf Stand ist und die Plugin-Entwickler da gut gearbeitet haben. Ich lasse es mal darauf ankommen. Wüsste jetzt auch nicht, wie man das vorab testen könnte.
Gruß
Andy
Gibt es eine Möglichkeit, dass das Skript von Windows aus ausgeführt werden kann? Ich habe einiges getestet, aber es hat leider nicht funktioniert. Ich habe es auch (vorher) mit einem CronJob DIREKT auf dem Webserver getestet – aber auch hier kommen Fehlermeldungen (wahrscheinlich wegen einer ungültigen Pfadangabe)…
LG Greg
Mit Windows hatte ich da leider auch noch keinen Erfolg. Es gibt ja extra Clients für Windows, da würde ich eher die austesten.
Gruß
Andy
Dank für Deine Antwort. Ich finde Deine Arbeit an diesem Thema echt klasse!
Hallo Andy,
ich habe bereits öfters hier gepostet 😉
Auf dieser Seite wird das Thema CronJob bzgl. LE geschrieben. Da Dein Forum (verständlicherweise) nicht mehr online ist, empfehle ich wenigstens ein ArchivLink von „https://ekiwi-blog.de/forum/board/thread/35-hosteurope-letsencrypt-ssl-script-als-cronjob-einrichten/“ -> „https://web.archive.org/web/20221201102052/https://ekiwi-blog.de/forum/board/thread/35-hosteurope-letsencrypt-ssl-script-als-cronjob-einrichten/“.
LG Gregor (GD-System.de)
Servus, danke für den Hinweis, ich habe den Link angepasst.
Gruß
Andy
Hallo Andy,
ich bin’s nochmal: Es wird ja oben vom CronJob geschrieben – das habe ich heute getestet: Es funktioniert jedoch mit DIESEM Skript nur dann, wenn (ohne Unterordner) sämtliche Dateien im Stammverzeichnis „/“ hochgeladen wird. Wenn, wie von HelioPhob beschrieben, ein Unterverzeichnis „/letsencrypt/“ verwendet wird, erscheint die Fehlermeldung (per E-Mail): „Could not open input file: main.php“.
Lustigerweise hat es scheinbar bei Heliophob funktioniert (was mich jedoch wundert) – gibt es eine Möglichkeit Kontakt zu Heliophob aufzunehmen, um zu fragen, wie er das gelöst hat (ggf. welche Hyperlinks in welchen Dateien geändert werden müssten)?
LG Greg
Servus, Kontaktdaten habe ich da leider keine, aber ich würde vermuten, dass der Cronjob vom Basisverzeichnis ausgeht und das ist dann der Root. Könnte mir vorstellen, dass relative Pfade auch gehen, aber am besten ist es denke, wenn du überall absolute Pfade verwendest.
Kennst Du denb sämtliche Stellen im Code, an welchen diese Änderungen vorgenommen werden müssten? Lt. Post von Heliophob hat er es scheinbar geschafft NICHT im RootVerzeichnis zu verwenden, sondern lt. Screenshots das Unterverzeichnis „Cronjobs“.
LG Gregor Rößeler
Ich hätte jetzt gesagt, dass es in der .sh Datei ausreicht:
/usr/bin/env php main.php your@email.de account_key.pem cert_private_key.pem \
Hier bei der main.php den kompletten Pfad angeben, statt nur den Dateinamen.
Das hat leider nicht funktioniert (schon in der Vergangenheit getestet). Hier erschient dann ebenfalls die Meldung per E-Mail: „Could not open file“…