CMS/Wiki.js: Unterschied zwischen den Versionen

Aus Dokument
Zur Navigation springen Zur Suche springen
// via Wikitext Extension for VSCode
imported>Import
Version 145
Zeile 5: Zeile 5:


== Postgres-Datenbank erstellen ==
== Postgres-Datenbank erstellen ==
<pre>
 
sudo -u postgres -i
<pre>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 &quot;GRANT ALL PRIVILEGES ON DATABASE wikijs TO thorsten&quot;
exit
exit</pre>
</pre>
== 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>
 
sudo apt-get install nodejs  # sonst läuft Wiki.js nicht
<pre>sudo apt-get install nodejs  # sonst läuft Wiki.js nicht
mkdir /wikijsdownload
mkdir /wikijsdownload
cd /wikijsdownload
cd /wikijsdownload
Zeile 26: Zeile 26:
mv config.sample.yml config.yml
mv config.sample.yml config.yml
nano config.yml
nano config.yml
node server
node server</pre>
</pre>
 
== Als Dienst ausführen ==
== Als Dienst ausführen ==


Zeile 37: Zeile 35:
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>:


<pre>
<pre>sudo nano /etc/systemd/system/wiki.service</pre>
sudo nano /etc/systemd/system/wiki.service
</pre>
 
Füge folgenden Inhalt ein (passe ggf. die Pfade und den Benutzer an):
Füge folgenden Inhalt ein (passe ggf. die Pfade und den Benutzer an):


<pre>
<pre>[Unit]
[Unit]
Description=Wiki.js
Description=Wiki.js
After=network.target
After=network.target
Zeile 57: Zeile 51:
WorkingDirectory=/var/www/wikijs/
WorkingDirectory=/var/www/wikijs/
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target</pre>
</pre>
 
Speichere die Datei und lade systemd neu:
Speichere die Datei und lade systemd neu:


<pre>
<pre>sudo systemctl daemon-reload
sudo systemctl daemon-reload
sudo systemctl enable wiki
sudo systemctl enable wiki
sudo systemctl start wiki
sudo systemctl start wiki</pre>
</pre>
 
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.


Backup erstellen
Backup erstellen
<pre>
pg_dump -U thorsten -h localhost wikijs > wikijs_backup.sql
scp wikijs_backup.sql thorsten@localhost:/home/thorsten/wikijs_backup.sql
</pre>


<pre>pg_dump -U thorsten -h localhost wikijs &gt; wikijs_backup.sql
scp wikijs_backup.sql thorsten@localhost:/home/thorsten/wikijs_backup.sql</pre>
== Produktionsserver nginx einrichten ==


== Produktionsserver nginx einrichten ==
<pre>sudo -u postgres -i
<pre>
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 &quot;GRANT ALL PRIVILEGES ON DATABASE wikijs TO thorsten&quot;
exit
exit
psql -U thorsten -h localhost -d wikijs -f wikijs_backup.sql
psql -U thorsten -h localhost -d wikijs -f wikijs_backup.sql</pre>
</pre>
</pre>
<pre>
nano /etc/nginx/conf.d/wiki.conf
</pre>
</pre>
<pre>nano /etc/nginx/conf.d/wiki.conf</pre>
Gib Folgendes ein


Gib Folgendes ein
<pre>server {
 
<pre>
server {
listen 443 ssl http2;
listen 443 ssl http2;
listen [::]:443 ssl http2;
listen [::]:443 ssl http2;
Zeile 102: Zeile 82:


     location / {
     location / {
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
         proxy_pass http://localhost:3000;
         proxy_pass http://localhost:3000;
         proxy_set_header Host $host;
         proxy_set_header Host $host;
Zeile 110: Zeile 89:
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_set_header X-Forwarded-Proto $scheme;
     }
     }
}
}</pre>
 
</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 29. Januar 2026, 13:48 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 /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;
    }
}

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