So installieren Sie Wiki.js unter Debian 9

Wiki.js ist eine kostenlose und Open Source moderne Wiki-App, die auf Node.js, MongoDB, 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 Debian 9 Vultr-Instanz mithilfe von Node.js, MongoDB, PM2, Nginx, Git und Acme.sh installieren.

Bedarf

  • Node.js 6.9.0 oder höher
  • MongoDB 3.2 oder höher
  • Nginx
  • Git 2.7.4 oder höher
  • Ein Git-kompatibles Repository (öffentlich oder privat) ( optional )
  • Minimum von 768MB RAM
  • Domainname mit A/ AAAADatensätzen eingerichtet

Überprüfen Sie die Debian-Version.

lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)

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

apt update && apt upgrade -y

Installieren Sie die erforderlichen Pakete.

apt install -y build-essential apt-transport-https sudo curl wget dirmngr sudo

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

Installieren Sie Git

Installieren Sie Git auf Debian.

sudo apt install -y git

Überprüfen Sie die Git-Version.

git --version
# git version 2.11.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

Wiki.js verwendet MongoDB als Datenbankmodul. Demnach müssen wir MongoDB auf unserem Server installieren. Wir werden die offiziellen MongoDB-Repositorys für die Installation verwenden.

Installieren Sie MongoDB Community Edition.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt update
sudo apt install -y mongodb-org

Überprüfe die Version.

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

Aktivieren und starten Sie MongoDB.

sudo systemctl enable mongod.service
sudo systemctl start mongod.service

Installieren und konfigurieren Sie Nginx

Es wird dringend empfohlen, einen Standard-Webserver vor Wiki.js zu platzieren. Dies stellt sicher, dass Sie Funktionen wie SSL, mehrere Websites, Caching und mehr verwenden können. Wir werden Nginx in diesem Tutorial verwenden, aber jeder andere Server wird es tun, Sie müssen es nur richtig konfigurieren.

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/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(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 HTTPoder HTTPS(wenn Sie SSL verwenden) Reverse-Proxy für die Wiki.js-Anwendung.

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 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 Acme.sh und erhalten Sie ein Let's Encrypt-Zertifikat (optional).

Das Sichern Ihres Wikis mit HTTPSist nicht erforderlich, es wird jedoch empfohlen, den Datenverkehr auf Ihrer Website zu sichern. Um ein SSL-Zertifikat von Let's Encrypt zu erhalten, verwenden wir den Acme.sh-Client. Acme.sh ist eine reine Unix-Shell-Software zum Abrufen von SSL-Zertifikaten von Let's Encrypt ohne Abhängigkeiten. Dies macht es im Vergleich zu einigen anderen ACME-Protokoll-Clients, die viele Abhängigkeiten erfordern, um erfolgreich ausgeführt zu werden, sehr leicht.

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
# v2.7.9

Erhalten Sie RSA- und ECDSA-Zertifikate für wiki.example.com.

# 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 

HINWEIS : Vergessen Sie nicht, durch wiki.example.comIhren Domainnamen zu ersetzen .

Nachdem Sie die obigen Befehle ausgeführt haben, befinden sich Ihre Zertifikate und Schlüssel in den folgenden Verzeichnissen.

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

Nachdem wir Zertifikate von Let's Encrypt erhalten haben, müssen wir Nginx konfigurieren, um sie nutzen zu können.

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/example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/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 Besitz des /var/www/wiki.example.comOrdners in 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

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

node wiki --version
# 1.0.78

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

Starten Sie den Konfigurationsassistenten durch Ausführen.

node wiki configure

Dadurch werden Sie benachrichtigt, zu navigieren, http://localhost:3000um Wiki.js zu konfigurieren. Wenn Sie Nginx vor Wiki.js haben, bedeutet dies, dass Sie Ihren Domain-Namen (z. B. http://wiki.example.com) öffnen können, 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.

Richten Sie PM2 ein

Standardmäßig wird Wiki.js nach einem Systemneustart nicht automatisch gestartet. Damit es beim Booten gestartet werden kann, müssen wir den PM2-Prozessmanager 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

Ihre Wiki.js-Instanz wird als Hintergrundprozess ausgeführt und verwendet PM2 als Prozessmanager. Sie können Ihr Betriebssystem mit sudo rebootneu starten und prüfen, ob Wiki.js nach einem Neustart gestartet wird.



Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern

Installieren und Verwenden von Yunohost unter Debian 7 x64

Installieren und Verwenden von Yunohost unter Debian 7 x64

Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein

Chroot auf Debian einrichten

Chroot auf Debian einrichten

In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, bu

So installieren Sie PiVPN unter Debian

So installieren Sie PiVPN unter Debian

Einführung Eine einfache Möglichkeit, einen VPN-Server unter Debian einzurichten, ist PiVPN. PiVPN ist ein Installationsprogramm und ein Wrapper für OpenVPN. Es werden einfache Befehle für Sie erstellt

Richten Sie Cacti auf Debian Jessie ein

Richten Sie Cacti auf Debian Jessie ein

Einführung Cacti ist ein Open-Source-Überwachungs- und Grafiktool, das vollständig auf RRD-Daten basiert. Mit Cacti können Sie nahezu jede Art von Gerät überwachen

Einrichten von Teamspeak 3 auf Debian Wheezy

Einrichten von Teamspeak 3 auf Debian Wheezy

Dieser Artikel zeigt Ihnen, wie Sie einen Teamspeak 3-Server unter Debian Wheezy ausführen. Bevor Sie damit beginnen können, sollten Sie einige Vorbereitungen für Ihr VPS treffen. ich

Verwenden von MySQL Views unter Debian 7

Verwenden von MySQL Views unter Debian 7

Einführung MySQL verfügt über eine großartige Funktion, die als Ansichten bezeichnet wird. Ansichten sind gespeicherte Abfragen. Stellen Sie sich diese als Alias ​​für eine ansonsten lange Abfrage vor. In diesem Handbuch

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

ModSecurity ist ein WAF-Modul (Open Source Web Application Firewall), mit dem Apache, Nginx und IIS vor verschiedenen Cyberangriffen geschützt werden können

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Hiawatha ist ein Webserver, der Einfachheit, Benutzerfreundlichkeit und Sicherheit im Auge hat. Es ist die perfekte Lösung für kleinere Server, ältere Hardware oder Embedde

Installieren Sie Lynis auf Debian 8

Installieren Sie Lynis auf Debian 8

Einführung Lynis ist ein kostenloses Open-Source-Tool zur Systemprüfung, das von vielen Systemadministratoren verwendet wird, um die Integrität zu überprüfen und ihre Systeme zu härten. ich

Überwachen Sie den Debian-Serverstatus mit Munin

Überwachen Sie den Debian-Serverstatus mit Munin

Munin ist ein Überwachungstool zur Überwachung von Prozessen und Ressourcen in Ihrer Maschine und präsentiert die Informationen in Diagrammen über eine Weboberfläche. Verwenden Sie die folgenden

So installieren Sie das NodeBB-Forum unter Debian 9

So installieren Sie das NodeBB-Forum unter Debian 9

Verwenden Sie ein anderes System? NodeBB ist ein Node.js-basiertes Forum. Es verwendet Web-Sockets für sofortige Interaktionen und Echtzeitbenachrichtigungen. NodeBB-Quellcode i

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? BigTree CMS 4.2 ist ein schnelles und leichtes, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen mit umfangreichen Funktionen

So installieren Sie Koel unter Debian 9

So installieren Sie Koel unter Debian 9

Verwenden Sie ein anderes System? Koel ist eine einfache webbasierte persönliche Audio-Streaming-App, die auf der Clientseite in Vue und auf der Serverseite in Laravel geschrieben wurde. Koe

Sticky Session mit Docker Swarm (CE) auf Debian 9

Sticky Session mit Docker Swarm (CE) auf Debian 9

Verwenden Sie ein anderes System? Einführung Docker Swarm verwandelt Ihre einzelnen Server in einen Computercluster. Erleichterung der Skalierung, Hochverfügbarkeit an

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Hier bei Vultr haben wir die Option, IPv6 auf allen bereitstellbaren VPS zu aktivieren. Aber damit bevorzugen einige Programme und Befehle den einen oder anderen Witz

So installieren Sie Automad CMS unter Debian 9

So installieren Sie Automad CMS unter Debian 9

Verwenden Sie ein anderes System? Einführung Automad ist ein Open Source File-basiertes Content Management System (CMS) und eine in PHP geschriebene Template Engine. Automa

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

Verwenden Sie ein anderes System? Apache Cassandra ist ein kostenloses und Open-Source-NoSQL-Datenbankverwaltungssystem, das Skalierbarkeit bietet

So konfigurieren Sie Snort unter Debian

So konfigurieren Sie Snort unter Debian

Snort ist ein kostenloses Network Intrusion Detection System (IDS). In weniger offiziellen Begriffen können Sie Ihr Netzwerk in Echtzeit auf verdächtige Aktivitäten überwachen

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.