GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Wiki.js - Perangkat Lunak Wiki berbasis NodeJS di Debian 9

Wiki.js adalah aplikasi wiki open source, modern dan kuat berdasarkan Node.js, Git, dan Markdown. Wiki.js berjalan pada mesin Node.js yang sangat cepat dan dioptimalkan untuk menghemat sumber daya CPU. Beberapa fitur Wiki.js yang layak disebutkan adalah:

  • Pengeditan penurunan harga, didukung oleh Git
  • Ringan, namun sangat kuat
  • Dirancang dengan indah untuk web modern
  • Kontrol Akses Terintegrasi
  • Manajemen Aset Intuitif
  • Mesin telusur bawaan

Dalam tutorial ini, kami akan memandu Anda melalui proses penginstalan Wiki.js versi 1 pada sistem operasi Debian 9 dengan menggunakan NGINX sebagai server proxy terbalik, MongoDB sebagai server database, PM2 sebagai pengelola proses, dan secara opsional Anda dapat mengamankan lapisan transport dengan menggunakan acme.sh klien dan Let's Encrypt certificate authority untuk menambahkan dukungan SSL.

Persyaratan

Persyaratan untuk menjalankan Wiki.js adalah sebagai berikut:

  • Node.js 6.11.1 ke 10.x diperlukan.
  • Versi MongoDB 3.2 atau lambat.
  • Git versi 2.7.4 atau lambat.
  • Perangkat lunak Server Web seperti NGINX, Apache, Caddy, H2O...
  • Repositori Git kosong (opsional).
  • Minimum RAM 512 MB. RAM 1 GB disarankan.
  • Sekitar 300 MB ruang disk.
  • Nama domain dengan data DNS A/AAAA disiapkan.

Prasyarat

  • Sistem operasi Debian 9.
  • Pengguna non-root dengan sudo hak istimewa.

Langkah Awal

Periksa versi sistem Debian Anda:

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

Siapkan zona waktu:

dpkg-reconfigure tzdata

Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:

apt update && apt upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Debian:

apt install -y curl wget vim git unzip socat sudo bash-completion apt-transport-https build-essential dirmngr

Langkah 1- Instal Node.js dan npm

Wiki.js dibuat di Node.js. Kami akan memasang versi terbaru yang direkomendasikan untuk Wiki.js yaitu versi 10  pada saat penulisan ini. Di Linux, Anda memiliki beberapa opsi penginstalan Node.js:Binari Linux (x86/x64), Kode Sumber atau melalui Manajer Paket. Kami akan menggunakan opsi Manajemen Paket yang membuat pemasangan dan pembaruan Node.js menjadi mudah.

Download dan instal versi terbaru yang direkomendasikan dari Node.js dari repositori NodeSource:

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

CATATAN : npm didistribusikan dengan Node.js - yang berarti bahwa ketika Anda mengunduh Node.js, Anda secara otomatis menginstal npm di sistem Anda.

Periksa versi Node.js dan npm:

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

Npm adalah proyek terpisah dari Node.js dan cenderung lebih sering diperbarui. Akibatnya, meskipun Anda baru saja mengunduh Node.js (dan karenanya npm), Anda mungkin perlu memperbarui npm Anda. Untungnya, npm tahu cara memperbarui dirinya sendiri! Untuk memperbarui npm Anda, ketik ini ke terminal Anda:

sudo npm install -g [email protected]

Perintah ini akan memperbarui npm ke versi stabil terbaru.

Periksa kembali versi npm dengan:

npm -v
# 6.8.0

Dan itu harus mengembalikan nomor versi terbaru.

Langkah 2 - Instal database MongoDB

Wiki.js memerlukan database untuk menyimpan datanya, dan versi stabil Wiki.js saat ini hanya mendukung mesin database MongoDB. Berdasarkan itu, kita perlu menginstal database MongoDB.

Unduh dan instal basis data MongoDB:

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

Periksa versi MongoDB:

mongo --version | head -n 1 && mongod --version | head -n 1

Mulai dan aktifkan (setel untuk memulai saat reboot ) Layanan MongoDB jika belum dimulai dan diaktifkan:

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

Langkah 3 - Instal acme.sh klien dan dapatkan sertifikat Let's Encrypt (opsional )

Mengamankan situs web Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat SSL dari Let's Encrypt, kami akan menggunakan acme.sh klien. Acme.sh adalah perangkat lunak shell UNIX murni untuk mendapatkan sertifikat SSL dari Let's Encrypt dengan nol ketergantungan.

Unduh dan instal acme.sh :

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

Periksa acme.sh versi:

acme.sh --version
# v2.8.1

Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:

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

Jika Anda menginginkan sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging tandai ke perintah di atas.

Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:

acme.sh --list

Buat folder untuk menyimpan sertifikat Anda. Kami akan menggunakan /etc/letsencrypt tetapi bisa apa saja yang Anda inginkan untuk menyimpan sertifikat SSL.

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

Instal/salin sertifikat ke direktori /etc/letsencrypt.

# 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"

Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:

  • Untuk RSA : /etc/letsencrypt/example.com direktori.
  • Untuk ECC/ECDSA : /etc/letsencrypt/example.com_ecc direktori.

Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.

Setelah mendapatkan sertifikat, keluar dari pengguna root dan kembali ke pengguna sudo normal:

exit

Langkah 4 - Instal dan konfigurasikan NGINX

Wiki.js (atau aplikasi HTTP Node.js) dapat berjalan tanpa server web yang sebenarnya (seperti NGINX atau Apache). Namun, sangat disarankan untuk menempatkan server web standar di depan Wiki.js. Ini memastikan Anda dapat menggunakan fitur seperti SSL, beberapa situs web, caching, dll. Kami akan menggunakan NGINX dalam tutorial ini, tetapi server lain dapat melakukannya, Anda hanya perlu mengonfigurasinya dengan benar.

Unduh dan instal NGINX dari repo NGINX resmi dengan mengeluarkan perintah berikut:

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

Periksa versi NGINX:

sudo nginx -v
# nginx version: nginx/1.15.8

Aktifkan dan mulai layanan NGINX:

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

Jalankan sudo vim /etc/nginx/conf.d/wiki.js.conf dan konfigurasikan NGINX sebagai proxy terbalik HTTPS.

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

Satu-satunya hal yang perlu Anda ubah dalam konfigurasi di atas adalah server_name arahan, dan berpotensi proxy_pass direktif jika Anda memutuskan untuk mengonfigurasi beberapa selain 3000 Pelabuhan. Wiki.js menggunakan port 3000 secara default.

Periksa konfigurasi NGINX:

sudo nginx -t

Terakhir, agar perubahan diterapkan, kita perlu memuat ulang NGINX:

sudo systemctl reload nginx.service

Langkah 5 - Instal dan setup Wiki.js

Buat direktori root dokumen tempat Wiki.js seharusnya berada:

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

Arahkan ke direktori root dokumen:

cd /var/www/wiki.js

Ubah kepemilikan /var/www/wiki.js direktori ke pengguna_Anda:

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

CATATAN:  Ganti your_user pada perintah di atas dengan pengguna non-root yang seharusnya Anda buat sebagai prasyarat untuk tutorial ini .

Dari /var/www/wiki.js direktori, jalankan perintah berikut untuk mengambil dan menginstal aplikasi Wiki.js terbaru:

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

Setelah penginstalan selesai, Anda dapat menjalankan perintah berikut untuk melihat versi Wiki.js yang saat ini diinstal:

node wiki --version
# 1.0.117

Setelah penginstalan selesai, Anda akan diminta untuk meluncurkan wizard konfigurasi.

Jadi, mulai wizard konfigurasi dengan menjalankan:

node wiki configure

Menggunakan browser web Anda, navigasikan ke http://example.com dan ikuti petunjuk di layar. Semua setelan yang dimasukkan selama wizard konfigurasi disimpan di config.yml mengajukan. Wizard konfigurasi akan secara otomatis memulai Wiki.js untuk Anda.

Pertama, Anda akan melihat pesan selamat datang. Klik "Mulai tombol ":

Selanjutnya akan muncul halaman "System Check". Jika semua persyaratan terpenuhi, klik tombol "Lanjutkan tombol ".

Masukkan informasi umum tentang wiki Anda dan klik tombol "Lanjutkan tombol ":

Baca pemberitahuan "Pertimbangan Penting" dan klik "Lanjutkan " untuk langkah selanjutnya: 

Selanjutnya, sambungkan ke database dan lanjutkan: 

Anda akan melihat pesan bahwa Wiki.js telah berhasil terhubung ke database. Klik tombol "Lanjutkan tombol ":

Tetapkan jalur dan lanjutkan:

Siapkan repo Git jarak jauh jika Anda mau atau lewati langkah ini. Langkah ini opsional tetapi sangat disarankan:

Selanjutnya, klik tombol "Lanjutkan":

Buat akun admin dan klik tombol "Lanjutkan tombol ":

Dan akhirnya, mulai Wiki.js:

Tunggu sekitar 30 detik dan Anda akan diarahkan ke beranda Wiki.js:

Instalasi selesai. Anda harus wiki halaman selamat datang:

Langkah 6 - Siapkan Manajer Proses PM2

Secara default, Wiki.js tidak akan dimulai secara otomatis setelah sistem di-boot ulang. Untuk membuatnya mulai saat boot, kita perlu mengatur manajer proses PM2. PM2 dibundel dengan Wiki.js sebagai modul npm lokal, jadi kita tidak perlu menginstal PM2 secara global.

Beri tahu PM2 untuk mengonfigurasi dirinya sebagai layanan startup dengan menjalankan:

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

Terakhir, simpan konfigurasi PM2 saat ini dengan menjalankan perintah:

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

Wiki.js Anda sekarang berjalan sebagai proses latar belakang, menggunakan PM2 sebagai pengelola prosesnya.

  • https://wiki.js.org/
  • https://github.com/Requarks/wiki-v1
  • https://github.com/Requarks/wiki

Debian
  1. Cara Menginstal NodeJS di Debian 9 Stretch Linux

  2. Cara Menginstal Node.js dan npm di Debian 11

  3. Cara menginstal NodeJS di Debian

  1. Cara Menginstal Node.js dan npm di Debian 9

  2. Cara Menginstal R di Debian 9

  3. Cara Menginstal R di Debian 10

  1. Cara Menginstal Wiki.js di CentOS 7

  2. Cara Menginstal Wiki.js berbasis NodeJS di Fedora 29

  3. Cara Menginstal Perangkat Lunak Pemantauan Icinga 2 di Debian 10