Gollum ist eine auf Git basierende Wiki-Software, die GitHub Wiki als Backend verwendet. Diese kostenlose Open-Source-Software ist in Ruby geschrieben und verfügt über eine einfache Webschnittstelle zum Erstellen und Verwalten von Seiten über den Webbrowser. Gollum unterstützt eine Vielzahl von Formaten, darunter Markdown, AsciiDoc, ReStructuredText, Creole und MediaWiki-Markup.
In diesem Tutorial zeigen wir Ihnen, wie Sie Gollum mit Nginx als Reverse-Proxy unter Debian 10 installieren.
Voraussetzungen
- Ein frischer Debian 10 Virtual Private Server auf der Atlantic.net Cloud Platform
- Ein gültiger Domainname, der auf Ihre Server-IP verweist
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Debian 10 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Debian 10-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Erforderliche Abhängigkeiten installieren
Gollum ist in Ruby geschrieben, daher müssen Sie Ruby und andere Abhängigkeiten in Ihrem System installieren. Sie können alle mit dem folgenden Befehl installieren:
apt-get install ruby ruby-dev cmake libssl-dev pkg-config build-essential zlib1g-dev libicu-dev git - y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Schritt 3 – Installieren Sie Gollum
Führen Sie als Nächstes den folgenden Befehl aus, um Gollum mit anderen erforderlichen Paketen zu installieren:
gem install gollum org-ruby omnigollum github-markup omniauth-github
Installieren Sie als Nächstes die Markups vom Typ GitHub Flavored Markdown, Textile und MediaWiki mit dem folgenden Befehl:
gem install wikicloth gem install RedCloth gem install github-markdown
Nachdem Sie alle Pakete installiert haben, können Sie mit dem nächsten Schritt fortfahren.
Schritt 4 – Git-Repository einrichten
Als nächstes müssen Sie ein Git-Repository für Gollum einrichten. Konfigurieren Sie zunächst den Git-Benutzernamen und die E-Mail-Adresse mit dem folgenden Befehl:
git config --global user.name "Gollum Admin" git config --global user.email "[email protected]"
Erstellen Sie als Nächstes einen Verzeichnisnamen mywiki und initialisieren Sie ihn mit dem folgenden Befehl:
mkdir mywiki cd mywiki git init .
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Schritt 5 – Gollum konfigurieren
Als nächstes müssen Sie ein Gollum-Konfigurationsverzeichnis in Ihrem System erstellen. Sie können es mit dem folgenden Befehl erstellen:
mkdir /etc/gollum/
Erstellen Sie als Nächstes eine Gollum-Konfigurationsdatei mit dem folgenden Befehl:
nano /etc/gollum/config.rb
Fügen Sie die folgenden Zeilen hinzu:
=begin This file can be used to (e.g.): - alter certain inner parts of Gollum, - extend it with your stuff. It is especially useful for customizing supported formats/markups. For more information and examples: - https://github.com/gollum/gollum#config-file =end
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Schritt 6 – Erstellen Sie eine Systemd-Dienstdatei für Gollum
Als Nächstes müssen Sie eine Gollum-Systemdienstdatei erstellen, um den Gollum-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/gollum.service
Fügen Sie die folgenden Zeilen hinzu:
[Unit] Description=Gollum wiki server After=network.target After=syslog.target [Service] Type=simple User=root Group=root WorkingDirectory=/root/mywiki/ ExecStart=/usr/local/bin/gollum --config "/etc/gollum/config.rb" Restart=on-abort [Install] WantedBy=multi-user.target
Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Starten Sie als Nächstes den Gollum-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl start gollum systemctl enable gollum
Sie können den Status des Gollum-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status gollum
Sie sollten die folgende Ausgabe erhalten:
gollum.service - Gollum wiki server Loaded: loaded (/etc/systemd/system/gollum.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-10-10 15:28:00 UTC; 3s ago Main PID: 23069 (gollum) Tasks: 2 (limit: 4701) Memory: 61.8M CGroup: /system.slice/gollum.service └─23069 /usr/bin/ruby2.5 /usr/local/bin/gollum --config /etc/gollum/config.rb Oct 10 15:28:00 debian10 systemd[1]: Started Gollum wiki server.
An diesem Punkt wird Gollum gestartet und lauscht auf Port 4567. Sie können dies mit dem folgenden Befehl überprüfen:
ss -tunelp | grep 4567
Sie sollten die folgende Ausgabe erhalten:
tcp LISTEN 0 128 0.0.0.0:4567 0.0.0.0:* users:(("gollum",pid=23069,fd=7)) ino:41646 sk:9 <->
Schritt 7 – Nginx für Gollum konfigurieren
Als Nächstes müssen Sie Nginx als Reverse-Proxy installieren und konfigurieren, um über Port 80 auf Gollum zuzugreifen. Installieren Sie zuerst den Nginx-Webserver, indem Sie den folgenden Befehl ausführen:
apt-get install nginx -y
Erstellen Sie nach der Installation eine neue Konfigurationsdatei für den virtuellen Nginx-Host mit dem folgenden Befehl:
nano /etc/nginx/conf.d/gollum.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80; server_name gollum.example.com; location / { proxy_pass http://127.0.0.1:4567; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 4 32k; client_max_body_size 500m; client_body_buffer_size 128k; } access_log /var/log/nginx/gollum-access.log; error_log /var/log/nginx/gollum-error.log; }
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:
.
Wenn Sie Fehler erhalten, müssen Sie die Konfigurationsdatei des Nginx-Standardservers bearbeiten und server_names_hash_bucket_size:
festlegennano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile unter http {:
hinzuserver_names_hash_bucket_size 64;
Speichern und schließen Sie die Datei und starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Schritt 8 – Greifen Sie auf die Web-Benutzeroberfläche von Gollum zu
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://gollum.example.com ein. Sie sollten das Gollum-Dashboard auf dem folgenden Bildschirm sehen:
Erstellen Sie nun Ihre erste Seite, indem Sie einige Inhalte hinzufügen, und klicken Sie auf Speichern Taste. Sie sollten Ihre Startseite auf dem folgenden Bildschirm sehen:
Schlussfolgerung
In der obigen Anleitung haben Sie gelernt, wie Sie das Gollum-Wiki mit Nginx als Reverse-Proxy auf Debian 10 installieren. Sie können jetzt ganz einfach Wikis im GitHub-Stil mit Gollum bereitstellen. Testen Sie Gollum noch heute auf VPS-Hosting von Atlantic.Net!