Wiki.js là phần mềm wiki miễn phí và mã nguồn mở dựa trên Node.js, Git và Markdown. Phần mềm này được phát hành theo Giấy phép AGPL-v3 và được thiết kế để tiết kiệm tài nguyên hệ thống và hiệu suất. Wiki.js là phần mềm Wiki mạnh mẽ có thể cài đặt ở bất kỳ đâu trên hệ thống của bạn. Bạn có thể cài đặt phần mềm này trên hệ điều hành hoặc sử dụng các dịch vụ đám mây như Heroku và cũng có thể triển khai Wiki.js trên môi trường chứa của bạn, chẳng hạn như Docker và Kubernetes.
Wiki.js tương thích với cơ sở dữ liệu PostgreSQL và cung cấp hơn 50 tích hợp để xác thực, hệ thống ghi nhật ký, công cụ tìm kiếm, kết xuất và lưu trữ bổ sung. Đây là phần mềm Wiki mạnh mẽ được xây dựng trên các giao diện đẹp mắt và trực quan cho cả bảng điều khiển quản trị và các trang. Đây là phần mềm wiki hoàn toàn có thể tùy chỉnh để ghi lại tài liệu về ngăn xếp công nghệ của bạn.
Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách cài đặt Wiki.js trên hệ thống Debian 12. Chúng tôi sẽ hướng dẫn bạn cài đặt Wiki.js, sử dụng máy chủ cơ sở dữ liệu PostgreSQL, Nginx làm proxy ngược, sau đó bảo mật phiên bản Wiki.js của bạn bằng chứng chỉ SSL/TLS từ Let's Encrypt.
Bây giờ hãy cài đặt các gói phụ thuộc cho Wiki.js thông qua lệnh apt install bên dưới. Với lệnh sau, bạn sẽ cài đặt máy chủ cơ sở dữ liệu PostgreSQL, Node.js và NPM, máy chủ web Nginx, Certbot và plugin Certbot Nginx.
Nhập y để xác nhận và tiếp tục cài đặt.
Sau khi cài đặt xong các phụ thuộc, hãy xác minh từng phụ thuộc bằng các lệnh sau.
Xác minh trạng thái dịch vụ PostgreSQL bằng lệnh systemctl bên dưới.
Một đầu ra tương tự bên dưới sẽ được hiển thị.
Xác minh trạng thái dịch vụ Nginx để đảm bảo nó đang chạy và đã bật.
Nếu Nginx đang chạy và được bật, đầu ra bên dưới sẽ được hiển thị trên thiết bị đầu cuối của bạn.
Cuối cùng, hãy xác minh Node.js và NPN bằng cách thực hiện lệnh sau. Đầu ra sẽ hiển thị phiên bản Node.js và NPM hiện tại được cài đặt trên hệ thống của bạn.
Đăng nhập vào máy chủ PostgreSQL bằng cách thực hiện lệnh sau.
Sau khi đăng nhập, hãy chạy các truy vấn sau để tạo cơ sở dữ liệu PostgreSQL mới và người dùng wikijs. Hãy nhớ thay đổi mật khẩu trong các truy vấn sau.
Sau khi cơ sở dữ liệu và người dùng được tạo, hãy xác minh sự tồn tại của chúng bằng các truy vấn sau để liệt kê các cơ sở dữ liệu và người dùng khả dụng trên phiên bản PostgreSQL của bạn.
Bạn sẽ thấy cơ sở dữ liệu và người dùng wikijs được tạo trên PostgreSQL.
Gõ quit để thoát khỏi máy chủ PostgreSQL.
Tạo người dùng wikijs mới bằng cách thực hiện lệnh sau.
Bây giờ hãy tạo một thư mục mới /opt/wikijs và chuyển vào đó. Sau đó, tải xuống mã nguồn Wiki.js thông qua lệnh wget bên dưới.
Sau khi tải xuống, hãy giải nén mã nguồn Wiki.js và thay đổi quyền sở hữu thư mục /opt/wikijs thành người dùng wikijs.
Sao chép cấu hình WIki.js mặc định config.sample.yml vào config.yml, sau đó mở nó bằng trình soạn thảo nano sau.
Thay đổi cấu hình cơ sở dữ liệu mặc định với cơ sở dữ liệu, người dùng và PostgreSQL của bạn mật khẩu.
Thay đổi tùy chọn bindIP mặc định thành localhost hoặc 127.0.0.1. Lệnh này sẽ chạy Wiki.js trên localhost.
Lưu và thoát sau khi hoàn tất.
Tiếp theo, chạy lệnh sau để chạy và kiểm tra cài đặt Wiki.js của bạn.
Bạn sẽ thấy xác nhận rằng Wiki.js đang chạy trên localhost với cổng mặc định 3000.
Cuối cùng, nhấn Ctrl+c để kết thúc tiến trình Wiki.js.
Tạo tệp dịch vụ systemd mới cho Wiki.js /etc/systemd/system/wikijs.service bằng lệnh trình chỉnh sửa nano bên dưới.
Chèn cấu hình sau để cho phép Wiki.js chạy ở chế độ nền dưới dạng dịch vụ.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Tiếp theo, chạy lệnh systemctl bên dưới để tải lại trình quản lý systemd và áp dụng tệp dịch vụ mới cho Wiki.js.
Bây giờ bạn có thể bắt đầu và kích hoạt dịch vụ wiki.js bằng lệnh bên dưới.Điều này sẽ khởi động Wiki.js ở chế độ nền trên máy chủ cục bộ với cổng mặc định3000 và cho phép nó tự động chạy khi khởi động.
Xác minh dịch vụ wikijs bằng lệnh bên dưới để đảm bảo rằng dịch vụ đang chạy.
Đầu ra bên dưới sẽ được hiển thị.
Cuối cùng, hãy chạy lệnh ss bên dưới để xác minh cổng 3000 được Wiki.js sử dụng ứng dụng.
Nếu Wiki.js đang chạy, bạn sẽ thấy ứng dụng Node.js sử dụng cổng 3000.
Tạo cấu hình khối máy chủ Nginx mới /etc/nginx/sites-available/wikijs bằng lệnh nano editor sau.
Chèn cấu hình sau và đảm bảo thay đổi tên miền Wiki.js của bạn cài đặt.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Tiếp theo, chạy lệnh sau để bật cấu hình khối máy chủ Wiki.js và xác minh cú pháp Nginx.
Nếu cú pháp Nginx của bạn đúng, bạn sẽ nhận được đầu ra test is successful - syntax is ok.
Bây giờ hãy khởi động lại dịch vụ Nginx bằng lệnh bên dưới để áp dụng khối máy chủ mới mà bạn đã cấu hình.
Sau khi Nginx được khởi động lại, hãy khởi chạy trình duyệt web ưa thích của bạn và truy cập tên miền cài đặt Wiki.js của bạn, chẳng hạn như http://wiki.howtoforge.local/. Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy trang cài đặt Wiki.js như thế này:
Thực hiện lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS mới từ letsencrypt. Hãy chắc chắn thay đổi thông tin chi tiết của tên miền và địa chỉ email bằng thông tin của bạn.
Sau khi quá trình hoàn tất, chứng chỉ SSL của bạn sẽ có tại thư mục /etc/letsencrypt/live/wiki.howtoforge.local/. Đối với cấu hình khối máy chủ Wiki.js, nó sẽ tự động được cấu hình bằng HTTPS thông qua Plugin Certbot Nginx.
Bây giờ hãy tạo người dùng quản trị cho Wiki.js và nhập địa chỉ email và mật khẩu của bạn. Sau đó, nhấp vào CÀI ĐẶT để xác nhận cài đặt.
Sau khi cài đặt hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập Wiki.js của mình. Nhập địa chỉ email và mật khẩu quản trị của bạn, sau đó nhấp vào ĐĂNG NHẬP.
Nếu cài đặt thành công, bạn sẽ thấy trang chào mừng của Wiki.js. Từ đây, bạn có thể tạo trang chủ mới hoặc truy cập bảng điều khiển quản trị Wiki.js.
Nếu bạn nhấp vào QUẢN TRỊ, bạn sẽ thấy trang quản trị Wiki.js như thế này:
Trong phần SYSTEM, hãy nhấp vào menu System Info để biết thông tin chi tiết về cài đặt Wiki.js của bạn. Dưới đây, bạn sẽ thấy Wiki.js 2.5 được cài đặt với Node.js 18.x và PostgreSQL 15.x.
Wiki.js tương thích với cơ sở dữ liệu PostgreSQL và cung cấp hơn 50 tích hợp để xác thực, hệ thống ghi nhật ký, công cụ tìm kiếm, kết xuất và lưu trữ bổ sung. Đây là phần mềm Wiki mạnh mẽ được xây dựng trên các giao diện đẹp mắt và trực quan cho cả bảng điều khiển quản trị và các trang. Đây là phần mềm wiki hoàn toàn có thể tùy chỉnh để ghi lại tài liệu về ngăn xếp công nghệ của bạn.
Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách cài đặt Wiki.js trên hệ thống Debian 12. Chúng tôi sẽ hướng dẫn bạn cài đặt Wiki.js, sử dụng máy chủ cơ sở dữ liệu PostgreSQL, Nginx làm proxy ngược, sau đó bảo mật phiên bản Wiki.js của bạn bằng chứng chỉ SSL/TLS từ Let's Encrypt.
Điều kiện tiên quyết
Trước khi tiếp tục, hãy đảm bảo rằng bạn có:- Máy chủ Debian 12.
- Người dùng không phải root có quyền quản trị viên.
- Tên miền được trỏ đến địa chỉ IP của máy chủ của bạn. Ví dụ này sẽ sử dụng miền wiki.howtoforge.local.
Cài đặt các phụ thuộc
Ở giai đoạn đầu tiên, bạn sẽ cài đặt một số phụ thuộc sẽ được Wiki.js sử dụng, bao gồm:- Máy chủ cơ sở dữ liệu PostgreSQL: Máy chủ này sẽ được sử dụng làm cơ sở dữ liệu cho Wiki.js của bạn.
- Máy chủ web Nginx: Máy chủ web Nginx sẽ được sử dụng làm proxy ngược cho Wiki.js.
- Node.js và NPM: Công cụ chạy JavaScript Node.js và trình quản lý gói NPM.
- Certbot và Nginx Certbot Plugin: Certbot để tạo chứng chỉ SSL/TLS thông qua Let's Encrypt và Nginx Certbot Plugin sẽ tự động xác nhận khối máy chủ Nginx của bạn bằng HTTPS.
Mã:
sudo apt update
Mã:
sudo apt install postgresql postgresql-common nodejs npm nginx certbot python3-certbot-nginx

Sau khi cài đặt xong các phụ thuộc, hãy xác minh từng phụ thuộc bằng các lệnh sau.
Xác minh trạng thái dịch vụ PostgreSQL bằng lệnh systemctl bên dưới.
Mã:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Xác minh trạng thái dịch vụ Nginx để đảm bảo nó đang chạy và đã bật.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx

Cuối cùng, hãy xác minh Node.js và NPN bằng cách thực hiện lệnh sau. Đầu ra sẽ hiển thị phiên bản Node.js và NPM hiện tại được cài đặt trên hệ thống của bạn.
Mã:
node --version
npm --version

Tạo cơ sở dữ liệu và người dùng PostgreSQL
Sau khi cài đặt các phần phụ thuộc, bước tiếp theo là tạo cơ sở dữ liệu và người dùng mới cho cài đặt Wiki.js của bạn. Để thực hiện điều đó, bạn phải đăng nhập vào PostgreSQL thông qua máy khách psql.Đăng nhập vào máy chủ PostgreSQL bằng cách thực hiện lệnh sau.
Mã:
sudo -u postgres psql
Mã:
CREATE USER wikijs WITH PASSWORD 'p4ssw0rd';
CREATE DATABASE wikijs OWNER wikijs;

Sau khi cơ sở dữ liệu và người dùng được tạo, hãy xác minh sự tồn tại của chúng bằng các truy vấn sau để liệt kê các cơ sở dữ liệu và người dùng khả dụng trên phiên bản PostgreSQL của bạn.
Mã:
\du
\l

Gõ quit để thoát khỏi máy chủ PostgreSQL.
Tải xuống mã nguồn Wiki.js
Trong phần sau, bạn sẽ tải xuống mã nguồn Wiki.js vào máy chủ của bạn và thiết lập thư mục cài đặt với quyền và quyền sở hữu phù hợp.Tạo người dùng wikijs mới bằng cách thực hiện lệnh sau.
Mã:
sudo useradd -m -s /bin/false wikijs
Mã:
mkdir -p /opt/wikijs; cd /opt/wikijs
wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
Mã:
tar -xf wiki-js.tar.gz
sudo chown -R wikijs:wikijs /opt/wikijs
Cấu hình Wiki.js
Sau khi tải xuống Wiki.js, tiếp theo bạn sẽ cấu hình cài đặt Wiki.js của mình với cơ sở dữ liệu và người dùng PostgreSQL, và bạn cũng sẽ cấu hình địa chỉ IP liên kết cho Wiki.js.Sao chép cấu hình WIki.js mặc định config.sample.yml vào config.yml, sau đó mở nó bằng trình soạn thảo nano sau.
Mã:
sudo -u wikijs cp config.sample.yml config.yml
sudo -u wikijs nano config.yml
Mã:
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: wikijs
pass: p4ssw0rd
db: wikijs
ssl: false
Mã:
bindIP: 127.0.0.1
Tiếp theo, chạy lệnh sau để chạy và kiểm tra cài đặt Wiki.js của bạn.
Mã:
sudo -u wikijs node server

Cuối cùng, nhấn Ctrl+c để kết thúc tiến trình Wiki.js.
Chạy Wiki.js ở chế độ nền dưới dạng dịch vụ
Bây giờ bạn đã hoàn tất cấu hình WIki.js, bước tiếp theo là bạn sẽ thiết lập Wiki.js chạy ở chế độ nền dưới dạng dịch vụ systemd. Bằng cách sử dụng phương pháp sau, bạn có thể dễ dàng quản lý WIki.js thông qua tiện ích systemctl.Tạo tệp dịch vụ systemd mới cho Wiki.js /etc/systemd/system/wikijs.service bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/systemd/system/wikijs.service
Mã:
[Unit]
Description=Wiki.js
After=network.target postgresql.service
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
User=wikijs
Environment=NODE_ENV=production
WorkingDirectory=/opt/wikijs
[Install]
WantedBy=multi-user.target
Tiếp theo, chạy lệnh systemctl bên dưới để tải lại trình quản lý systemd và áp dụng tệp dịch vụ mới cho Wiki.js.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start wikijs
sudo systemctl enable wikijs

Xác minh dịch vụ wikijs bằng lệnh bên dưới để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status wikijs

Cuối cùng, hãy chạy lệnh ss bên dưới để xác minh cổng 3000 được Wiki.js sử dụng ứng dụng.
Mã:
ss -tulpn | grep 3000

Cấu hình Nginx làm Proxy ngược
Bây giờ Wiki.js đang chạy trên máy chủ cục bộ với cổng mặc định là 3000. Ở bước tiếp theo, bạn sẽ tạo cấu hình khối máy chủ Nginx mới sẽ được sử dụng làm proxy ngược cho Wiki.js. Trước khi bắt đầu, hãy đảm bảo rằng bạn có tên miền được trỏ đến địa chỉ IP máy chủ của mình.Tạo cấu hình khối máy chủ Nginx mới /etc/nginx/sites-available/wikijs bằng lệnh nano editor sau.
Mã:
sudo nano /etc/nginx/sites-available/wikijs
Mã:
server {
listen 80;
server_name wiki.howtoforge.local;
root /opt/wikijs;
access_log /var/log/nginx/wikijs.access.log;
error_log /var/log/nginx/wikijs.error.log;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:3000;
}
}
Tiếp theo, chạy lệnh sau để bật cấu hình khối máy chủ Wiki.js và xác minh cú pháp Nginx.
Mã:
sudo ln -s /etc/nginx/sites-available/wikijs /etc/nginx/sites-enabled
sudo nginx -t

Bây giờ hãy khởi động lại dịch vụ Nginx bằng lệnh bên dưới để áp dụng khối máy chủ mới mà bạn đã cấu hình.
Mã:
sudo systemctl restart nginx

Bảo mật Wiki.js bằng Chứng chỉ SSL/TLS
Trong bước tiếp theo, bạn sẽ bảo mật cài đặt Wiki.js của mình bằng chứng chỉ SSL/TLS từ Letsencrypt. Ngoài ra, bạn sẽ thiết lập HTTP tự động sang HTTPS thông qua Plugin Certtbot Nginx.Thực hiện lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS mới từ letsencrypt. Hãy chắc chắn thay đổi thông tin chi tiết của tên miền và địa chỉ email bằng thông tin của bạn.
Mã:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d wiki.howtoforge.local
Bắt đầu cài đặt Wiki.js
Quay lại trình duyệt web của bạn và truy cập tên miền Wiki.js của bạn, ví dụ: http://wiki.howtoforge.local/. Bạn sẽ tự động được chuyển hướng đến kết nối HTTPS an toàn.Bây giờ hãy tạo người dùng quản trị cho Wiki.js và nhập địa chỉ email và mật khẩu của bạn. Sau đó, nhấp vào CÀI ĐẶT để xác nhận cài đặt.

Sau khi cài đặt hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập Wiki.js của mình. Nhập địa chỉ email và mật khẩu quản trị của bạn, sau đó nhấp vào ĐĂNG NHẬP.

Nếu cài đặt thành công, bạn sẽ thấy trang chào mừng của Wiki.js. Từ đây, bạn có thể tạo trang chủ mới hoặc truy cập bảng điều khiển quản trị Wiki.js.

Nếu bạn nhấp vào QUẢN TRỊ, bạn sẽ thấy trang quản trị Wiki.js như thế này:

Trong phần SYSTEM, hãy nhấp vào menu System Info để biết thông tin chi tiết về cài đặt Wiki.js của bạn. Dưới đây, bạn sẽ thấy Wiki.js 2.5 được cài đặt với Node.js 18.x và PostgreSQL 15.x.
