GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Wiki.js di Ubuntu 18.04 LTS

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 Ubuntu 18.04 LTS dengan menggunakan NGINX sebagai server proxy terbalik, MongoDB sebagai server database, PM2 sebagai pengelola proses, dan secara opsional Anda dapat mengamankan transportasi lapisan 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 Ubuntu 18.04 LTS.
  • Pengguna non-root dengan sudo hak istimewa.

Langkah Awal

Periksa versi Ubuntu Anda:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Siapkan zona waktu:

sudo 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:

sudo apt update && sudo apt upgrade -y

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

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

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 saat 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 install -y mongodb

Periksa versi MongoDB:

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

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

sudo systemctl start mongodb.service
sudo systemctl enable mongodb.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, kita 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/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

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

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 direktif, nama domain di jalur file ssl, dan kemungkinan 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

Buat pengguna untuk wikijs

sudo useradd -d /var/www/wiki.js wikijs

Ubah kepemilikan /var/www/wiki.js direktori untuk pengguna wikijs:

sudo chown -R wikijs:wikijs /var/www/wiki.js

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

cd /var/www/wiki.js
sudo su wikijs
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 ":

Laman "Pemeriksaan Sistem" berikutnya akan muncul. 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 ":

Setel 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:

Penginstalan 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

Ubuntu
  1. Cara Menginstal Docker di Ubuntu 22.04 / 20.04 LTS

  2. Cara Menginstal PlayOnLinux di Ubuntu 20.04 LTS

  3. Cara Menginstal MariaDB di Ubuntu 20.04 LTS

  1. Cara Menginstal Ansible di Ubuntu 20.04 LTS / 21.04

  2. Cara Menginstal Minikube di Ubuntu 20.04 LTS / 21.04

  3. Cara Menginstal Spotify di Ubuntu 18.04 LTS

  1. Cara Menginstal Prometheus di Ubuntu 18.04 LTS

  2. Cara Menginstal Memcached di Ubuntu 18.04 LTS

  3. Cara Menginstal VestaCP di Ubuntu 18.04 LTS