CMS/Wiki.js: Unterschied zwischen den Versionen

Aus Dokument
Zur Navigation springen Zur Suche springen
// via Wikitext Extension for VSCode
// via Wikitext Extension for VSCode
Zeile 4: Zeile 4:
'''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.
'''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 ==
== Postgres-Datenbank erstellen ==
<code>sudo -u postgres -i
<code>sudo -u postgres -i
createdb -E UTF8 -O thorsten wikijs
createdb -E UTF8 -O thorsten wikijs
psql -d wikijs -c "GRANT ALL PRIVILEGES ON DATABASE wikijs TO thorsten"
psql -d wikijs -c "GRANT ALL PRIVILEGES ON DATABASE wikijs TO thorsten"
exit</code>
exit</code>


== Wiki.js Installieren==
== Wiki.js installieren ==
===Herunterladen===
=== Herunterladen ===
Lade die neueste Version von Wiki.js von der offiziellen Website herunter:
Lade die neueste Version von Wiki.js von der offiziellen Website herunter:
<pre>
<pre>
sudo apt-get install nodejs  # sonst läuft Wiki.js nicht
mkdir /wikijsdownload
mkdir /wikijsdownload
cd /wikijsdownload
cd /wikijsdownload
Zeile 24: Zeile 25:
node server
node server
</pre>
</pre>
== Als Dienst ausführen ==
== 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.
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 ===
=== Systemd-Service erstellen ===


Erstelle eine neue Datei mit dem Namen <code>wiki.service</code> im Verzeichnis <code>/etc/systemd/system</code>:
Erstelle eine neue Datei mit dem Namen <code>wiki.service</code> im Verzeichnis <code>/etc/systemd/system</code>:
Zeile 47: Zeile 49:
ExecStart=/usr/bin/node server
ExecStart=/usr/bin/node server
Restart=always
Restart=always
# Consider creating a dedicated user for Wiki.js here:
# Es wird empfohlen, einen eigenen Benutzer für Wiki.js anzulegen:
User=nobody
User=nobody
Environment=NODE_ENV=production
Environment=NODE_ENV=production
WorkingDirectory=/wiki
WorkingDirectory=/wiki
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
Zeile 65: Zeile 66:


Mit <code>sudo systemctl status wiki</code> kannst du den Status des Dienstes überprüfen.
Mit <code>sudo systemctl status wiki</code> kannst du den Status des Dienstes überprüfen.
== Produktionsserver nginx einrichten ==
<pre>
nano /etc/nginx/conf.d/wiki.conf
</pre>
Gib Folgendes ein
<pre>
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 / {
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
        proxy_pass http://localhost:3001;
        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;
    }
}
</pre>


----
----
''Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).''
''Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).''

Version vom 17. Januar 2026, 13:53 Uhr

Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).


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 /wiki
tar xzf wiki-js.tar.gz -C /wiki
cd /wiki
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=nobody
Environment=NODE_ENV=production
WorkingDirectory=/wiki
[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.

Produktionsserver nginx einrichten

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 / {
     auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
        proxy_pass http://localhost:3001;
        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;
    }
}


Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).