Mit ACME unter Linux lassen sich Zertifikate von der Initiative Let's encrypt signieren lassen. Die Zertifikate sind 3 Monate gültig, und haben eine eingebaute automatische Verlängerung implementieren. Gehen Sie dazu wie folgt vor:
Clonen Sie das Projekt von GitHub:
git clone https://github.com/Neilpang/acme.sh.git
Es wird ein Verzeichnis "acme.sh" erzeugt, mit dem Script "acme.sh". Dieses kopieren Sie als User root auf den Server, z.B. nach /root.
apt-get install socat
Dann installieren Sie den cronjob zum Aktualisieren:
./acme.sh --install
Der Cronjob prüft jede Nacht um 0:44 Uhr, ob das Zertifikat abgelaufen ist, wenn nicht wird es erneuert. Danach müssen Sie die Shell neu öffnen, und bei zerossl registrieren:
./acme.sh --register-account -m git@superx-cloud.de --server zerossl
Dann erzeugen Sie die Zertifikatsdateien, am Beispiel der Domain "superx-cloud.de" auf einem Ubuntu-Apache, d.h. documentRoot ist /var/www/html :
./acme.sh --issue -d superx-cloud.de -w /var/www/html
Voraussetzung ist das Apache auf Port 80 läuft und die Firewall auf Port 80 frei ist (iptables).
Dann installieren Sie die Dateien in den Apache, die Beispielverzeichnisse stammen aus der Ubuntu-Apache-Installation. Ggf. müssen Sie das Verzeichnis /etc/apache2/ssl noch erzeugen.
mkdir -p /etc/apache2/ssl
./acme.sh --install-cert -d superx-cloud.de --cert-file /etc/apache2/ssl/server.crt --key-file /etc/apache2/ssl/server.key --fullchain-file /etc/apache2/ssl.crt/server-ca.crt
SSL Aktivieren
a2enmod ssl
Apache ssl-virtual host ggf. aktivieren, unter Ubuntu:
a2ensite default-ssl.conf
Darin
ServerName superx-cloud.de SSLCertificateFile /etc/apache2/ssl/superx-cloud.de.crt SSLCertificateKeyFile /etc/apache2/ssl/superx-cloud.de.key SSLCertificateChainFile /etc/apache2/ssl/superx-cloud.de-fullchain.crt SSLCACertificateFile /etc/apache2/ssl/superx-cloud.de-intermediate.crt
Danach starten Sie Apache neu.