4Bibeln: Installation

Ein paar Hinweise zur Installation von 4Bibeln

Zuerst: Der Webserver

Das Programm 4Bibeln ist nur zusammen mit dem Webserver apache2 getestet. Die Version, für die das folgende gilt, ist apache 2.4. Das bedeutet nicht, dass es nicht auch mit nginx oder irgendeinem anderen Webserver funktioniert. Dafür gibt es an dieser Stelle bloß keine Anleitung, weil ich mich damit nie befasst habe.

Die weitere Vorgehensweise bezieht sich im folgenden immer auf ein Debian/GNU Linux oder Devuan/GNU Linux oder ein enstprechendes Derivat wie Linux Mint oder Ubuntu. Für andere Linux- oder BSD-Versionen müssen Sie vermutlich ganz anders vorgehen - aber damit habe ich keinerlei Erfahrung.

Der Webserver apache2 wird in allen Debian- oder Devuan-Derivaten folgendermaßen installiert (dabei gilt für alle folgenden Schritte, dass sie mit superuser- oder root-Rechten ausgeführt werden müssen:)

apt install apache2

Darüber hinaus benötigt 4Bibeln die Skriptsprache tcl, die gerade nicht so in Mode, aber dafür grundsolide ist:

apt install tcl

Damit sollte der Webserver bereits funktionieren. Sie testen das, indem Sie in einem Webbrowser http://IHRE.IP.ADRES.SE (z. B. http://172.172.90.90 - oder http://localhost, wenn der Webserver auf dem gleichen Rechner ist, an dem Sie den Webbrowser aufgerufen haben) eingeben. Dann erscheint bei Debian/Devuan eine Webseite mit der Überschrift It work's.

Der Webserver sollte dann so konfiguriert werden, dass er die tcl-Skripte von 4Bibeln ausführen kann. Das erreichen Sie mit dem Befehl:

a2enmod cgi.load

Danach muss der Webserver neu gestartet werden:

service apache2 restart*)

Für die meisten Webbrowser gelten unverschlüsselte Seiten aus dem Internet inzwischen als Sicherheitsrisiko. Für 4Bibeln wäre ein unverschlüsselter Datentransport kein Problem, weil ohnehin alle Daten öffentlichen Charakter haben. Trotzdem sollten Sie überlegen, ob Sie dem Webserver verschlüsselte Kommunikation mit Hilfe von ssl ermöglichen sollten. Das sind die Vorarbeiten:

a2enmod ssl | schaltet die apache2-Verschlüsselung grundsätzlich ein.

service apache2 restart*) | startet den apache2-Webserver neu.

Wenn Sie eine eigene Domain besitzen und 4Bibeln auf einem virtuellen Hostserver installieren, auf dem Sie als root Zugang über das ssh-Protokoll haben, können Sie sich ein kostenloses Zertifikat von Let's Encrypt beschaffen. Dazu installieren Sie zwei Programme:

apt install certbot python3-certbot-apache

Anschließend führen Sie folgenden Befehl aus:

certbot apache

Sie werden nach Ihrer Mailadresse und nach dem Domainnamen und weiteren Details gefragt. Danach sollten Sie bereits ein funktionierendes höchst offizielles Zertifikat besitzen und verschlüsselt ohne Gemecker Ihres Browsers ansteuern können. Allerdings läuft das Zertifikat nach einer Weile aus und muss dann erneuert werden. Damit Sie das nicht selbst in die Hand nehmen müssen, können Sie folgenden Befehl benutzen:

certbot renew --dry-run

Das sorgt dafür, dass der Befehl zum Erneuern Ihres Zertifikats an cron übergeben wird - ein Programm, das automatisch für diese Erneuerung sorgen wird.

Das alles funktioniert nur, wenn Sie eine eigene Domain besitzen. Wenn Sie 4Bibeln "nur" irgendwo im Netz ohne Domainnamen installieren möchten, müssen Sie die Zertifizierung selbst vornehmen. Das ist bereits vorbereitet und kein Hexenwerk. Allerdings wird ein selbst signiertes Zertifikat von Ihrem Browser immer weniger ernst genommen als ein offizielles, und Sie müssen Ihrem Browser unter Umständen einmal ganz deutlich mitteilen, dass Sie Ihr Zertifikat für vertrauenswürdig halten. Aber ohne Domain haben Sie meines Wissens keine andere Wahl.

Wie Sie sich ein selbst signiertes Zertifikat beschaffen, funktioniert so:

Zuerst erstellen Sie ein neues Verzeichnis im apache2-Konfigurationsordner:

mkdir /etc/apache2/ssl

Danach stellen Sie sich Ihr eigenen Zertifikat aus und verschieben es in das eben angelegte Verzeichnis:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Dabei ist zu beachten, dass der ganze mit openssl anfangende Befehl in einer Zeile steht. Sie werden nach Eingabe dieses Befehls nach ein paar Angaben zu sich gefragt, die im zweiten Teil eher auf Firmen zugeschnitten sind - machen Sie die Angaben so, wie Sie Ihnen sinnvoll erscheinen. Sollte das nicht funktionieren, ist eventuell openssl nicht auf Ihrem System installiert - holen Sie es nach mit apt install openssl und probieren Sie es noch einmal.

Jetzt haben Sie im Verzeichnis /etc/apache2/ssl Ihr eben erstelltes Zertifikat. Das müssen Sie Ihrem apache2-Webserver nur noch bekannt machen. Dazu müssen Sie die Datei /etc/apache2/sites-available/default-ssl.conf editieren. Am einfachsten geht das mit Hilfe des Midnight Commanders, den Sie mit dem Befehl apt install mc installieren können, falls er noch nicht installiert ist. Suchen Sie dort die angegebene Datei und drücken dann die Taste F4. Falls Sie jetzt gefragt werden, welchen Editor Sie verwenden möchten, geben Sie die Ziffer ein, die vor mcedit steht.

In dieser Datei tragen Sie die folgenden beiden Zeilen hinter der Überschrift SSLEngineOn ein:

SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Achten Sie darauf, dass keine weiteren Zeilen enthalten sind, die mit SSLCertificateFile oder SSLCertificateKeyFile anfangen. Sollte es sie geben, löschen Sie sie oder kommentieren Sie sie mit einem # aus.

Jetzt muss die vorbereitete Konfiguration nur noch aktiviert werden ...

a2ensite default-ssl.conf

... und der apache2-Server neu gestartet werden:

service apache2 restart*)

*) Falls bei Ihnen der Befehl service apache2 restart grundsätzlich nicht funktionieren sollte, können Sie es auch mit dem Befehl /etc/init.d/apache2 restart probieren. Falls Sie allerdings ein ganz anders aufgebautes Linux verwenden, von dem Sie nicht wissen, wie ein Dienst neu gestartet wird, können Sie auch einen Neustart Ihres Rechners in Betracht ziehen.

Jetzt ist der Webserver einsatzbereit. Als nächstes müssen Sie nur noch die Dateien von 4Bibeln an die richtigen Orte bringen. Das sind drei Verzeichnisse:

/usr/lib/cgi-bin | das Verzeichnis der Skriptdateien von 4Bibeln
/usr/share/4bibeln | das verzeichnis mit den Bibeltexten und anderen Dateien
und
/var/www/html | das Verzeichnis für html-dateien ("DocumentRoot")
Das "DocumentRoot"-Verzeichnis kann, je nach Installation des apache2 Webservers, auch an anderer Stelle liegen. Wo es tatsächlich liegt, steht am Anfang der Datei default-ssl.conf (siehe weiter oben).

Wohin die Dateien aus dem Download von 4Bibeln gehören, erschließt sich demnach. Einzig die "DokumentRoot"-Dateien, die im Archiv unter /var/www/ stehen, müssen aller Wahrscheinlichkeit nach (s. o.) ins Verzeichnis /var/www/html.

Danach muss nur noch der html-Teil der Dateien ("DocumentRoot") öffentlich zugänglich gemacht werden:

chown -R www-data.www-data /var/www/html/

Anschließend erreichen Sie 4Bibeln unter http://IHRE.IP.ADRES.SE/4bibeln oder https://IHRE.IP.ADRES.SE/4bibeln in der Adresszeille Ihres Webbrowsers und noch einfacher, wenn Sie sich ein Lesezeichen anlegen.

Noch ein Hinweis: Das Download-Archiv ergänze ich nur in unregelmäßigen Abständen durch aktuelle Losungsdateien. Die müssten gegebenfalls nach der Installation nachträglich eingespielt werden.


Peter Handrich, per Mail zu erreichen über 4Bibeln@l4a.org