Πώς να εγκαταστήσετε το Wiki.js στο Debian 9

Το Wiki.js είναι μια δωρεάν και ανοιχτού κώδικα, σύγχρονη εφαρμογή wiki που βασίζεται σε Node.js, MongoDB, Git και Markdown. Ο πηγαίος κώδικας του Wiki.js φιλοξενείται δημόσια στο GitHub . Αυτός ο οδηγός θα σας δείξει πώς να εγκαταστήσετε το Wiki.js σε μια νέα παρουσία του Debian 9 Vultr χρησιμοποιώντας τα Node.js, MongoDB, PM2, Nginx, Git και Acme.sh.

Απαιτήσεις

  • Node.js 6.9.0 ή νεότερη έκδοση
  • MongoDB 3.2 ή μεταγενέστερη έκδοση
  • Nginx
  • Git 2.7.4 ή νεότερη έκδοση
  • Ένα α��οθετήριο συμβατό με το Git (δημόσιο ή ιδιωτικό) ( προαιρετικό )
  • Ελάχιστο από 768MB RAM
  • Όνομα τομέα με ρύθμιση A/ AAAAεγγραφές

Ελέγξτε την έκδοση του Debian.

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

Βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο.

apt update && apt upgrade -y

Εγκαταστήστε τα απαραίτητα πακέτα.

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

Δημιουργήστε έναν νέο non-rootλογαριασμό χρήστη με sudoπρόσβαση και μεταβείτε σε αυτόν.

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

ΣΗΜΕΙΩΣΗ : Αντικαταστήστε το johndoeμε το όνομα χρήστη σας.

Ρυθμίστε τη ζώνη ώρας.

sudo dpkg-reconfigure tzdata

Εγκαταστήστε το Git

Εγκαταστήστε το Git στο Debian.

sudo apt install -y git

Επαληθεύστε την έκδοση Git.

git --version
# git version 2.11.0

Εγκαταστήστε το Node.js

Εγκαταστήστε το Node.js χρησιμοποιώντας το αποθετήριο NodeSource APT για το Node.js.

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

Ελέγξτε τις εκδόσεις Node.js και npm.

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

Εγκαταστήστε το MongoDB

Το Wiki.js χρησιμοποιεί το MongoDB ως μηχανή βάσης δεδομένων. Σύμφωνα με αυτό, θα χρειαστεί να εγκαταστήσουμε το MongoDB στον διακομιστή μας. Θα χρησιμοποιήσουμε τα επίσημα αποθετήρια MongoDB για εγκατάσταση.

Εγκαταστήστε το 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

Ελέγξτε την έκδοση.

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

Ενεργοποιήστε και ξεκινήστε το MongoDB.

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

Εγκαταστήστε και ρυθμίστε το Nginx

Συνιστάται ιδιαίτερα να τοποθετήσετε έναν τυπικό διακομιστή ιστού μπροστά από το Wiki.js. Αυτό διασφαλίζει ότι μπορείτε να χρησιμοποιήσετε λειτουργίες όπως SSL, πολλαπλούς ιστότοπους, προσωρινή αποθήκευση και πολλά άλλα. Θα χρησιμοποιήσουμε το Nginx σε αυτό το σεμινάριο, αλλά οποιοσδήποτε άλλος διακομιστής θα το κάνει, απλά πρέπει να το ρυθμίσετε σωστά.

Εγκαταστήστε το 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

Ελέγξτε την έκδοση.

sudo nginx -v
# nginx version: nginx/1.15.0

Ενεργοποιήστε και ξεκινήστε το Nginx.

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

Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης HTTPή HTTPS(αν χρησιμοποιείτε SSL) για την εφαρμογή Wiki.js.

Εκτελέστε sudo vim /etc/nginx/conf.d/wiki.js.confκαι συμπληρώστε το με τη βασική διαμόρφωση αντίστροφου διακομιστή μεσολάβησης παρακάτω.

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;
    }

}

Τα μόνα πράγματα που πρέπει να αλλάξετε στην παραπάνω διαμόρφωση είναι η server_nameοδηγία και ενδεχομένως η proxy_passοδηγία εάν αποφασίσετε να διαμορφώσετε κάποια άλλη θύρα εκτός από την 3000. Το Wiki.js χρησιμοποιεί θύρα 3000από προεπιλογή.

Ελέγξτε τη διαμόρφωση.

sudo nginx -t

Επαναφόρτωση Nginx.

sudo systemctl reload nginx.service

Εγκαταστήστε το Acme.sh και αποκτήστε ένα πιστοποιητικό Let's Encrypt (προαιρετικό)

Η ασφάλεια του wiki σας με HTTPSδεν είναι απαραίτητη, αλλά είναι μια καλή πρακτική για να εξασφαλίσετε την επισκεψιμότητα του ιστότοπού σας. Για να αποκτήσουμε ένα πιστοποιητικό SSL από το Let's Encrypt, θα χρησιμοποιήσουμε τον πελάτη Acme.sh. Το Acme.sh είναι ένα καθαρό λογισμικό κελύφους unix για τη λήψη πιστοποιητικών SSL από την Let's Encrypt με μηδενικές εξαρτήσεις. Αυτό το καθιστά πολύ ελαφρύ σε σύγκριση με ορισμένους άλλους πελάτες πρωτοκόλλου ACME που απαιτούν πολλές εξαρτήσεις για να εκτελεστούν με επιτυχία.

Κατεβάστε και εγκαταστήστε το Acme.sh.

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~

Ελέγξτε την έκδοση.

/etc/letsencrypt/acme.sh --version
# v2.7.9

Λάβετε πιστοποιητικά RSA και ECDSA για 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 your_email@example.com --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 your_email@example.com --ocsp-must-staple --keylength ec-256 

ΣΗΜΕΙΩΣΗ : Μην ξεχάσετε να αντικαταστήσετε wiki.example.comτο όνομα τομέα σας.

Αφού εκτελέσετε τις παραπάνω εντολές, τα πιστοποιητικά και τα κλειδιά σας θα βρίσκονται στους παρακάτω καταλόγους.

  • Για RSA: /etc/letsencrypt/wiki.example.comκατάλογος.
  • Για ECC/ECDSA: /etc/letsencrypt/wiki.example.com_eccκατάλογος.

Αφού λάβουμε πιστοποιητικά από το Let's Encrypt, πρέπει να ρυθμίσουμε το Nginx για να τα εκμεταλλευτούμε.

Εκτελέστε sudo vim /etc/nginx/conf.d/wiki.js.confξανά και ρυθμίστε το Nginx ως HTTPSαντίστροφο διακομιστή μεσολάβησης.

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;
    }

}

Ελέγξτε τη διαμόρφωση.

sudo nginx -t

Επαναφόρτωση Nginx.

sudo systemctl reload nginx.service

Εγκαταστήστε το Wiki.js

Δημιουργήστε έναν κενό ριζικό φάκελο εγγράφων όπου θα πρέπει να εγκατασταθεί το Wiki.js.

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

Μεταβείτε στον ριζικό φάκελο του εγγράφου.

cd /var/www/wiki.example.com

Αλλαγή ιδιοκτησίας /var/www/wiki.example.comφακέλου σε χρήστη johndoe.

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

Από το /var/www/wiki.example.comφάκελο, εκτελέστε την ακόλουθη εντολή για λήψη και εγκατάσταση του Wiki.js.

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

Μπορείτε να εκτελέσετε την ακόλουθη εντολή για να προβάλετε την τρέχουσα εγκατεστημένη έκδοση του Wiki.js.

node wiki --version
# 1.0.78

Μόλις ολοκληρωθεί η εγκατάσταση, θα σας ζητηθεί να εκτελέσετε τον οδηγό διαμόρφωσης.

Ξεκινήστε τον οδηγό διαμόρφωσης εκτελώντας.

node wiki configure

Αυτό θα σας ειδοποιήσει να πλοηγηθείτε για http://localhost:3000να διαμορφώσετε το Wiki.js. Εάν έχετε Nginx μπροστά από το Wiki.js, τότε σημαίνει ότι μπορείτε να ανοίξετε το όνομα τομέα σας (π.χ. http://wiki.example.com) αντί να μεταβείτε στο localhost.

Χρησιμοποιώντας το πρόγραμμα περιήγησής σας, μεταβείτε http://wiki.example.comκαι ακολουθήστε τις οδηγίες που εμφανίζονται στην οθόνη. Όλες οι ρυθμίσεις που εισάγονται κατά τη διάρκεια του οδηγού διαμόρφωσης αποθηκεύονται στο config.ymlαρχείο. Ο οδηγός διαμόρφωσης θα ξεκινήσει αυτόματα το Wiki.js για εσάς.

Ρύθμιση PM2

Από προεπιλογή, το Wiki.js δεν θα ξεκινήσει αυτόματα μετά την επανεκκίνηση του συστήματος. Για να ξεκινήσουμε κατά την εκκίνηση, πρέπει να ρυθμίσουμε τη διαχείριση διαδικασιών PM2. Το PM2 συνοδεύεται από το Wiki.js ως τοπική μονάδα NPM, επομένως δεν χρειάζεται να εγκαταστήσουμε το PM2 παγκοσμίως.

Πείτε στο PM2 να διαμορφωθεί ως υπηρεσία εκκίνησης.

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

Τέλος, αποθηκεύστε την τρέχουσα διαμόρφωση PM2.

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

Η παρουσία σας Wiki.js εκτελείται ως διαδικασία παρασκηνίου, χρησιμοποιώντας το PM2 ως διαχειριστή διεργασιών. Μπορείτε να κάνετε επανεκκίνηση του λειτουργικού σας συστήματος sudo rebootκαι να ελέγξετε εάν το Wiki.js ξεκινά μετά από μια επανεκκίνηση.

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα