{"id":4780,"date":"2026-05-29T21:11:01","date_gmt":"2026-05-29T19:11:01","guid":{"rendered":"https:\/\/vielhuber.de\/?p=4780"},"modified":"2026-05-29T21:29:09","modified_gmt":"2026-05-29T19:29:09","slug":"lets-encrypt-domainfactory","status":"publish","type":"post","link":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/","title":{"rendered":"Let's Encrypt DomainFactory"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Manche Shared-Hosting-Pakete mit cPanel bieten <strong>AutoSSL<\/strong> nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich kein kostenloses Let's-Encrypt-Zertifikat ausstellen, und alle Domains h\u00e4ngen auf einem <strong>selbstsignierten<\/strong> Zertifikat fest. Der Browser zeigt die Seite als \u201enicht sicher\" an. Der Ausweg: das Zertifikat selbst mit <a href=\"https:\/\/github.com\/acmesh-official\/acme.sh\">acme.sh<\/a> holen und \u00fcber die cPanel-UAPI installieren. Voll automatisch erneuernd, ganz ohne AutoSSL.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">HTTPS ist l\u00e4ngst Pflicht: Umso \u00e4rgerlicher, wenn ausgerechnet das eigene Hosting-Paket keinen bequemen Weg zum kostenlosen Zertifikat anbietet. Das passiert h\u00e4ufiger, als man denkt \u2013 etwa bei g\u00fcnstigen Einsteigerpaketen oder nach einer Tarifumstellung, bei der pl\u00f6tzlich kein Zertifikat mehr inklusive ist. Mit ein paar Zeilen auf der Shell l\u00e4sst sich diese L\u00fccke aber elegant und dauerhaft schlie\u00dfen \u2013 im Folgenden der komplette Weg.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Per SSH einloggen<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -p &lt;port&gt; &lt;cpanel-user&gt;@&lt;host&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. acme.sh installieren<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl https:\/\/get.acme.sh | sh -s email=du@example.com\nsource ~\/.bashrc\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Let's Encrypt als CA setzen<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>acme.sh --set-default-ca --server letsencrypt\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Zertifikat ausstellen<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>acme.sh --issue -d example.com -d www.example.com -w ~\/public_html\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Ins cPanel installieren<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>acme.sh --deploy -d example.com --deploy-hook cpanel_uapi\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6. Pr\u00fcfen<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>uapi SSL installed_hosts\necho | openssl s_client -servername example.com -connect example.com:443 2>\/dev\/null \\\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| openssl x509 -noout -issuer -dates\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Der Hook schreibt das Zertifikat per UAPI auf den passenden vHost. Die Deploy-Einstellung wird gespeichert \u2013 ab jetzt erneuert und installiert der Cron alles selbstst\u00e4ndig vor Ablauf. Der Issuer sollte \u201eLet's Encrypt\" sein, das Ablaufdatum rund 90 Tage in der Zukunft. Erscheint stattdessen noch das alte, selbstsignierte Zertifikat, hilft meist ein Hard-Reload im Browser \u2013 das vorherige Zertifikat kann kurzzeitig zwischengespeichert sein.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf manchen Hosts l\u00e4uft ein eigener cPanel-Hook vor <code>install_ssl<\/code> und quittiert mit etwas wie <code>adminbin Cpanel\/hooks2\/...: exit 255<\/code>. acme.sh meldet trotzdem \u201esuccessfully deployed\" \u2013 und das ist meist korrekt. Der Hook scheitert in dem Fall an einem nachgelagerten Schritt \u2013 etwa einem internen Notify- oder Sync-Job des Hosters \u2013, nicht an der eigentlichen Installation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei Domains mit Umlaut speichert acme.sh das Zertifikat intern unter der Punycode-Form (<code>xn--\u2026<\/code>), w\u00e4hrend der Auto-Matcher des Hooks die Unicode-Form vergleicht. Ergebnis: \u201edeployed to 0 of 0 sites\" \u2013 es wird nichts installiert. T\u00fcckisch dabei: acme.sh meldet auch hier \u201eSuccess\", sodass der Fehler leicht \u00fcbersehen wird. L\u00f6sung: direkt mit der Punycode-Domain arbeiten und den Auto-Modus abschalten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Punycode-Form der Domain vorher ermitteln (z. B. via idn-Tool oder Online-Konverter)\nacme.sh --issue -d xn--&lt;punycode> -d www.xn--&lt;punycode> -w ~\/public_html\nexport DEPLOY_CPANEL_AUTO_ENABLED='false'\nacme.sh --deploy -d xn--&lt;punycode> --deploy-hook cpanel_uapi<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit SSH-Zugang ist man nicht auf AutoSSL angewiesen: acme.sh stellt das Zertifikat aus, der <code>cpanel_uapi<\/code>-Hook installiert es, und der mitinstallierte Cron h\u00e4lt es automatisch aktuell. Einmal eingerichtet, l\u00e4uft das kostenlose HTTPS dauerhaft von selbst. Wer den initialen Aufwand einmal investiert, spart sich k\u00fcnftig jede manuelle Verl\u00e4ngerung \u2013 und kann dieselbe L\u00f6sung mit einem einzigen weiteren Befehl auf jede zus\u00e4tzliche Domain im selben Account \u00fcbertragen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich kein kostenloses Let's-Encrypt-Zertifikat ausstellen, und alle Domains h\u00e4ngen auf einem selbstsignierten Zertifikat fest. Der Browser zeigt die Seite als \u201enicht sicher\" an. Der Ausweg: das Zertifikat selbst mit acme.sh holen und \u00fcber die cPanel-UAPI [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"gtbabel_prevent_lngs":"","gtbabel_alt_lng":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-4780","post","type-post","status-publish","format-standard","category-blog"],"acf":[],"yoast_head":"<title>Let&#039;s Encrypt DomainFactory &#060; Vielhuber David<\/title>\n<meta name=\"description\" content=\"Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich ...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Let&#039;s Encrypt DomainFactory &#060; Vielhuber David\" \/>\n<meta property=\"og:description\" content=\"Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich kein\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/\" \/>\n<meta property=\"og:site_name\" content=\"Vielhuber David\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-29T19:11:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-29T19:29:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"552\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"David\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vielhuber\" \/>\n<meta name=\"twitter:site\" content=\"@vielhuber\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"David\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/\"},\"author\":{\"name\":\"David\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"headline\":\"Let's Encrypt DomainFactory\",\"datePublished\":\"2026-05-29T19:11:01+00:00\",\"dateModified\":\"2026-05-29T19:29:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/\"},\"wordCount\":394,\"publisher\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"articleSection\":[\"Blog\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/\",\"name\":\"Let's Encrypt DomainFactory &#060; Vielhuber David\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#website\"},\"datePublished\":\"2026-05-29T19:11:01+00:00\",\"dateModified\":\"2026-05-29T19:29:09+00:00\",\"description\":\"Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich kein\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/blog\\\/lets-encrypt-domainfactory\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vielhuber.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Let's Encrypt DomainFactory\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#website\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/\",\"name\":\"Vielhuber David\",\"description\":\"Full-Stack Developer\",\"publisher\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vielhuber.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/vielhuber.de\\\/#\\\/schema\\\/person\\\/64d4ff14713d413ea4d9b210d0c2c6ef\",\"name\":\"David\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"url\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"contentUrl\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\",\"width\":700,\"height\":552,\"caption\":\"David\"},\"logo\":{\"@id\":\"https:\\\/\\\/vielhuber.de\\\/wp-content\\\/uploads\\\/about.jpg\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/vielhuber\"]}]}<\/script>","yoast_head_json":{"title":"Let's Encrypt DomainFactory &#060; Vielhuber David","description":"Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich ...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/","og_locale":"de_DE","og_type":"article","og_title":"Let's Encrypt DomainFactory &#060; Vielhuber David","og_description":"Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich kein","og_url":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/","og_site_name":"Vielhuber David","article_published_time":"2026-05-29T19:11:01+00:00","article_modified_time":"2026-05-29T19:29:09+00:00","og_image":[{"width":700,"height":552,"url":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","type":"image\/jpeg"}],"author":"David","twitter_card":"summary_large_image","twitter_creator":"@vielhuber","twitter_site":"@vielhuber","twitter_misc":{"Verfasst von":"David","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/#article","isPartOf":{"@id":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/"},"author":{"name":"David","@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"headline":"Let's Encrypt DomainFactory","datePublished":"2026-05-29T19:11:01+00:00","dateModified":"2026-05-29T19:29:09+00:00","mainEntityOfPage":{"@id":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/"},"wordCount":394,"publisher":{"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"articleSection":["Blog"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/","url":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/","name":"Let's Encrypt DomainFactory &#060; Vielhuber David","isPartOf":{"@id":"https:\/\/vielhuber.de\/#website"},"datePublished":"2026-05-29T19:11:01+00:00","dateModified":"2026-05-29T19:29:09+00:00","description":"Manche Shared-Hosting-Pakete mit cPanel bieten AutoSSL nicht an \u2013 oder nur in h\u00f6heren Tarifen. Die Folge: \u00dcber die cPanel-Oberfl\u00e4che l\u00e4sst sich kein","breadcrumb":{"@id":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vielhuber.de\/blog\/lets-encrypt-domainfactory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vielhuber.de\/"},{"@type":"ListItem","position":2,"name":"Let's Encrypt DomainFactory"}]},{"@type":"WebSite","@id":"https:\/\/vielhuber.de\/#website","url":"https:\/\/vielhuber.de\/","name":"Vielhuber David","description":"Full-Stack Developer","publisher":{"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vielhuber.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/vielhuber.de\/#\/schema\/person\/64d4ff14713d413ea4d9b210d0c2c6ef","name":"David","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","url":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","contentUrl":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg","width":700,"height":552,"caption":"David"},"logo":{"@id":"https:\/\/vielhuber.de\/wp-content\/uploads\/about.jpg"},"sameAs":["https:\/\/x.com\/vielhuber"]}]}},"_links":{"self":[{"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/posts\/4780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/comments?post=4780"}],"version-history":[{"count":9,"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/posts\/4780\/revisions"}],"predecessor-version":[{"id":4792,"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/posts\/4780\/revisions\/4792"}],"wp:attachment":[{"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/media?parent=4780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/categories?post=4780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vielhuber.de\/jv\/wp-json\/wp\/v2\/tags?post=4780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}