DokuWiki là một ứng dụng phần mềm Wiki miễn phí, mã nguồn mở và mạnh mẽ được viết bằng PHP. Nó sử dụng một tệp để lưu trữ dữ liệu thay vì sử dụng cơ sở dữ liệu. Nó đơn giản, nhẹ và cho phép bạn tạo và chỉnh sửa trang web từ trình duyệt web. Nó cung cấp nhiều tính năng cho phép bạn mở rộng và tối ưu hóa trang web của mình một cách dễ dàng. Nó được nhiều người dùng sử dụng do cú pháp rõ ràng và dễ đọc, dễ bảo trì, sao lưu và tích hợp.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt DokuWiki với Apache và Let's Encrypt SSL trên Debian 11.
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.
Sau khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Apache và cho phép nó khởi động khi khởi động lại hệ thống:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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 của Apache:
Tiếp theo, giải nén tệp đã tải xuống vào thư mục DokuWiki bằng lệnh sau:
Tiếp theo, sao chép một số tệp cần thiết bằng lệnh sau:
Tiếp theo, đặt quyền sở hữu thích hợp cho thư mục DokuWiki:
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 đó bật tệp cấu hình máy chủ ảo bằng lệnh sau:
Tiếp theo, tải lại Apache để áp dụng các thay đổi.
Bạn cũng có thể kiểm tra trạng thái Apache bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Bạn có thể cài đặt Certbot bằng lệnh sau:
Sau khi ứng dụng Certbot đã được cài đặt thành công, hãy chạy lệnh sau để cài đặt Let's Encrypt SSL cho trang web của bạn:
Bạn sẽ được yêu cầu cung cấp email hợp lệ và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, hãy chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không hoặc cấu hình Nginx để chuyển hướng tất cả lưu lượng truy cập tới quyền truy cập HTTPS an toàn như hiển thị trong đầu ra sau:
Nhập 2 và nhấn Enter để bắt đầu quy trình. Sau khi cài đặt hoàn tất, bạn sẽ nhận được kết quả sau:
Tại thời điểm này, trang Dokuwiki của bạn được bảo mật bằng Let's Encrypt SSL. 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 giao thức HTTPS.
Nếu bạn muốn gia hạn chứng chỉ SSL theo cách thủ công, hãy chạy lệnh sau:
Bạn có thể thiết lập cron job để tự động gia hạn chứng chỉ SSL vào lúc 10:00 sáng hàng ngày bằng cách chỉnh sửa tệp sau:
Thêm dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Cung cấp tên wiki, tên người dùng quản trị, mật khẩu, email, chọn chính sách của bạn và nhấp vào nút Lưu. Bạn sẽ được chuyển hướng đến trang sau:
Nhấp vào "DokuWiki mới của bạn". Bạn sẽ thấy màn hình sau:
Nhấp vào nút Đăng nhập. Bạn sẽ được chuyển hướng đến màn hình đăng nhập DokuWiki như hiển thị bên dưới:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển DokuWiki trên màn hình sau:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt DokuWiki với Apache và Let's Encrypt SSL trên Debian 11.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- 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ủ.
Bắt đầu
Trước khi bắt đầu, bạn nên cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Cài đặt Apache và PHP
DokuWiki chạy trên Apache hoặc Nginx và được viết bằng ngôn ngữ PHP. Vì vậy, bạn sẽ cần cài đặt Apache, PHP và các tiện ích mở rộng cần thiết khác vào máy chủ của mình. Bạn có thể cài đặt chúng bằng cách chạy lệnh sau:
Mã:
apt-get install apache2 php php-gd php-xml php-json -y
Mã:
systemctl start apache2
systemctl enable apache2
Cài đặt DokuWiki
Trước tiên, hãy truy cập trang tải xuống DokuWiki và tải xuống phiên bản DokuWiki mới nhất bằng lệnh sau:
Mã:
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Mã:
mkdir /var/www/html/dokuwiki
Mã:
tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-components=1
Mã:
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Mã:
chown -R www-data:www-data /var/www/html/dokuwiki
Tạo Apache Virtual Host cho DokuWiki
Tiếp theo, bạn sẽ cần tạo một Tệp cấu hình máy chủ ảo Apache để lưu trữ DokuWiki trên internet. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/dokuwiki.conf
Mã:
ServerName dokuwiki.example.com DocumentRoot /var/www/html/dokuwiki AllowOverride All Require all denied Order allow,deny Deny from all ErrorLog /var/log/apache2/dokuwiki_error.log CustomLog /var/log/apache2/dokuwiki_access.log combined
Mã:
a2ensite dokuwiki.conf
Mã:
systemctl reload apache2
Mã:
systemctl status apache2
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, ngày 24 tháng 10 năm 2021 lúc 04:01:29 UTC; 9 phút trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 27698 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Nhiệm vụ: 77 (giới hạn: 4691) Bộ nhớ: 12,5M CGroup: /system.slice/apache2.service ??21346 /usr/sbin/apache2 -k start ??27703 Passenger watchdog ??27706 Passenger core ??27711 Passenger ust-router ??27729 /usr/sbin/apache2 -k start ??27730 /usr/sbin/apache2 -k start
Bảo mật DokuWiki với Let's Encrypt SSL
Sau khi cấu hình Apache, bạn nên bảo mật trang wiki của mình bằng chứng chỉ SSL Let's Encrypt. Để thực hiện, bạn sẽ cần cài đặt máy khách Certbot trong hệ thống của mình. Certbot là máy khách dễ sử dụng, lấy chứng chỉ từ Let's Encrypt, một cơ quan cấp chứng chỉ mở do EFF, Mozilla và các tổ chức khác khởi chạy—và triển khai chứng chỉ đó lên máy chủ web. Sử dụng ứng dụng Certbot Let's Encrypt, bạn có thể dễ dàng tải xuống, cài đặt và gia hạn chứng chỉ SSL cho tên miền của mình.Bạn có thể cài đặt Certbot bằng lệnh sau:
Mã:
apt-get install certbot python3-certbot-apache -y
Mã:
certbot --apache -d dokuwiki.example.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator apache, Installer apacheNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic FrontierFoundation, đối tác sáng lập của dự án Let's Encrypt và là tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)ó: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho dokuwiki.example.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp thử tháchĐã tạo vhost SSL tại /etc/apache2/sites-available/dokuwiki-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.confĐã bật trang web khả dụng: /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Mã:
Enabled Apache rewrite moduleRedirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://dokuwiki.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/dokuwiki.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/dokuwiki.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 25-01-2021. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le
Thiết lập tính năng tự động gia hạn chứng chỉ SSL Let's Encrypt
Theo mặc định, chứng chỉ Let’s Encrypt có hiệu lực trong 90 ngày. Vì vậy, bạn sẽ cần thiết lập một công việc cron để tự động gia hạn chứng chỉ SSL. Có thể tạo một cron job chạy hàng tuần hoặc thậm chí hàng ngày một cách an toàn.Nếu bạn muốn gia hạn chứng chỉ SSL theo cách thủ công, hãy chạy lệnh sau:
Mã:
certbot renew --dry-run
Mã:
crontab -e
Mã:
00 10 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Truy cập DokuWiki
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL . Bạn sẽ thấy màn hình cài đặt DokuWiki:Cung cấp tên wiki, tên người dùng quản trị, mật khẩu, email, chọn chính sách của bạn và nhấp vào nút Lưu. Bạn sẽ được chuyển hướng đến trang sau:
Nhấp vào "DokuWiki mới của bạn". Bạn sẽ thấy màn hình sau:
Nhấp vào nút Đăng nhập. Bạn sẽ được chuyển hướng đến màn hình đăng nhập DokuWiki như hiển thị bên dưới:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển DokuWiki trên màn hình sau: