Wiki.js là ứng dụng wiki mã nguồn mở hiện đại và mạnh mẽ dựa trên Node.js, Git và Markdown. Wiki.js chạy trên công cụ Node.js cực nhanh và được tối ưu hóa để tiết kiệm tài nguyên CPU. Một số tính năng đáng chú ý của Wiki.js là:
Thiết lập múi giờ:
Cập nhật các gói hệ điều hành của bạn (phần mềm). Đây là bước đầu tiên quan trọng vì nó đảm bảo bạn có các bản cập nhật và bản sửa lỗi bảo mật mới nhất cho các gói phần mềm mặc định của hệ điều hành:
Cài đặt một số gói thiết yếu cần thiết cho việc quản trị cơ bản hệ điều hành CentOS:
Wiki.js yêu cầu bạn phải cài đặt Git phiên bản2.7.4 trở lên. Phiên bản Git mặc định trên CentOS quá cũ, vì vậy bạn sẽ cần phải xây dựng nó từ mã nguồn. Sau đây là các lệnh để biên dịch nhanh:
Tải xuống và cài đặt phiên bản mới nhất được đề xuấtcủaNode.js từ NodeSourcerepository:
LƯU Ý:npm được phân phối cùng với Node.js - nghĩa là khi bạn tải Node.js xuống, npm sẽ tự động được cài đặt trên hệ thống của bạn.
Kiểm tra phiên bản Node.js và npm:
Npm là một dự án riêng biệt với Node.js và có xu hướng cập nhật thường xuyên hơn. Do đó, ngay cả khi bạn vừa tải Node.js (và do đó là npm), bạn có thể sẽ cần cập nhật npm của mình. May mắn thay, npm biết cách tự cập nhật! Để cập nhật npm của bạn, hãy nhập lệnh này vào terminal:
Lệnh này sẽ cập nhật npm lên phiên bản ổn định mới nhất.
Kiểm tra lại phiên bản npm bằng:
Và nó sẽ trả về số phiên bản mới nhất.
Tạo một/etc/yum.repos.d/mongodb-org-4.0.repotệp để bạn có thể cài đặt MongoDB trực tiếp bằng cách sử dụng yum.
Chạy:
Và điền vào tệp với cấu hình sau:
Để cài đặt phiên bản ổn định mới nhất của MongoDB, hãy đưa ra lệnh sau:
Kiểm tra phiên bản MongoDB:
Có thể khởi động và cho phép(thiết lập để khởi động khi khởi động lại)Dịch vụ MongoDB nếu chưa được khởi động và bật:
Tải xuống và cài đặt
Kiểm tra phiên bản
Lấy chứng chỉRSAvàECC/ECDSAcho tên miền/tên máy chủ của bạn:
Nếu bạn muốn có chứng chỉ giả để thử nghiệm, bạn có thể thêm
Để liệt kê các chứng chỉ đã cấp, bạn có thể chạy:
Tạo thư mục để lưu trữ chứng chỉ của bạn. Chúng tôi sẽ sử dụng
Cài đặt/sao chép chứng chỉ vào/etc/letsencryptthư mục.
Sau khi chạy các lệnh trên, chứng chỉvà khóacủa bạn sẽ nằm trong:
Sau khi lấy được chứng chỉ, hãy thoát khỏi người dùng root và trở lại người dùng sudo bình thường:
Tải xuống và cài đặt NGINX:
Kiểm tra phiên bản NGINX:
Bật và khởi động dịch vụ NGINX:
Chạy
Điều duy nhất bạn cần thay đổi trong cấu hình trên là
Kiểm tra cấu hình NGINX:
Cuối cùng, để các thay đổi có hiệu lực, chúng ta cần tải lại NGINX:
Điều hướng đến thư mục gốc của tài liệu:
Thay đổi quyền sở hữu của thư mục
LƯU Ý:Thay thế your_user trong lệnh trên bằng người dùng không phải root mà bạn đã tạo làm điều kiện tiên quyết cho hướng dẫn này.
Từ
Sau khi cài đặt hoàn tất, bạn có thể chạy lệnh sau để xem phiên bản Wiki.js hiện đang được cài đặt:
Sau khi cài đặt hoàn tất, bạn sẽ được nhắc khởi chạy trình hướng dẫn cấu hình.
Vì vậy, hãy khởi chạy trình hướng dẫn cấu hình bằng cách chạy:
Sử dụng trình duyệt web của bạn, điều hướng đến
Đầu tiên, bạn sẽ thấy một thông báo chào mừng. Nhấp vào nút "Bắt đầu":
Trang "Kiểm tra hệ thống" tiếp theo sẽ xuất hiện. Nếu tất cả các yêu cầu được đáp ứng, hãy nhấp vào nút "Tiếp tục".
Nhập thông tin chung về wiki của bạn và nhấp vào nút "Tiếp tục":
Đọc thông báo "Cân nhắc quan trọng" và nhấp vào "Tiếp tục" để biết bước tiếp theo:
Tiếp theo, kết nối với cơ sở dữ liệu và tiếp tục:
Bạn sẽ thấy thông báo rằng Wiki.js đã đượckết nối thành côngvới cơ sở dữ liệu. Nhấp vào nút "Tiếp tục":
Đặt đường dẫn và tiếp tục:
Thiết lập kho lưu trữ Git từ xa nếu bạn muốn hoặc bỏ qua bước này. Bước này là tùy chọn nhưng được khuyến khích:
Tiếp theo, nhấp vào nút "Tiếp tục":
Tạo tài khoản quản trị viên và nhấp vào nút "Tiếp tục":
Và cuối cùng, khởi động Wiki.js:
Chờ khoảng 30 giây và bạn sẽ được chuyển hướng đến trang chủ Wiki.js:
Quá trình cài đặt đã hoàn tất. Bạn sẽ thấy trang chào mừng của wiki:
Yêu cầu PM2 tự cấu hình thành một dịch vụ khởi động bằng cách chạy:
Cuối cùng, lưu cấu hình PM2 hiện tại bằng cách chạy lệnh:
Wiki.js của bạn hiện chạy dưới dạng một quy trình nền, sử dụng PM2 làm trình quản lý quy trình của nó.
- Chỉnh sửa Markdown, được hỗ trợ bởi Git
- Nhẹ nhưng cực kỳ mạnh mẽ
- Được thiết kế đẹp mắt cho web hiện đại
- Kiểm soát truy cập tích hợp
- Quản lý tài sản trực quan
- Công cụ tìm kiếm tích hợp
acme.sh
client và cơ quan cấp chứng chỉ Let's Encrypt để thêm hỗ trợ SSL.Yêu cầu
Yêu cầu để chạy Wiki.js là sau:- Yêu cầu Node.js 6.11.1 đến 10.x.
- MongoDB phiên bản 3.2 trở lên.
- Git phiên bản 2.7.4 trở lên.
- Phần mềm máy chủ web như NGINX, Apache, Caddy, H2O...
- Kho lưu trữ Git trống (tùy chọn).
- Tối thiểu512MB RAM. Khuyến nghị 1GB RAM.
- Khoảng300MBdung lượng đĩa.
- Tên miền có thiết lập bản ghiA/AAAADNS.
Điều kiện tiên quyết
- Hệ điều hành CentOS7.
- Người dùng không phải root với
sudo
quyền hạn.
Các bước ban đầu
Kiểm tra phiên bản CentOS của bạn:
Mã:
cat /etc/centos-release[B]
Mã:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Mã:
sudo yum update -y
Mã:
sudo yum install -y curl wget vimunzip socat epel-release
Mã:
# Xóa gói git hiện có nếu đã cài đặt:
sudo yum remove -y git
sudo yum groupinstall -y "Công cụ phát triển"
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.21.0.tar.gz && tar zxvf git-2.21.0.tar.gz
rm git-2.21.0.tar.gz
cd git-2.21.0
make configure
./configure make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
which git
git --version
Bước 1- Cài đặt Node.js và npm
Wiki.jsđược xây dựng trênNode.js.Chúng tôi sẽ cài đặtphiên bảnmới nhất được khuyến nghị cho Wiki.js là phiên bản 10[/b]tại thời điểm viết bài này. Trên Linux, bạn có một số tùy chọn cài đặt Node.js: Linux Binaries (x86/x64), Source Code hoặc thông qua Package Managers. Chúng tôi sẽ sử dụng tùy chọn Package Management giúp việc cài đặt và cập nhật Node.js trở nên dễ dàng.Tải xuống và cài đặt phiên bản mới nhất được đề xuấtcủaNode.js từ NodeSourcerepository:
Mã:
[ICODE]curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install -y nodejs[/ICODE]
Kiểm tra phiên bản Node.js và npm:
Mã:
[ICODE]node -v && npm -v
# v10.15.1
# 6.4.1
[/ICODE]
Mã:
sudo npm install -g npm@latest
Kiểm tra lại phiên bản npm bằng:
Mã:
npm -v
# 6.8.0
Bước 2 - Cài đặt cơ sở dữ liệu MongoDB
Wiki.jscần một cơ sở dữ liệu để lưu trữ dữ liệu của nó và phiên bản ổn định hiện tại của Wiki.js chỉ hỗ trợ công cụ cơ sở dữ liệu MongoDB.Theo đó, chúng ta sẽ cần cài đặt cơ sở dữ liệu MongoDB.Tạo một/etc/yum.repos.d/mongodb-org-4.0.repotệp để bạn có thể cài đặt MongoDB trực tiếp bằng cách sử dụng yum.
Chạy:
Mã:
sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo
Mã:
[mongodb-org-4.0]name=Kho lưu trữ MongoDBbaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Mã:
sudo yum install -y mongodb-org
Mã:
mongo --version | head -n 1 && mongod --version | head -n 1
# Phiên bản shell MongoDB v4.0.6
# Phiên bản db v4.0.6
Mã:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Bước 3 - Cài đặt ứng dụng khách acme.sh và lấy chứng chỉ Let's Encrypt (tùy chọn)
Không nhất thiết phải bảo mật trang web của bạn bằng HTTPS, nhưng đây là biện pháp tốt để bảo mật lưu lượng truy cập trang web của bạn. Để lấy chứng chỉ SSL từ Let's Encrypt, chúng ta sẽ sử dụngacme.sh
client. Acme.sh
là phần mềm shell UNIX thuần túy để lấy chứng chỉ SSL từ Let's Encrypt mà không phụ thuộc vào bất kỳ thứ gì.Tải xuống và cài đặt
acme.sh
:
Mã:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail[emailprotected]
source ~/.bashrc
cd ~
acme.sh
:
Mã:
acme.sh --version
# v2.8.1
Mã:
# RSA 2048
acme.sh --issue--standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
--staging
flag vào các lệnh trên.Để liệt kê các chứng chỉ đã cấp, bạn có thể chạy:
Mã:
acme.sh --list
/etc/letsencrypt
nhưng có thể là bất kỳ thư mục nào bạn thích để lưu trữ chứng chỉ SSL.
Mã:
mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc
Mã:
# 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"
- Đối với RSA: /etc/letsencrypt
/example.com
thư mục. - Đối với ECC/ECDSA: /etc/letsencrypt
/example.com_ecc
thư mục.
Sau khi lấy được chứng chỉ, hãy thoát khỏi người dùng root và trở lại người dùng sudo bình thường:
Mã:
exit
Bước 4 - Cài đặt và cấu hình NGINX
Wiki.js (hoặc bất kỳ ứng dụng HTTP Node.js nào) có thể chạy mà không cần bất kỳ máy chủ web thực tế nào (như NGINX hoặc Apache). Tuy nhiên, chúng tôi khuyên bạn nên đặt một máy chủ web chuẩn trước Wiki.js. Điều này đảm bảo bạn có thể sử dụng các tính năng như SSL, nhiều trang web, bộ nhớ đệm, v.v. Chúng tôi sẽ sử dụng NGINX trong hướng dẫn này, nhưng bất kỳ máy chủ nào khác cũng được, bạn chỉ cần cấu hình đúng cách.Tải xuống và cài đặt NGINX:
Mã:
sudo yum install -y nginx
Mã:
nginx -v
# phiên bản nginx: nginx/1.12.2
Mã:
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
sudo vim /etc/nginx/conf.d/wiki.js.conf
và cấu hình NGINX làm proxy ngược HTTPS.
Mã:
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; }}
server_name
directive và có khả năng là proxy_pass
directive nếu bạn quyết định cấu hình một số cổng khác ngoài 3000
. Wiki.js sử dụng cổng 3000
theo mặc định.Kiểm tra cấu hình NGINX:
Mã:
sudo nginx -t
Mã:
sudo systemctl reload nginx.service
Bước 5 - Cài đặt và thiết lậpWiki.js
Tạo thư mục gốc của tài liệu nơi Wiki.js sẽ nằm:
Mã:
sudo mkdir -p /var/www/wiki.js
Mã:
cd /var/www/wiki.js
/var/www/wiki.js
thànhyour_user:
Mã:
sudo chown -R [your_user]:[your_user] /var/www/wiki.js
Từ
/var/www/wiki.js
thư mục, chạy lệnh sau để tải và cài đặt ứng dụng Wiki.js mới nhất:
Mã:
curl -sSo- https://wiki.js.org/install.sh | bash
Mã:
node wiki --version
# 1.0.117
Vì vậy, hãy khởi chạy trình hướng dẫn cấu hình bằng cách chạy:
Mã:
node wiki configure
http://example.com
và làm theo hướng dẫn trên màn hình. Tất cả các thiết lập được nhập trong trình hướng dẫn cấu hình đều được lưu trong tệpconfig.yml
. Trình hướng dẫn cấu hình sẽ tự động khởi động Wiki.js cho bạn.Đầu tiên, bạn sẽ thấy một thông báo chào mừng. Nhấp vào nút "Bắt đầu":
Trang "Kiểm tra hệ thống" tiếp theo sẽ xuất hiện. Nếu tất cả các yêu cầu được đáp ứng, hãy nhấp vào nút "Tiếp tục".
Nhập thông tin chung về wiki của bạn và nhấp vào nút "Tiếp tục":
Đọc thông báo "Cân nhắc quan trọng" và nhấp vào "Tiếp tục" để biết bước tiếp theo:
Tiếp theo, kết nối với cơ sở dữ liệu và tiếp tục:
Bạn sẽ thấy thông báo rằng Wiki.js đã đượckết nối thành côngvới cơ sở dữ liệu. Nhấp vào nút "Tiếp tục":
Đặt đường dẫn và tiếp tục:
Thiết lập kho lưu trữ Git từ xa nếu bạn muốn hoặc bỏ qua bước này. Bước này là tùy chọn nhưng được khuyến khích:
Tiếp theo, nhấp vào nút "Tiếp tục":
Tạo tài khoản quản trị viên và nhấp vào nút "Tiếp tục":
Và cuối cùng, khởi động Wiki.js:
Chờ khoảng 30 giây và bạn sẽ được chuyển hướng đến trang chủ Wiki.js:
Quá trình cài đặt đã hoàn tất. Bạn sẽ thấy trang chào mừng của wiki:
Bước 6 - Thiết lập PM2 Process Manager
Theo mặc định, Wiki.js sẽ không tự động khởi động sau khi khởi động lại hệ thống. Để khởi động khi khởi động, chúng ta cần thiết lập PM2 process manager. PM2 đi kèm với Wiki.js dưới dạng một mô-đun localnpm, vì vậy chúng ta không cần cài đặt PM2 toàn cục.Yêu cầu PM2 tự cấu hình thành một dịch vụ khởi động bằng cách chạy:
Mã:
/var/www/wiki.js/node_modules/pm2/bin/pm2 startup
Mã:
/var/www/wiki.js/node_modules/pm2/bin/pm2 save