Wie man Wiki.js unter CentOS 7 installiert

Wiki.js ist eine moderne und leistungsfähige OpenSource-Wiki-Applikation, die auf Node.js, Git und Markdown basiert. Wiki.js läuft auf der flammend schnellen Node.js-Engine und ist optimiert, um CPU-Ressourcen zu sparen. Einige der erwähnenswerten Funktionen von Wiki.js sind:

  • Abschriftenbearbeitung, unterstützt durch Git
  • Leichtgewichtig, aber extrem leistungsstark
  • Wunderschönes Design für das moderne Web
  • Integrierte Zugangskontrolle
  • Intuitive Vermögensverwaltung
  • Eingebaute Suchmaschine

In diesem Tutorial führen wir Sie durch den Installationsprozess von Wiki.js Version 1 auf einem CentOS 7-Betriebssystem.durch die Verwendung von NGINX als Reverse-Proxy-Server, MongoDB als Datenbank-Server, PM2 als Prozess-Manager und optional können Sie die Transportschicht durch die Verwendung von Client und Let’s Encrypt-Zertifizierungsstelleacme.shsichern, um SSL-Unterstützung hinzuzufügen.

Anforderungen

Die folgenden Voraussetzungen müssen erfüllt sein, um Wiki.js auszuführen:

  • Node.js 6.11.1 bis 10.x ist erforderlich.
  • MongoDB Version 3.2 oder höher.
  • Git Version 2.7.4 oder höher.
  • Webserver-Software wie NGINX, Apache, Caddy, H2O…
  • Ein leeres Git-Repository (optional).
  • Mindestens 512 MB RAM. 1 GB RAM empfohlen.
  • Ungefähr 300MB Festplattenspeicher.
  • Domänenname mit eingerichteten A/AAAA-DNS-Einträgen.

Voraussetzungen

  • Ein CentOS 7 Betriebssystem.
  • Ein Nicht-Root-Benutzer mitsudoBerechtigungen.

Erste Schritte

Überprüfen Sie Ihre CentOS-Version:

cat /etc/centos-release

Richten Sie die Zeitzone ein:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:

sudo yum update -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des CentOS-Betriebssystems erforderlich sind:

sudo yum install -y curl wget vim unzip socat epel-release

Für Wiki.js müssen Sie Git Version 2.7.4 oder höher installieren. Die Standard-Git-Version unter CentOS ist zu alt, so dass Sie sie aus dem Quellcode bauen müssen. Hier sind die Befehle, um sie schnell zu kompilieren:

# Remove existing git package if installed:
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz && tar zxvf git-2.21.0.tar.gz
rm git-2.21.0.tar.gz
cd git-2.21.0
make configure
./configure make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
which git
git --version

Schritt 1- Installieren Sie Node.js und npm

Wiki.js baut auf Node.js auf. Wir werden die letzte empfohlene Version für Wiki.js installieren, die zum Zeitpunkt des Verfassens dieses Artikels Version 10 ist. Unter Linux haben Sie einige Node.js-Installationsoptionen: Linux-Binärdateien (x86/x64), Quellcode oder über Paketmanager. Wir werden eine Paketmanagement-Option verwenden, die die Installation und Aktualisierung von Node.js zum Kinderspiel macht.

Laden Sie die neueste empfohlene Version herunter und installieren Sie sie.von Node.js aus dem NodeSource-Repository:

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install -y nodejs 

HINWEISnpm wird mit Node.js verteilt – das bedeutet, dass Sie beim Herunterladen von Node.js automatisch npm auf Ihrem System installiert bekommen.

Prüfen Sie die Version von Node.js und npm:

node -v && npm -v
# v10.15.1
# 6.4.1

Npm ist ein von Node.js getrenntes Projekt und wird in der Regel häufiger aktualisiert. Folglich müssen Sie wahrscheinlich selbst dann, wenn Sie gerade Node.js (und damit npm) heruntergeladen haben, Ihr npm aktualisieren. Glücklicherweise weiß npm, wie man sich selbst aktualisiert! Um Ihre npm zu aktualisieren, geben Sie dies in Ihr Terminal ein:

sudo npm install -g [email protected]

Dieser Befehl aktualisiert npm auf die neueste stabile Version.

npm-Version erneut prüfen mit:

npm -v
# 6.8.0

Und es sollte die neueste Versionsnummer zurückgeben.

Schritt 2 – MongoDB-Datenbank installieren

Wiki.js benötigt eine Datenbank, um seine Daten zu speichern, und die aktuelle stabile Version von Wiki.js unterstützt nur die MongoDB Datenbank-Engine. Demzufolge müssen wir die MongoDB Datenbank installieren.

Erstellen Sie eine/etc/yum.repos.d/mongodb-org-4.0.repoDatei, so dass Sie MongoDB direkt mityum.

Laufen Sie:

sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo

Und füllen Sie die Datei mit der folgenden Konfiguration:

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Um die neueste stabile Version von MongoDB zu installieren, geben Sie folgenden Befehl ein:

sudo yum install -y mongodb-org

Prüfen Sie die MongoDB-Version:

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6

MongoDB-Dienst starten und aktivieren (so einstellen, dass er beim Neustart startet), falls nicht bereits gestartet und aktiviert:

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

Schritt 3 – Installieren Sie den acme.sh-Client und erhalten Sie das Let’s Encrypt-Zertifikat (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, um den Verkehr Ihrer Website zu sichern. Um ein SSL-Zertifikat von Let’s Encrypt zu erhalten, verwenden wiracme.shden Client. ist eine reine UNIX-Shell-SoftwareAcme.sh, um SSL-Zertifikate von Let’s Encrypt ohne Abhängigkeiten zu erhalten.

Herunterladen und installieren :

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Version prüfenacme.sh:

acme.sh --version
# v2.8.1

Erhalten Sie RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie Folgendes hinzufügen--stagingFlagge zu den oben genannten Befehlen.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie diese ausführen:

acme.sh --list

Erstellen Sie Ordner zum Speichern Ihrer Zertifikate. Wir werden es verwenden, aber/etc/letsencryptes kann alles sein, was Sie lieber für die Speicherung von SSL-Zertifikaten verwenden.

mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc

Installieren/Kopieren von Zertifikaten nach/etc/letsencryptVerzeichnis.

# RSA
acme.sh --install-cert -d example.com \ 
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

Nachdem Sie die oben genannten Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:

  • Für RSA: Verzeichnis /etc/letsencrypt/example.com.
  • Für ECC/ECDSA: Verzeichnis /etc/letsencrypt/example.com_ecc.

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren zum normalen sudo-Benutzer zurück:

exit

Schritt 4 – Installieren und Konfigurieren von NGINX

Wiki.js (oder jede andere HTTP-Knoten.js-Anwendung) kann ohne einen tatsächlichen Webserver (wie NGINX oder Apache) ausgeführt werden. Es wird jedoch dringend empfohlen, einen Standard-Webserver vor Wiki.js zu setzen. Dies stellt sicher, dass Sie Funktionen wie SSL, mehrere Websites, Caching usw. nutzen können. Wir werden in diesem Tutorial NGINX verwenden, aber jeder andere Server wird es tun, Sie müssen ihn nur richtig konfigurieren.

Laden Sie NGINX herunter und installieren Sie es:

sudo yum install -y nginx

Prüfen Sie die NGINX-Version:

nginx -v
# nginx version: nginx/1.12.2

Aktivieren und starten Sie den NGINX-Dienst:

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

Führen Sie NGINX als HTTPS-Reverse-Proxy aus undsudo vim /etc/nginx/conf.d/wiki.js.confkonfigurieren Sie es.

server {
    
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;

    charset utf-8;
    client_max_body_size 50M;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.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; } }

Das einzige, was Sie in der obigen Konfiguration ändern müssen, istserver_namedie Direktive, und möglicherweise die Direktive, wennproxy_passSie sich entscheiden, etwas anderes als den Port zu konfigurieren. Wiki.js verwendet3000standardmäßig den Port.

Überprüfen Sie die NGINX-Konfiguration:

sudo nginx -t

Damit die Änderungen in Kraft treten können, müssen wir NGINX neu laden:

sudo systemctl reload nginx.service

Schritt 5 – Installieren und Einrichten von Wiki.js

Erstellen Sie ein Dokument-Stammverzeichnis, in dem Wiki.js liegen sollte:

sudo mkdir -p /var/www/wiki.js

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/wiki.js

Ändern Sie den Eigentümer der/var/www/wiki.jsVerzeichnis zu your_user:

sudo chown -R [your_user]:[your_user] /var/www/wiki.js

HINWEIS:Ersetzen Sie im obigen Befehl your_user durch Ihren Nicht-Root-Benutzer, den Sie als Voraussetzung für dieses Tutorial hätten anlegen sollen..

Führen Sie im/var/www/wiki.jsVerzeichnis den folgenden Befehl aus, um die neueste Wiki.js-Anwendung zu holen und zu installieren:

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

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

node wiki --version
# 1.0.117

Sobald die Installation abgeschlossen ist, werden Sie aufgefordert, den Konfigurationsassistenten zu starten.

Starten Sie also den Konfigurationsassistenten, indem Sie ihn ausführen:

node wiki configure

Navigieren Sie mit Ihrem Webbrowser zu den Anweisungen auf dem Bildschirm undhttp://example.combefolgen Sie diese. Alle während des Konfigurationsassistenten eingegebenen Einstellungen werden in derconfig.ymlDatei gespeichert. Der Konfigurationsassistent startet automatisch Wiki.js für Sie.

Zunächst sehen Sie eine Begrüßungsnachricht. Klicken Sie auf die Schaltfläche „Start„:

Wiki.js-Installationsprogramm

Die nächste Seite „System Check“ erscheint. Wenn alle Voraussetzungen erfüllt sind, klicken Sie auf die Schaltfläche „Weiter“.

System Check

Geben Sie allgemeine Informationen über Ihr Wiki ein und klicken Sie auf die Schaltfläche „Weiter„:

Allgemeine Informationen

Lesen Sie den Hinweis „Wichtige Überlegungen“ und klicken Sie auf „Weiter“ für den nächsten Schritt:

Wichtig zu beachten

Stellen Sie als nächstes eine Verbindung zur Datenbank her und fahren Sie fort:

Verbindung zur Datenbank

Sie sollten eine Meldung sehen, dass Wiki.js erfolgreich mit der Datenbank verbunden wurde. Klicken Sie auf die Schaltfläche „Weiter„:

Datenbankverbindung erfolgreich

Legen Sie Pfade fest und fahren Sie fort:

Legen Sie den Pfad fest

Richten Sie Git-Repo aus der Ferne ein, wenn Sie wollen, oder überspringen Sie diesen Schritt. Dieser Schritt ist optional, wird aber dringend empfohlen:

Einrichten eines Remote-GIT-Repos

Klicken Sie dann auf die Schaltfläche „Weiter“:

Mit der Installation fortfahren

Erstellen Sie ein Verwaltungskonto und klicken Sie auf die Schaltfläche „Weiter„:

Erstellen Sie ein Admin-Konto

Und schließlich starten Sie die Wiki.js:

Wiki.js starten

Warten Sie etwa 30 Sekunden und Sie sollten auf die Homepage von Wiki.js weitergeleitet werden:

Wiki.js Startseite

Die Installation ist abgeschlossen. Sie sollten die Startseite des Wikis aufrufen:

Willkommen bei Wiki.js

Schritt 6 – Einrichten des PM2-Prozessmanagers

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

Sagen Sie dem PM2, er soll sich selbst als Startdienst konfigurieren, indem er läuft:

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

Speichern Sie schließlich die aktuelle PM2-Konfiguration, indem Sie den Befehl ausführen:

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

Ihr Wiki.js läuft nun als Hintergrundprozess, wobei PM2 als Prozessmanager verwendet wird.

Das könnte Dich auch interessieren …