# ispconfig 3.1 und lets encrypt



## chris1 (28. Sep. 2016)

erstmal danke für 3.1  

eine Verständnisfrage zu Let's Encrypt, weil die Domain nicht verifiziert werden kann.
das Zertifikat wird angelegt mit
--webroot-path /usr/local/ispconfig/interface/acme
dort wird dann auch der .well-known Ordner erzeugt.
Let's Encrypt sucht den Ordner zur Verfizierung aber unter www.domain.at/.well-known und findet nichts.
Auf anderen Servern ohne ispconfig verwende ich als webroot immer das tatsächliche root Verzeichnis der jeweiligen Domain.

Ihr habt das ja sicher nicht grundlos so gemacht, aber ich kappiers grade nicht


----------



## chris1 (28. Sep. 2016)

bin übrigens im file "server/plugins-available/apache2_plugin.inc.php"
ich sehe gerade, dass eine webroot variable angelegt wird, aber nie in Verwendung kommt.
$webroot = $data['new']['document_root']."/web";

$success = $this->_exec($letsencrypt . " certonly -n --text --agree-tos --expand --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path /usr/local/ispconfig/interface/acme");

vielleicht doch ein Bug und statt "/usr/local/ispconfig/interface/acme" sollte $webroot stehen?


----------



## Till (28. Sep. 2016)

Zitat von chris1:


> vielleicht doch ein Bug und statt "/usr/local/ispconfig/interface/acme" sollte $webroot stehen?


Nein, da ist kein Bug und letsencrypt funktioniert auch einwandfrei in ISPConfig 3.1. Du musst nur sicherstellen dass alle subdomains im DNS existieren und Du keine subdomains z.B. auf andere server umgeleitet hast so das letsencrypt sie nicht finden kann. das korrekte Verzeichnis ist /usr/local/ispconfig/interface/acme. Schau Dir mal die apache config an, .well-known in der website ist ein Alias für /usr/local/ispconfig/interface/acme/.


----------



## chris1 (28. Sep. 2016)

Zitat von Till:


> .well-known in der website ist ein Alias für /usr/local/ispconfig/interface/acme/.


ahh ok. wo sollte das definiert sein? allgemein irgendwo oder in den jeweiligen vhost files?
wird das beim upgrade gesetzt? habe nämlich reconfigure services mit nein beantwortet


----------



## Till (28. Sep. 2016)

Zitat von chris1:


> ahh ok. wo sollte das definiert sein? allgemein irgendwo oder in den jeweiligen vhost files?
> wird das beim upgrade gesetzt? habe nämlich reconfigure services mit nein beantwortet


Ein major update ohne reconfigure services ist eine schlechte Idee, da werden einige Sachen nicht funktionieren.

Der Alis für letsencrypt steht in der apache ispconfig.conf Datei.


----------



## chris1 (28. Sep. 2016)

ich mache das ungern weil es mir dann immer das system komplett zerschießt, bin auf gentoo unterwegs 
habe die services neu konfiguriert, Alias ist jetzt auch da.
die dovecot config dürfte leider komplett "broken" sein, da geht dann erstmal garnichts mehr. Bspw bleibt in der dovecot-sql.conf {server_id} stehen und wird nicht ersetzt.

Weiters wird die Datei
/etc/apache2/vhosts.d/apps.vhost angelegt
zusätzlich aber noch ein symlink
000-apps.vhost -> /etc/apache2/vhosts.d/ispconfig_vhosts/apps.vhost
somit kommt die apps.vhost 2x vor und lässt apache nicht mehr starten.

danke auf jedenfall für die "Alias" Aufklärung


----------



## Till (28. Sep. 2016)

Ok, gentoo ist so eine Sache, das wird nicht offiziell untersttzt und auch nicht durch uns getestet.


----------



## speedy8 (1. Okt. 2016)

Hallo, kann ich mich hier einmal einklinken?!
Ich habe mir gestern auch die Version 3.1 installiert ... hatte mich schon darauf gefreut, da doch "let's encrypt" mit unterstützt wird. Ich habe mir das Manual zur 3.1 runtergeladen ... und entsprechend der Anleitung das letsEncrypt installiert. Ich habe laut Anleitung an der Stelle angehalten, wo im LetsEncrypt-Installscript gefragt wird, für welche der vorhandenen Domains ein Zertifikat erstellt werden soll, da die Zertifikat-Erstellung via ISPConfig ausgelöst werden soll.
Danach habe ich dann in ISPConfig die "Kundenvorlage" angepasst und "SSL" sowie "Let's Encrypt" aktiviert, dann habe ich das ganze auch noch im Nutzer-Profil vorgenommen. Genau jetzt stellt sich mir aber die Frage, wie ich das SSL-Zertifikat von LetsEncrypt erstellen lassen kann?! Ich habe mir dann unter "Webseiten" die Domain aufgerufen, den Haken bei LetsEncrypt gesetzt und gespeichert. Und nun??! Wo kann ich das SSL-Zertifikat einsehen? Kann ich dieses auch für die Email-Verschlüsselung nutzen?! Da finde ich leider keine so rechte Aussage im Manual. Wäre schön, wenn ihr mir dazu etwas genauer ausführen könnten. Oder gibt es Serverseitig besondere Anforderungen an LetsEncrypt? Ich habe einen VServer, die Domains werden durch den DNS des Hosters auf meine IP geleitet. Bräuchte ich für jede Domain eine eigene IP?

Vielen Dank für eine erhellende Antwort. Viele Grüße von Alexander


----------



## Till (1. Okt. 2016)

Einfach nur in die Webseiten einstellungen gehen und den Haken bei letsencrypt und ssl setzen, das ist alles. Natürlich müssen die domain und alle sub / alias domains der webseite im dns auf den server verweisen, sonst schlägt die zertifikatsgenerierung fehl. das erstellte Letsencrypt Zertifikat ist nur für die webseite.


----------



## speedy8 (2. Okt. 2016)

Hallo Till,
danke für die Anleitung ... aber so habe ich es gemacht. Komisch ist nur, dass jedesmal, wenn ich die Webseiten-Einstellung nach erfolgreichem Speichern erneut öffne, bei LetsEncrypt und SSL kein Haken mehr vorhanden ist. In welchen LogFiles könnte ich denn auf die Suche gehen, woran es hapert?
Die Domains werden vom DNS korrekt auf meinen VServer geleitet, da sie ja auch schon jetzt ohne SSL korrekt funktionieren! 
Und wenn denn das Zertifikat einmal ordentlich erstellt worden sein sollte, wird der Browseraufruf "http://www.example.de" automatisch auf "https://www.example.de" weitergeleitet? 
Schon einmal vielen Dank.
Mfg


----------



## Till (2. Okt. 2016)

Zitat von speedy8:


> Einstellung nach erfolgreichem Speichern erneut öffne, bei LetsEncrypt und SSL kein Haken mehr vorhanden ist.


das bedeutetdass das ssl cert nicht erstellt werden konnte.

Welche apache version hast Du denn installiert?



Zitat von speedy8:


> Und wenn denn das Zertifikat einmal ordentlich erstellt worden sein sollte, wird der Browseraufruf "http://www.example.de" automatisch auf "https://www.example.de" weitergeleitet?


Nein, Es gibt ja auch seiten die per http und https erreichbar sind. Wenn Du eine http zu https weiterleitung haben möchtest, dann kannst Du das mit einer apache bzw. nginx rewrite Regel machen.


----------



## speedy8 (2. Okt. 2016)

Hallo Till,

also ich nutze ein Debian7 mit den aktuellsten Paketen "apache 2.2.2" und "php 5.4.45".

Kann ich später irgendwo das von letsEncrypt erstellte SSL-Zertifikat sehen? Wird das im Reiter "SSL" abgelegt?
Mfg


----------



## Till (2. Okt. 2016)

Mach mal ein update auf git-stable, im template für apache 2.2 server fehlte ein zeilenumbruch. dann ändere was an derw ebseite und klick auf speichern, danach versuch nochmal letsencrypt tu aktivieren.

Das SSL cert wird komplett durch letsencrypt verwaltet und auch erneuert, daher bitte nichts auf dem ssl reiter ändern, sonst kann es sein dass letsencrypt für die seite nicht mehr geht.


----------



## speedy8 (2. Okt. 2016)

Hallo Till,
also ich habe nach dieser Anleitung von Dir das Stable eingespielt ... und es gibt noch immer keine Änderung: die Haken sind beim Wiederöffnen der Webseiten-Einstellungen verschwunden und ein "https://www.example.de" bringt mir eine Mozilla-Fehlerseite á la "Fehlercode: SSL_ERROR_RX_RECORD_TOO_LONG".

Wie kann ich hier dem Problem auf den Grund gehen?!
Vielen Dank.


----------



## speedy8 (2. Okt. 2016)

Hallo,
so, nach Neustart des apache, Cookie-Löschen in Firefox und entsprechendem Neuanmelden im IPSConfig scheint es jetzt zu klappen, die erste Domain läuft mit ssl-Verschlüsselung.

Mir fällt aber erst jetzt auf, dass ich via Git die "dev"-Version eingespielt habe.
Ich habe danach via

```
cd /tmp
wget -O ispconfig3.tar.gz "https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1"
tar xzf ispconfig3.tar.gz
cd ispconfig3-stable*/install
php update.php
```
noch einmal ein ISPConfig via git geupdatet, aber im Fenster-Titel steht noch immer "ISPConfig 3.1dev".

Kannst Du mir mal sagen, wie ich die "non-development"-Version lade!?! 

Danke.


----------



## speedy8 (3. Okt. 2016)

... ich habe zur Frage des Rückspielens der "nondevelopement-Version" eben noch einmal im Forum gesucht, und wenn ich es richtig gelesen habe, dann hat diese Dev-Version eine andere Datenbank-Struktur und ein Rückspielen würde daran scheitern!?!
Ich habe aber natürlich auf dem Server kontinuierliche Backups laufen, und das Verzeichnis "/usr/local/ispconfig" hätte ich im Backup vorhanden. Zusätzlich wurden beim Einspielen der updates ja automatisch Datenbank-Dumps erstellt ... und die Frage nach dem erneuten Setzen der Datenbank-Berechtigungen hatte ich es bei "no" belassen. 
Bekomme ich daher doch mein "ispconfig-3.1-NONdevelopement" wieder eingespielt?

Mfg


----------



## Till (4. Okt. 2016)

Lass das einfach so wie es ist und spiele dann die nächste stable (3.1.1) auf wenn sie raus kommt.


----------

