≡ Menu

[:de]WordPress Multisite mit Domain-Mapping auf Plesk Server mit Letsencrypt SSL versorgen[:en]WordPress Multisite with Domain-Mapping on Plesk Server: make everything https[:]

[:de]Die Aufgabenstellung: Auf einerWP Multisite Installation mit Domain-Mapping (d.h. alle Domains haben eigene TLD), die auf einem Plesk 12.5 Server luft soll fr jede Site ein SSL von Letsencrypt installiert werden.

Auf den ersten Blick einfach: SAN Zertifikat holen, das alle Domains beinhaltet und auf der Hauptseite installieren. Und nicht vergessen, das SAN Zertifikat muss sptestens alle 3 Monate wieder manuell erneuert werden. Das alles geht im Terminal mit den Command Line Tools, muss man sich aber erst anlesen und ist mir zu kompliziert gewesen… auch die Aussicht auf Wiederholung im 3-Monats Rhythmus passt mir nicht.

Einfacher gehts mit einem kleinen Umweg: Fr Plesk (ab 12.5) gibt es seit kurzem dietolle Letsencrypt-Extension, die allerdings noch keine SAN Zertifikate holen und installieren kann. Letsencrypt untersttzt darber hinaus auch keine Alias-Domains.
Daher muss man auf dem Plesk Server alle Domains fr die Multisite als eigeneDomain einrichten und dabei darauf achten, dass man als Speicherortdas bestehende Abo der WP-Hauptseite eintrgt und dass auch der Dokumentenstamm gleich lautet wie fr die Hauptseite (normalerweise /httpdocs).
Plesk meckert beim Anlegen darber, dass die Logfiles nicht korrekt erstellt werden knnen – klar, die liegen ja alle im gleichen Verzeichnis, da gibts also Kollisionen.
Abgesehen davon ist die Domain aber funktionsfhig und zeigt auch auf unsere WP Multisite Installation.

Jetzt kann man fr jede Domain mit der Letsencrypt-Extension ein (kostenloses) SSL Zertifikat holen, das auch gleich automatisch installiert wird. Die Extension sorgt auch dafr, dass das Zertifikat jeden Monat automatisch erneuert wird. Kein manueller Eingriff mehr ntig.

Im WP muss man schliesslichnoch die ntigen Anpassungen (Site-url und Site-home) so vornehmen, dass die Seiten ber https:// laufen und auch htaccess sollte so angepasst werden, dass der Seitenzugriff automatisch auf https:// umgeleitet wird. In Google findet man die passenden Hinweise dafr.

Zu guter Letzt noch ein bisschen Speed-Tuning mit Plesk-Mitteln: im Seitenhosting kann mit ein paar Klicks nginx als Reverse Proxy aktiviert werden, damit werden Bilder, Skripte und Styles viel schneller geliefert. Die Aktivierung von CloudFlare fr jede Domain (auch nur ein Klick im Plesk) reduziert die Ladezeiten weiter und schtzt darberhinaus die Seiten vor DDoS-Angriffen. Das Ergebnis: bei einer Multisite mit 10 verschiedenen Domains liegen die Seiten-Ladezeiten (GTmetrix) jetzt bei 1 – 2 Sekunden und die Performance scores so um die 90, das auf einem „ganz normalen“ VPS, d.h. ohne Hardware-Overkill…

Das Tuning geht weiter, da liegt sicher noch mehr drin…[:en]The project: Every site in a WP multisite installation using domain-mapping (i.e. each domain has its own TLD), which is running on aPlesk 12.5 server should run in https using a Letsencrypt SSL cert.

At first glance an easy job: Get a SAN certificate, that covers all domains and install it in the main site. Then dont forget to renew the SAN cert every three months – a manual job, normally performed using terminal and CLI tools; means: learn Letsencrypt commands and was putting me off… also the prospect of having to repeat the same every three months.

There is an easier solution with a little detour: For Plesk (as of version 12.5) there is a new and very handyLetsencrypt-Extension, which at this time cannot yet get and install SAN certificates. In addition to that Letsencrypt does not support domain aliases.
Therefore you have to install each Multisite domain in Plesk as a fully active domain and make sure that as „Location of the websites files“ the subscription of the WP main site is selected. At the same time the document root should also point to the root for the WP main site (normally /httpdocs).
Plesk will nag about logfiles that it cannot create – there are collisions since it tries to create them all in the same folder.
Other than that the domain will work fine and it points to our WP multisite installation as intended.

Now you can use the Letsencrypt-Extension to get a (free of charge) SSL certificate for each domain; the Extension will also install the cert so that our domain can be reached via https now. Nice: the extension will also automagically renew the certificate each month. No manual repeat process required.

Finally you have to adjust some settings in WP for https access (Site-url and Site-home)and alsohtaccess should be setup so that every client access to the page will be re-directed (301) to https. A quick Google search will bring that up. Copy – paste – done.

To wrap the whole thing up, we are now applying a little speed-tuning using Plesk on-board tools: in the domain hosting a few clicks will activate nginx as reverse proxy, so that images, scripts and styles are delivered muuuch faster. Another click for activation of CloudFlare’s CDN for each domain further reduces loading times and will also protect your site against DDoS and more malicious attempts.
The result: for a WP multisite with 10 different domains the page load time in GTmetrix is now around 1 – 2 seconds and performance scores around 90 for a „quite regular“ VPS, i.e. without any hardware overkill…

Further tweaking ahead…[:]

{ 0 comments… add one }

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

>