Cara Pasang Wiki.js di Fedora 28

Wiki.js adalah aplikasi wiki moden dan sumber terbuka dan bebas yang dibina di atas Node.js, MongoDB, Git dan Markdown. Kod sumber Wiki.js dihoskan secara terbuka di Github . Panduan ini akan menunjukkan kepada anda cara memasang Wiki.js pada instance Fedora 28 Vultr yang baru dengan menggunakan Node.js, MongoDB, PM2, Nginx, Git dan Acme.sh.

Keperluan

Keperluan untuk menjalankan Wiki.js adalah seperti berikut:

  • Versi Node.js 6.9.0 atau lebih baru
  • MongoDB versi 3.2 atau lebih baru
  • Pelayan web seperti Nginx, Apache, IIS, Caddy, atau H2O. Panduan ini akan menggunakan Nginx
  • Versi Git 2.7.4 atau lebih baru
  • Repositori yang patuh kepada Git (awam atau swasta) Ini adalah pilihan
  • RAM minimum 768MB
  • Nama domain dengan A/ AAAArekod disediakan

Sebelum awak bermula

Semak versi OS.

cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

Buat akaun pengguna bukan root yang baru dengan akses sudo dan beralih kepadanya.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

CATATAN: Ganti johndoedengan nama pengguna anda.

Pastikan sistem anda terkini.

sudo dnf check-upgrade || sudo dnf upgrade -y

Sediakan zon waktu.

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

Pasang pakej yang diperlukan dan berguna.

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

Untuk kesederhanaan, matikan SELinux dan Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Pasang Node.js

Wiki.js memerlukan Node.js 6.9.0 atau lebih baru, jadi pertama-tama kita perlu memasang Node.js.

Pasang Node.js.

sudo dnf install -y nodejs

Periksa versi Node.js dan npm.

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

Pasang MongoDB

Wiki.js menggunakan MongoDB sebagai enjin pangkalan data. Oleh itu, kita perlu memasang MongoDB pada pelayan kita.

Pasang MongoDB.

sudo dnf install -y mongodb mongodb-server

Semak versi MongoDB.

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

Dayakan dan mulakan MongoDB.

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

Pasang dan konfigurasikan Nginx

Wiki.js boleh berjalan tanpa pelayan web sebenar (seperti Nginx atau Apache). Walau bagaimanapun, sangat disyorkan untuk meletakkan pelayan web standard di depan Wiki.js. Ini memastikan anda boleh menggunakan ciri-ciri seperti SSL, pelbagai laman web, caching, dan lain-lain. Kami akan menggunakan Nginx dalam tutorial ini, tetapi mana-mana pelayan lain akan lakukan, anda hanya perlu mengkonfigurasinya dengan betul.

Pasang Nginx.

sudo dnf install -y nginx

Semak versi.

nginx -v
# nginx version: nginx/1.12.1

Dayakan dan mulailah Nginx.

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

Konfigurasikan Nginx sebagai HTTPatau atau HTTPS(jika anda menggunakan SSL) proksi terbalik untuk aplikasi Wiki.js.

Jalankan sudo vim /etc/nginx/conf.d/wiki.js.confdan isi dengan konfigurasi proksi terbalik asas di bawah.

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

}

Satu-satunya perkara yang perlu anda ubah dalam konfigurasi di atas adalah server_namearahan, dan berpotensi menjadi proxy_passarahan jika anda memutuskan untuk mengkonfigurasi beberapa port selain 3000. Wiki.js menggunakan port 3000secara lalai.

Periksa konfigurasi.

sudo nginx -t

Muat semula Nginx.

sudo systemctl reload nginx.service

Pasang pelanggan Acme.sh dan dapatkan Encrypt sijil (pilihan)

Mengamankan wiki anda dengan HTTPStidak diperlukan, tetapi amalan yang baik untuk menjamin trafik laman anda. Untuk mendapatkan sijil SSL dari Let's Encrypt, kami akan menggunakan klien Acme.sh. Acme.sh adalah perisian shell unix murni untuk mendapatkan sijil SSL dari Let's Encrypt dengan kebergantungan sifar. Itu menjadikannya sangat ringan berbanding dengan beberapa klien protokol ACME lain yang memerlukan banyak dependensi untuk berjalan dengan jayanya.

Muat turun dan pasang 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 [email protected]
cd ~

Periksa acme.shversi.

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

Dapatkan sijil RSA dan ECDSA untuk 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 [email protected] --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 [email protected] --ocsp-must-staple --keylength ec-256 

Setelah menjalankan perintah di atas, sijil dan kunci anda akan berada di:

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

CATATAN : Jangan lupa ganti wiki.example.comdengan nama domain anda.

Selepas mendapatkan sijil dari Let's Encrypt, kita perlu mengkonfigurasi Nginx untuk mengambil kesempatan daripada mereka.

Jalankan sudo vim /etc/nginx/conf.d/wiki.js.conflagi dan konfigurasikan Nginx sebagai HTTPSproksi terbalik.

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

}

Periksa konfigurasi.

sudo nginx -t

Muat semula Nginx.

sudo systemctl reload nginx.service

Pasang Wiki.js

Buat folder root dokumen kosong, di mana Wiki.js harus dipasang.

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

Navigasi ke folder root dokumen.

cd /var/www/wiki.example.com

Tukar pemilikan /var/www/wiki.example.comfolder ke pengguna johndoe.

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

Dari /var/www/wiki.example.comfolder, jalankan arahan berikut untuk memuat turun dan memasang Wiki.js.

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

Anda boleh menjalankan perintah berikut untuk melihat versi Wiki.js. yang sedang dipasang

node wiki --version
# 1.0.78

Setelah pemasangan selesai, anda akan diminta untuk menjalankan wizard konfigurasi.

Mulakan wizard konfigurasi dengan menjalankan.

node wiki configure

Ini akan memberitahu anda untuk menavigasi ke http://localhost:3000untuk mengkonfigurasi Wiki.js. Jika anda mempunyai Nginx di hadapan Wiki.js, maka itu bermakna anda boleh membuka nama domain anda (contohnya http://wiki.example.com) dan bukannya pergi localhost.

Dengan menggunakan penyemak imbas web anda, arahkan ke http://wiki.example.comdan ikuti arahan di skrin. Semua tetapan yang dimasukkan semasa wizard konfigurasi disimpan dalam config.ymlfail. Wizard konfigurasi akan memulakan Wiki.js secara automatik untuk anda.

Sediakan PM2

Secara lalai, Wiki.js tidak akan dimulakan secara automatik selepas sistem reboot. Untuk menjadikannya bermula pada boot, kita perlu menyediakan pengurus proses PM2. PM2 dibundel dengan Wiki.js sebagai modul NPM tempatan, jadi kita tidak perlu memasang PM2 secara global.

Beritahu PM2 untuk mengkonfigurasi dirinya sebagai perkhidmatan permulaan dengan menjalankan:

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

Akhirnya, simpan konfigurasi PM2 semasa dengan menjalankan perintah: /var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Contoh Wiki.js anda berjalan sebagai proses latar belakang, menggunakan PM2 sebagai pengurus prosesnya.



Leave a Comment

Cara Memasang Matomo Analytics di Fedora 28

Cara Memasang Matomo Analytics di Fedora 28

Menggunakan Sistem Berbeza? Matomo (dahulunya Piwik) adalah platform analitik sumber terbuka, alternatif terbuka kepada Google Analytics. Sumber Matomo dihoskan o

Cara Menyebarkan Ghost v0.11 LTS di Fedora 25

Cara Menyebarkan Ghost v0.11 LTS di Fedora 25

Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201

Cara Pasang Kanboard di Fedora 29

Cara Pasang Kanboard di Fedora 29

Menggunakan Sistem Berbeza? Pengenalan Kanboard adalah program perisian pengurusan projek sumber terbuka dan bebas yang direka untuk memudahkan dan visualisasi

Bagaimana untuk memasang forum NodeBB di Fedora 28

Bagaimana untuk memasang forum NodeBB di Fedora 28

Menggunakan Sistem Berbeza? NodeBB adalah forum berasaskan Node.js. Ia menggunakan soket web untuk interaksi segera dan pemberitahuan masa nyata. Kod sumber NodeBB i

Cara Memasang WonderCMS di Fedora 29

Cara Memasang WonderCMS di Fedora 29

Menggunakan Sistem Berbeza? WonderCMS adalah sumber terbuka, cepat dan kecil fail CMS rata yang ditulis dalam PHP. Kod sumber WonderCMS dihoskan pada Github. Panduan ini wil

Cara Memasang Dolibarr di Fedora 28

Cara Memasang Dolibarr di Fedora 28

Menggunakan Sistem Berbeza? Dolibarr adalah perancangan sumber terbuka syarikat (ERP) dan pengurusan hubungan pelanggan (CRM) untuk Perniagaan. Dolibar

Memasang CMS Fork pada Fedora 28

Memasang CMS Fork pada Fedora 28

Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM

Cara Memasang Backdrop CMS 1.8.0 pada Fedora 26 LAMP VPS

Cara Memasang Backdrop CMS 1.8.0 pada Fedora 26 LAMP VPS

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AWStats di Fedora 28

Cara Pasang AWStats di Fedora 28

AWStats adalah alat yang berguna untuk menganalisis lalu lintas web. Antara muka HTMLnya boleh diakses menerusi penyemak imbas, memberikan anda gambaran mudah mengenai siapa yang sedang melihat anda

Cara Pasang CMS BlogoText pada FPS 26 LAMP VPS

Cara Pasang CMS BlogoText pada FPS 26 LAMP VPS

Menggunakan Sistem Berbeza? BlogoText CMS adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan ringan, percuma dan terbuka dan enjin blog minimalis

Cara Pasang Webmail RainLoop di Fedora 28

Cara Pasang Webmail RainLoop di Fedora 28

Menggunakan Sistem Berbeza? RainLoop adalah pelanggan e-mel berasaskan web yang mudah, moden dan pantas. Kod sumber RainLoop dihoskan di GitHub. Panduan ini akan menunjukkan kepada anda

Cara Pasang ImpressPages CMS 5.0 pada FPS VPS 26 LAMP

Cara Pasang ImpressPages CMS 5.0 pada FPS VPS 26 LAMP

Menggunakan Sistem Berbeza? ImpressPages CMS 5.0 adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan berkesan, bebas dan sumber terbuka, mesra pengguna, berasaskan MVC

Cara Pasang PyroCMS pada Fedora 28

Cara Pasang PyroCMS pada Fedora 28

Menggunakan Sistem Berbeza? PyroCMS adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber PyroCMS dihoskan pada GitHub. Dalam panduan ini berjalan dengan lancar

Cara Memasang CMS 1.0 Oktober pada Fedora 26 LAMP VPS

Cara Memasang CMS 1.0 Oktober pada Fedora 26 LAMP VPS

Menggunakan Sistem Berbeza? Oktober 1.0 CMS adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan boleh dipercayai, bebas yang dibina di atas rangka Laravel

Cara Pasang dan Konfigur TaskBoard pada Fedora 30

Cara Pasang dan Konfigur TaskBoard pada Fedora 30

Menggunakan Sistem Berbeza? Pengenalan TaskBoard adalah alat sumber terbuka dan bebas yang boleh digunakan untuk mengesan perkara-perkara yang perlu diselesaikan. Ia menyediakan

Bagaimana Memasang BookStack di Fedora 28

Bagaimana Memasang BookStack di Fedora 28

Menggunakan Sistem Berbeza? BookStack adalah platform yang mudah dianjurkan untuk mengatur dan menyimpan maklumat. BookStack adalah percuma dan bersumber terbuka, a

Cara Pasang Gitea di Fedora 29

Cara Pasang Gitea di Fedora 29

Menggunakan Sistem Berbeza? Gitea adalah sumber terbuka alternatif, sistem kawalan versi kendiri yang dikendalikan oleh Git. Gitea ditulis dalam Golang dan adalah

Cara Memasang Omeka Classic 2.4 CMS pada Fedora 26 LAMP VPS

Cara Memasang Omeka Classic 2.4 CMS pada Fedora 26 LAMP VPS

Menggunakan Sistem Berbeza? Omeka Classic 2.4 CMS adalah platform penerbitan digital sumber terbuka dan Sistem Pengurusan Kandungan (CMS) percuma dan terbuka untuk berkongsi digita

Cara Pasang CMS Anchor pada FPS VPS 26 LAMP

Cara Pasang CMS Anchor pada FPS VPS 26 LAMP

Menggunakan Sistem Berbeza? Anchor CMS adalah Enjin Blog Sistem Pengurusan Kandungan (CMS) sumber yang sangat mudah dan sangat ringan, bebas dan terbuka

Cara Pasang Directus 6.4 CMS pada FPS VPS 26 LAMP

Cara Pasang Directus 6.4 CMS pada FPS VPS 26 LAMP

Menggunakan Sistem Berbeza? Directus 6.4 CMS adalah Sistem Pengurusan Kandungan Tanpa Sumber (CMS) yang kuat dan fleksibel, bebas dan terbuka yang menyediakan pembangun

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut