So installieren Sie Wiki.js unter Ubuntu 18.04

Wiki.js ist eine kostenlose und moderne Open-Source-Wiki-App, die auf Node.js , Git und Markdown basiert . Der Quellcode von Wiki.j wird öffentlich auf Github gehostet . Diese Anleitung zeigt Ihnen, wie Sie Wiki.js auf einer neuen Ubuntu 18.04 LTS Vultr-Instanz mit Node.js, MongoDB, PM2, Nginx, Git und Acme.sh installieren.

Bedarf

Folgende Voraussetzungen sind erforderlich, um Wiki.js auszuführen und dieses Handbuch zu beenden:

  • Node.js Version 6.9.0 oder höher
  • MongoDB Version 3.2 oder höher
  • Nginx
  • Git Version 2.7.4 oder höher
  • Mindestens 768 MB RAM
  • Domainname mit A/ AAAADatensätzen eingerichtet

Überprüfen Sie die Ubuntu-Version.

lsb_release -ds
# Ubuntu 18.04.4 LTS

Erstellen Sie ein neues non-rootBenutzerkonto mit sudoZugriff und wechseln Sie zu diesem.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

HINWEIS : Ersetzen Sie johndoedurch Ihren Benutzernamen.

Richten Sie die Zeitzone ein.

sudo dpkg-reconfigure tzdata

Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist.

sudo apt update && sudo apt upgrade -y

Installieren Sie die erforderlichen Pakete.

sudo apt install -y build-essential apt-transport-https

Installieren Sie Git

Git 2.7.4 ist auf der Ubuntu Server Edition vorinstalliert, sodass wir es nicht installieren müssen. Wenn Sie eine neuere Version installieren möchten, können Sie PPAs von Drittanbietern verwenden oder die neueste Version von Git aus dem Quellcode kompilieren.

Sie können die aktuell installierte Version von Git überprüfen, indem Sie Folgendes ausführen:

git --version
# git version 2.7.4

Wenn Sie eine neuere Version der Git-Software installieren möchten, können Sie Folgendes verwenden.

# Remove existing git package
sudo apt remove -y git
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
sudo apt update && sudo apt upgrade -y
sudo apt install -y git

Überprüfen Sie die Git-Version.

git --version
# git version 2.17.0

Installieren Sie Node.js.

Installieren Sie Node.js mithilfe des NodeSource APT-Repositorys für Node.js.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

Überprüfen Sie die Versionen Node.js und NPM.

node -v && npm -v
# v8.11.2
# 5.6.0

Installieren Sie MongoDB

Wir werden die offiziellen MongoDB-Repositories verwenden , die mit den neuesten Haupt- und Nebenversionen von MongoDB auf dem neuesten Stand gehalten werden.

Installieren Sie MongoDB Community Edition.

sudo apt install -y mongodb

Überprüfe die Version.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3

Installieren und konfigurieren Sie Nginx

Installieren Sie Nginx.

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Überprüfe die Version.

sudo nginx -v
# nginx version: nginx/1.15.0

Aktivieren und starten Sie Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Konfigurieren Sie Nginx als Reverse-Proxy für die Anwendung Wiki.js.

Führen Sie es aus sudo vim /etc/nginx/conf.d/wiki.js.confund füllen Sie es mit der folgenden grundlegenden Reverse-Proxy-Konfiguration.

server {

    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

Das einzige, was Sie in der obigen Konfiguration ändern müssen, ist die server_nameDirektive und möglicherweise die proxy_passDirektive, wenn Sie sich entscheiden, einen anderen Port als diesen zu konfigurieren 3000. Wiki.js verwendet 3000standardmäßig den Port .

Überprüfen Sie die Konfiguration.

sudo nginx -t

Laden Sie Nginx neu.

sudo systemctl reload nginx.service

Installieren Sie den Acme.sh-Client und erhalten Sie ein Let's Encrypt-Zertifikat (optional).

Das Sichern Ihres Wikis mit HTTPSist nicht erforderlich, sichert jedoch den Datenverkehr Ihrer Website. Acme.sh ist eine reine Unix-Shell-Software zum Abrufen von SSL-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.

Laden Sie Acme.sh herunter und installieren Sie es .

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Überprüfe die Version.

/etc/letsencrypt/acme.sh --version

Beziehen Sie RSA- und ECDSA-Zertifikate für wiki.example.comDomain / Hostname.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256 

Nachdem Sie die obigen Befehle ausgeführt haben, befinden sich Ihre Zertifikate und Schlüssel in:

  • Für RSA: das /etc/letsencrypt/wiki.example.comVerzeichnis.
  • Für ECC / ECDSA: das /etc/letsencrypt/wiki.example.com_eccVerzeichnis.

Nachdem wir Zertifikate von Let's Encrypt erhalten haben, müssen wir Nginx für die Verwendung konfigurieren.

Führen Sie es sudo vim /etc/nginx/conf.d/wiki.js.conferneut aus und konfigurieren Sie Nginx als HTTPSReverse-Proxy.

server {

    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    # RSA
    ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

Überprüfen Sie die Konfiguration.

sudo nginx -t

Laden Sie Nginx neu.

sudo systemctl reload nginx.service

Installieren Sie Wiki.js

Erstellen Sie einen leeren Dokumentstammordner, in dem Wiki.js installiert werden soll.

sudo mkdir -p /var/www/wiki.example.com

Navigieren Sie zum Dokumentstammordner.

cd /var/www/wiki.example.com

Ändern Sie den Eigentümer des /var/www/wiki.example.comOrdners in den Benutzer johndoe.

sudo chown -R johndoe:johndoe /var/www/wiki.example.com

/var/www/wiki.example.comFühren Sie im Ordner den folgenden Befehl aus, um Wiki.js herunterzuladen und zu installieren.

curl -sSo- https://wiki.js.org/install.sh | bash

Um die aktuell installierte Version von Wiki.js anzuzeigen, können Sie den folgenden Befehl ausführen.

node wiki --version
# 1.0.78

Nach Abschluss der Installation werden Sie aufgefordert, den Konfigurationsassistenten auszuführen.

Starten Sie den Konfigurationsassistenten.

node wiki configure

Dadurch werden Sie benachrichtigt, dass Sie http://localhost:3000zur Konfiguration von Wiki.js navigieren müssen. Wenn Sie Nginx vor Wiki.js haben, können Sie Ihren Domain-Namen (z. B. http://wiki.example.com) öffnen, anstatt zu gehen localhost.

Navigieren Sie mit Ihrem Webbrowser zu http://wiki.example.comden Anweisungen auf dem Bildschirm und befolgen Sie diese. Alle während des Konfigurationsassistenten eingegebenen Einstellungen werden in der config.ymlDatei gespeichert. Der Konfigurationsassistent startet automatisch Wiki.js für Sie.

Installieren Sie PM2

Standardmäßig wird Wiki.js nach einem Systemneustart nicht automatisch gestartet. Damit es beim Booten startet, müssen wir PM2 einrichten. PM2 wird mit Wiki.js als lokales NPM-Modul geliefert, sodass wir PM2 nicht global installieren müssen.

Weisen Sie PM2 an, sich selbst als Startdienst zu konfigurieren.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup

Speichern Sie abschließend die aktuelle PM2-Konfiguration.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Wiki.js wird als Hintergrundprozess ausgeführt und verwendet PM2 als Prozessmanager.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.