GNU/Linux >> Belajar Linux >  >> Fedora

Cara Menginstal Wiki.js berbasis NodeJS di Fedora 29

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 Fedora 29 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 hingga 10.x
  • MongoDB versi 3.2 atau lebih baru.
  • Git versi 2.7.4 atau yang lebih baru.
  • 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 Fedora 29.
  • Pengguna non-root dengan sudo hak istimewa.

Langkah Awal

Periksa versi Fedora Anda:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Siapkan zona waktu:

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

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 dnf check-upgrade || sudo dnf upgrade -y

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

sudo dnf install -y curl wget vim git unzip socat bash-completion

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 rilis Long-Term Support (LTS) terbaru dari Node.js dari repo Fedora:

sudo dnf -y install nodejs

Untuk mengompilasi dan menginstal add-on asli dari npm, Anda mungkin juga perlu menginstal alat bantu:

sudo dnf install -y gcc-c++ make
# or
# sudo dnf groupinstall -y 'Development Tools'

CATATANnpm 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.0
# 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.7.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 dnf install -y mongodb mongodb-server

Periksa versi MongoDB:

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

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, 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.

Instal paket Nginx, dengan mengeluarkan perintah berikut:

sudo dnf install -y nginx

Setelah penginstalan, Anda dapat memverifikasi versi Nginx dengan menjalankan:

nginx -v
# 1.14.1

Mulai dan aktifkan (setel untuk memulai saat reboot ) Layanan Nginx:

sudo systemctl start nginx.service
sudo systemctl enable 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 ":

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

Fedora
  1. Cara Menginstal Node.js di Fedora 35 / Fedora 34

  2. Cara menginstal Java 17 di Fedora 35

  3. Cara Menginstal Notepad++ di Fedora 35

  1. Cara Memasang Forum NodeBB di Fedora 29

  2. Cara Menginstal Wireshark di Fedora 35

  3. Cara menginstal npm di alpine linux

  1. Cara Menginstal Wiki.js di Ubuntu 18.04 LTS

  2. Cara Menginstal Wiki.js di CentOS 7

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