DokuWiki là phần mềm wiki mã nguồn mở, chạy trên nền web, được thiết kế chủ yếu cho các hệ thống Linux. Nó cho phép cộng tác tài liệu và quản lý kiến thức bằng cách cho phép người dùng tạo và chỉnh sửa nội dung thông qua giao diện web đơn giản và trực quan. DokuWiki nổi bật với tính chất nhẹ và dễ cài đặt, vì nó không yêu cầu cơ sở dữ liệu, khiến nó phù hợp với các tổ chức hoặc dự án nhỏ hơn. Khả năng định dạng văn bản mạnh mẽ, kiểm soát phiên bản và hệ sinh thái plugin mở rộng khiến nó trở thành một công cụ đa năng để tạo và duy trì tài liệu, cơ sở kiến thức và trang web trong môi trường Linux.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt DokuWiki với Nginx trên Alma Linux.
Bạn có thể cài đặt cả hai bằng cách chạy lệnh sau:
Sau khi cả hai gói được cài đặt, hãy kích hoạt kho lưu trữ PHP Remi bằng lệnh sau lệnh:
Bạn sẽ thấy kết quả sau:
Tiếp theo, cài đặt máy chủ web Nginx, PHP và các tiện ích mở rộng cần thiết khác bằng cách sử dụng lệnh sau lệnh:
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp cấu hình PHP-FPM và thay đổi listen, user và group:
Thay đổi các mục sau dòng:
Lưu và đóng tệp sau đó khởi động và kích hoạt dịch vụ Nginx và PHP-FPM bằng lệnh sau:
Bạn cũng có thể xác minh phiên bản PHP bằng lệnh sau lệnh:
Bạn sẽ nhận được kết quả sau:
Sau khi tải xuống hoàn tất, hãy tạo một thư mục cho DokuWiki bên trong thư mục gốc web Nginx:
Tiếp theo, giải nén tệp đã tải xuống bằng lệnh sau lệnh:
Tiếp theo, di chuyển thư mục đã giải nén đến thư mục DokuWiki:
Tiếp theo, thay đổi quyền sở hữu thư mục DokuWiki thành Nginx:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái của Nginx bằng cách sử dụng lệnh sau lệnh:
Bạn sẽ nhận được kết quả sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22636%22%3E%3C/svg%3E
Cung cấp tất cả thông tin bắt buộc như tên siêu người dùng, email, mật khẩu. Sau đó, nhấp vào nút Lưu. Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22374%22%3E%3C/svg%3E
Bây giờ, hãy nhấp vào DokuWiki mới của bạn. Bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22428%22%3E%3C/svg%3E
Bây giờ, hãy nhấp vào nút đăng nhập. Bạn sẽ được chuyển hướng đến trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22416%22%3E%3C/svg%3E
Bây giờ, hãy cung cấp tên người dùng và mật khẩu Quản trị viên của bạn. Sau đó, nhấp vào nútĐăng nhập. Bạn sẽ thấy bảng điều khiển DokuWiki trên trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22441%22%3E%3C/svg%3E
Sau khi cấu hình thành công, hãy xóa tệp install.php khỏi thư mục gốc DokuWiki:
Tiếp theo, chạy lệnh sau để cài đặt Let's Encrypt SSL trên trang web của bạn:
Bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ:
Bây giờ bạn có thể truy cập trang web của mình một cách an toàn bằng URL
.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt DokuWiki với Nginx trên Alma Linux.
Điều kiện tiên quyết
- Một máy chủ đang chạy Alma Linux 8.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt Nginx và PHP
Theo mặc định, phiên bản PHP mới nhất không được bao gồm trong kho lưu trữ mặc định của Alma Linux 8. Vì vậy, bạn sẽ cần cài đặt kho lưu trữ EPEL và Remi trên hệ thống của mình.Bạn có thể cài đặt cả hai bằng cách chạy lệnh sau:
Mã:
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Mã:
dnf module enable php:remi-7.4 -y
Mã:
Dependencies resolved.
============================================================================================================================================== Package Architecture Version Repository Size
==============================================================================================================================================
Enabling module streams: php remi-7.4
Transaction Summary
==============================================================================================================================================
Complete!
Mã:
dnf install nginx php php-cli php-fpm php-gd php-xml php-zip -y
Mã:
nano /etc/php-fpm.d/www.conf
Mã:
user = nginx
group = nginx
Mã:
systemctl start nginx php-fpm
systemctl enable nginx php-fpm
Mã:
php --version
Mã:
PHP 7.4.28 (cli) (built: Feb 15 2022 13:23:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.28, Copyright (c), by Zend Technologies
Cài đặt DokuWiki trên Alma Linux 8
Tiếp theo, bạn sẽ cần tải xuống phiên bản DokuWiki mới nhất từ trang web chính thức của họ. Bạn có thể tải xuống bằng lệnh sau:
Mã:
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Mã:
mkdir /var/www/html/dokuwiki
Mã:
tar xvf dokuwiki-stable.tgz
Mã:
mv dokuwiki-2020-07-29/* /var/www/html/dokuwiki/
Mã:
chown -R nginx:nginx /var/www/html/dokuwiki
Tạo Nginx Virtual Host cho DokuWiki
Tiếp theo, tạo tệp cấu hình Nginx cho DokuWiki bằng lệnh sau lệnh:
Mã:
nano /etc/nginx/conf.d/dokuwiki.conf
Mã:
server { listen 80; server_name wiki.example.com; root /var/www/html/dokuwiki; index index.html index.htm index.php doku.php; client_max_body_size 15M; client_body_buffer_size 128K; location / { try_files $uri $uri/ @dokuwiki; } location ^~ /conf/ { return 403; } location ^~ /data/ { return 403; } location ~ /\.ht { deny all; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1 last; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
}
Mã:
nginx -t
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/nginx.service.d ??php-fpm.conf Active: active (running) since Sat 2022-03-26 04:26:32 UTC; 4s ago Process: 5020 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 5018 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 5017 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 5022 (nginx) Tasks: 2 (limit: 11412) Memory: 3.8M CGroup: /system.slice/nginx.service ??5022 nginx: master process /usr/sbin/nginx ??5023 nginx: worker process
Mar 26 04:26:32 linux systemd[1]: nginx.service: Succeeded.
Mar 26 04:26:32 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Mar 26 04:26:32 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 26 04:26:32 linux nginx[5018]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 26 04:26:32 linux nginx[5018]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 26 04:26:32 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Mar 26 04:26:32 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
Truy cập Giao diện Web DokuWiki
Bây giờ, hãy mở trình duyệt web của bạn và truy cập trình hướng dẫn cài đặt web DokuWiki bằng URL . Bạn sẽ nhận được trang sau:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22636%22%3E%3C/svg%3E
Cung cấp tất cả thông tin bắt buộc như tên siêu người dùng, email, mật khẩu. Sau đó, nhấp vào nút Lưu. Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22374%22%3E%3C/svg%3E
Bây giờ, hãy nhấp vào DokuWiki mới của bạn. Bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22428%22%3E%3C/svg%3E
Bây giờ, hãy nhấp vào nút đăng nhập. Bạn sẽ được chuyển hướng đến trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22416%22%3E%3C/svg%3E
Bây giờ, hãy cung cấp tên người dùng và mật khẩu Quản trị viên của bạn. Sau đó, nhấp vào nútĐăng nhập. Bạn sẽ thấy bảng điều khiển DokuWiki trên trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22441%22%3E%3C/svg%3E
Sau khi cấu hình thành công, hãy xóa tệp install.php khỏi thư mục gốc DokuWiki:
Mã:
rm -rf /var/www/html/dokuwiki/install.php
Bảo mật DokuWiki với Let's Encrypt
Bạn nên bảo mật trang web wiki bằng Let's Encrypt. Để làm như vậy, bạn sẽ cần cài đặt gói Certbot trên máy chủ của mình. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
dnf install epel-release -y
dnf install certbot -y
Mã:
certbot --nginx -d wiki.example.com
Mã:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [emailprotected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for wiki.example.com
Performing the following challenges:
http-01 challenge for wiki.example.com
Waiting for verification.
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/dokuwiki.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/dokuwiki.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wiki.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [emailprotected]).
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/wiki.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/wiki.example.com/privkey.pem Your certificate will expire on 2022-04-09. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le