Απαιτήσεις
Εγκαταστήστε το Git
Εγκαταστήστε το Node.js
Εγκαταστήστε το MongoDB
Εγκαταστήστε και ρυθμίστε το Nginx
Εγκαταστήστε το πρόγραμμα-πελάτη Acme.sh και αποκτήστε ένα πιστοποιητικό Let's Encrypt (προαιρετικό)
Εγκαταστήστε το Wiki.js
Εγκαταστήστε το PM2
Το Wiki.js είναι μια δωρεάν και ανοιχτού κώδικα, σύγχρονη εφαρμογή wiki που βασίζεται σε Node.js , Git και Markdown . Ο πηγαίος κώδικας του Wiki.js φιλοξενείται δημόσια στο Github . Αυτός ο οδηγός θα σας δείξει πώς να εγκαταστήσετε το Wiki.js σε μια νέα παρουσία του Ubuntu 18.04 LTS Vultr χρησιμοποιώντας Node.js, MongoDB, PM2, Nginx, Git και Acme.sh.
Απαιτήσεις
Οι απαιτήσεις για την εκτέλεση του Wiki.js και την ολοκλήρωση αυτού του οδηγού είναι οι εξής:
- Node.js έκδοση 6.9.0 ή μεταγενέστερη
- MongoDB έκδοση 3.2 ή μεταγενέστερη
- Nginx
- Έκδοση Git 2.7.4 ή μεταγενέστερη
- Ελάχιστο 768MB RAM
- Όνομα τομέα με ρύθμιση
A/ AAAAεγγραφές
Ελέγξτε την έκδοση του Ubuntu.
lsb_release -ds
# Ubuntu 18.04.4 LTS
Δημιουργήστε έναν νέο non-rootλογαριασμό χρήστη με sudoπρόσβαση και μεταβείτε σε αυτόν.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
ΣΗΜΕΙΩΣΗ : Αντικαταστήστε το johndoeμε το όνομα χρήστη σας.
Ρυθμίστε τη ζώνη ώρας.
sudo dpkg-reconfigure tzdata
Βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο.
sudo apt update && sudo apt upgrade -y
Εγκαταστήστε τα απαραίτητα πακέτα.
sudo apt install -y build-essential apt-transport-https
Εγκαταστήστε το Git
Το Git 2.7.4 είναι προεγκατεστημένο στην έκδοση διακομιστή Ubuntu, επομένως δεν χρειάζεται να το εγκαταστήσουμε. Εάν θέλετε να εγκαταστήσετε μια νεότερη έκδοση, μπορείτε να χρησιμοποιήσετε PPA τρίτων ή να μεταγλωττίσετε την πιο πρόσφατη έκδοση του Git από την πηγή.
Μπορείτε να επαληθεύσετε την τρέχουσα εγκατεστημένη έκδοση του Git εκτελώντας:
git --version
# git version 2.7.4
Εάν θέλετε να εγκαταστήσετε μια νεότερη έκδοση του λογισμικού Git, μπορείτε να χρησιμοποιήσετε τα παρακάτω.
# 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
Επαληθεύστε την έκδοση Git.
git --version
# git version 2.17.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
Θα χρησιμοποιήσουμε τα επίσημα αποθετήρια MongoDB , τα οποία διατηρούνται ενημερωμένα με τις πιο πρόσφατες μεγάλες και δευτερεύουσες εκδόσεις MongoDB.
Εγκαταστήστε το MongoDB Community Edition.
sudo apt install -y mongodb
Ελέγξτε την έκδοση.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3
Εγκαταστήστε το 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
Ελέγξτε την έκδοση.
sudo nginx -v
# nginx version: nginx/1.15.0
Ενεργοποιήστε και ξεκινήστε το Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης για την εφαρμογή 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δεν είναι απαραίτητη, αλλά θα εξασφαλίσει την επισκεψιμότητα του ιστότοπού σας. Το Acme.sh είναι ένα καθαρό λογισμικό κελύφους unix για τη λήψη πιστοποιητικών SSL από την Let's Encrypt με μηδενικές εξαρτήσεις.
Λήψη και εγκατάσταση 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
Λάβετε πιστοποιητικά 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
Αφού εκτελέσετε τις παραπάνω εντολές, τα πιστοποιητικά και τα κλειδιά σας θα βρίσκονται σε:
- Για 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/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;
}
}
Ελέγξτε τη διαμόρφωση.
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 ως διαχειριστή διεργασιών του.