CMS/Wiki.js
Wiki.js ist eine moderne, quelloffene Wiki-Software, die auf Node.js basiert. Sie bietet eine benutzerfreundliche Oberfläche, unterstützt verschiedene Authentifizierungsmethoden und ermöglicht die Verwaltung von Inhalten über ein flexibles Rechtesystem.
Postgres-Datenbank erstellen
sudo -u postgres -i
createdb -E UTF8 -O thorsten wikijs
psql -d wikijs -c "GRANT ALL PRIVILEGES ON DATABASE wikijs TO thorsten"
exit
Wiki.js installieren
Herunterladen
Lade die neueste Version von Wiki.js von der offiziellen Website herunter:
sudo apt-get install nodejs # sonst läuft Wiki.js nicht
mkdir /wikijsdownload
cd /wikijsdownload
wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
mkdir /var/www/wikijs/
sudo chown -R www-data:www-data /var/www/wikijs
tar xzf wiki-js.tar.gz -C /var/www/wikijs/
cd /var/www/wikijs/
mv config.sample.yml config.yml
nano config.yml
node server
Als Dienst ausführen
Es gibt verschiedene Möglichkeiten, Wiki.js als Hintergrunddienst auszuführen. In dieser Anleitung konzentrieren wir uns auf systemd, da es in nahezu allen Linux-Distributionen verfügbar ist.
Systemd-Service erstellen
Erstelle eine neue Datei mit dem Namen wiki.service im Verzeichnis /etc/systemd/system:
sudo nano /etc/systemd/system/wiki.service
Füge folgenden Inhalt ein (passe ggf. die Pfade und den Benutzer an):
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# Es wird empfohlen, einen eigenen Benutzer für Wiki.js anzulegen:
User=www-data
Environment=NODE_ENV=production
WorkingDirectory=/var/www/wikijs/
[Install]
WantedBy=multi-user.target
Speichere die Datei und lade systemd neu:
sudo systemctl daemon-reload
sudo systemctl enable wiki
sudo systemctl start wiki
Mit sudo systemctl status wiki kannst du den Status des Dienstes überprüfen.
Backup erstellen
pg_dump -U thorsten -h localhost wikijs > wikijs_backup.sql
scp wikijs_backup.sql thorsten@localhost:/home/thorsten/wikijs_backup.sql
Produktionsserver nginx einrichten
sudo -u postgres -i
createdb -E UTF8 -O thorsten wikijs
psql -d wikijs -c "GRANT ALL PRIVILEGES ON DATABASE wikijs TO thorsten"
exit
psql -U thorsten -h localhost -d wikijs -f wikijs_backup.sql
nano /etc/nginx/conf.d/wiki.conf
Gib Folgendes ein
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name wiki.ahrensburg.city;
ssl_certificate /etc/letsencrypt/live/ahrensburg.city/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ahrensburg.city/privkey.pem;
location / {
proxy_pass http://localhost:3000;
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_set_header X-Forwarded-Proto $scheme;
}
}