Cara Memasang Wiki.js di CentOS 7

Wiki.js adalah sumber bebas dan terbuka, aplikasi wiki moden yang dibina pada 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 contoh CentOS 7 Vultr segar 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
  • Nginx
  • Versi Git 2.7.4 atau lebih baru
  • Repositori yang mematuhi Git (awam atau peribadi) ( pilihan )
  • Minimum RAM 768MB
  • Nama domain dengan A/ AAAArekod disediakan

Semak versi CentOS.

cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

Buat non-rootakaun pengguna baru dengan sudoakses dan beralih kepadanya.

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

NOTA : Gantikan johndoedengan nama pengguna anda .

Sediakan zon waktu.

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

Pastikan sistem anda terkini.

sudo yum update -y

Pasang pakej yang diperlukan untuk menyelesaikan tutorial ini.

sudo yum install -y wget curl vim zip unzip bash-completion

Lumpuhkan SELinux dan Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Dayakan repositori EPEL.

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Pasang Git

Repositori CentOS menyediakan versi Git yang sangat ketinggalan zaman, jadi kita perlu membina Git dari sumber.

Pasang Git dengan membinanya dari kod sumber.

# Remove existing git package if installed: 
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.1.tar.gz && tar zxvf git-2.17.1.tar.gz
rm git-2.17.1.tar.gz
cd git-2.17.1
make configure
./configure
make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~

# Confirm this command returns /usr/local/bin/git:
which git

Sahkan versi.

git --version
# git version 2.17.1

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 dengan menggunakan repositori YUMS NodeSource untuk Node.js.

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs

Periksa versi Node.js dan NPM.

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

Pasang MongoDB

Wiki.js menggunakan MongoDB sebagai mesin pangkalan data. Kami akan menggunakan repositori MongoDB rasmi , yang mengandungi rilis MongoDB utama dan kecil terkini.

Pasang MongoDB Community Edition.

sudo vim /etc/yum.repos.d/mongodb-org-3.6.repo

# Copy/paste this
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

sudo yum install -y mongodb-org

Semak versi.

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

Dayakan dan mulakan MongoDB.

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

Pasang dan konfigurasikan Nginx

Sangat disyorkan untuk meletakkan pelayan web standard di depan Wiki.js. Ini memastikan anda dapat menggunakan ciri seperti SSL, beberapa laman web, cache dan banyak lagi.

Pasang Nginx.

sudo vim /etc/yum.repos.d/nginx_mainline.repo

# Copy/paste this
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key

sudo yum install -y nginx

Semak versi.

nginx -v
# nginx version: nginx/1.15.0

Dayakan dan mulailah Nginx.

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

Konfigurasi Nginx sebagai HTTPatau HTTPSproksi terbalik untuk 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 berpandukan proxy_passarahan jika anda membuat keputusan untuk mengkonfigurasi mana-mana port lain daripada 3000. Wiki.js menggunakan port 3000secara lalai.

Periksa konfigurasi.

sudo nginx -t

Muat semula Nginx.

sudo systemctl reload nginx.service

Pasang klien Acme.sh dan dapatkan Sijil Encik 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 skrip shell UNIX tulen untuk mendapatkan sijil SSL dari Let's Encrypt dengan kebergantungan sifar. Itu menjadikannya sangat ringan berbanding dengan beberapa pelanggan 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 ~

Semak versi.

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

Dapatkan sijil RSA dan ECDSA untuk domain / nama hos anda.

# 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 

Selepas menjalankan arahan di atas, sijil dan kunci anda akan berada di direktori berikut:

  • 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 akar dokumen kosong di mana Wiki.js perlu 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 kepada 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.

node wiki configure

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

Dengan menggunakan penyemak imbas web anda, arahkan ke http://wiki.example.comdan ikuti arahan di skrin. Semua tetapan yang dimasukkan selama wizard konfigurasi telah 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.

Beritahu PM2 untuk mengkonfigurasi dirinya sebagai perkhidmatan permulaan.

/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. Anda boleh sudo rebootmenghidupkan semula OS anda dan memastikan bahawa Wiki.js bermula selepas but semula.



Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

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 AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

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