Cách cài đặt DokuWiki với Apache và Let's Encrypt SSL trên Ubuntu 22.04

Tác giả Security+, T.Hai 05, 2024, 03:44:04 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt DokuWiki với Apache và Let's Encrypt SSL trên Ubuntu 22.04


DokuWiki là phần mềm wiki miễn phí, mã nguồn mở, đơn giản và nhẹ cho phép bạn tạo và chỉnh sửa trang web từ trình duyệt web của mình. Đây là một ứng dụng mạnh mẽ được viết bằng PHP lưu trữ dữ liệu trong một tệp thay vì cơ sở dữ liệu. Nó có nhiều tính năng tích hợp cho phép bạn mở rộng quy mô và tối ưu hóa trang web của mình một cách dễ dàng. Nó ngày càng trở nên phổ biến do cú pháp rõ ràng và dễ đọc, dễ bảo trì, sao lưu và tích hợp dữ liệu.

Bài viết này sẽ hướng dẫn bạn cách cài đặt DokuWiki với Apache và Let's Encrypt SSL trên Ubuntu 22.04.

1. Yêu cầu

  • Một máy chủ chạy Ubuntu 22.04.
  • Một tên miền hợp lệ sẽ được chuyển hướng đến IP máy chủ của bạn.
  • Mật khẩu gốc được cấu hình trên máy chủ.

2. Những bước đầu tiên

Trước khi bắt đầu, bạn nên cập nhật và nâng cấp tất cả các gói hệ thống 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ã nguồn [Chọn]
apt update -y
apt upgrade -y

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.

3. Cài đặt Apache và PHP

Trước tiên, bạn phải cài đặt Apache, PHP và các tiện ích mở rộng cần thiết khác trên 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ã nguồn [Chọn]
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-imap php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-bcmath php-ldap php-zip php-curl unzip curl -y
Sau khi tất cả các gói đã được cài đặt, hãy khởi động dịch vụ Apache và kích hoạt nó để nó khởi động khi hệ thống khởi động lại:

Mã nguồn [Chọn]
systemctl start apache2
systemctl enable apache2

Khi bạn đã hoàn tất, bạn có thể tiến hành bước tiếp theo.

4. Cài đặt DokuWiki trên Ubuntu 22.04

Tiếp theo, 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ã nguồn [Chọn]
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Sau khi quá trình tải xuống hoàn tất, hãy tạo một thư mục cho DokuWiki trong thư mục gốc của web Apache:

Mã nguồn [Chọn]
mkdir /var/www/html/dokuwiki
Giải nén tệp đã tải xuống vào thư mục DokuWiki bằng lệnh sau:

Mã nguồn [Chọn]
tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-comComponents=1
Tiếp theo, sao chép một số tệp cần thiết bằng lệnh sau:

Mã nguồn [Chọn]
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Tiếp theo, bạn cần đặt quyền sở hữu cho thư mục DokuWiki:

Mã nguồn [Chọn]
chown -R www-data:www-data /var/www/html/dokuwiki
Khi bạn đã hoàn tất việc đó, bạn có thể tiến hành bước tiếp theo.

5. Định cấu hình Apache cho DokuWiki

Tiếp theo, bạn cần tạo tệp cấu hình cho máy chủ ảo Apache để lưu trữ DokuWiki. Bạn có thể tạo nó bằng lệnh sau:

Mã nguồn [Chọn]
nano /etc/apache2/sites-available/dokuwiki.conf
Dán các dòng sau:

Mã nguồn [Chọn]
<VirtualHost *:80>
        ServerName    dokuwiki.example.com     
        DocumentRoot  /var/www/html/dokuwiki

        <Directory ~ "/var/www/html/dokuwiki/(bin/|conf/|data/|inc/)">
            <IfModule mod_authz_core.c>
                AllowOverride All
                Require all denied
            </IfModule>
            <IfModule !mod_authz_core.c>
                Order allow,deny
                Deny from all
            </IfModule>
        </Directory>

        ErrorLog   /var/log/apache2/dokuwiki_error.log
        CustomLog  /var/log/apache2/dokuwiki_access.log combined
</VirtualHost>

Lưu và đóng tệp và kích hoạt tệp cấu hình cho máy chủ ảo Apache bằng lệnh sau:

Mã nguồn [Chọn]
a2ensite dokuwiki.conf
Tiếp theo, tải lại dịch vụ Apache để các thay đổi được áp dụng.

Mã nguồn [Chọn]
systemctl reload apache2
Bạn cũng có thể kiểm tra trạng thái Apache bằng lệnh sau:

Mã nguồn [Chọn]
systemctl status apache2
Bạn sẽ nhận được kết quả đầu ra sau:

Mã nguồn [Chọn]
? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-12 13:55:11 UTC; 13s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16193 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16197 (apache2)
      Tasks: 6 (limit: 464122)
     Memory: 14.2M
     CGroup: /system.slice/apache2.service
             ??16197 /usr/sbin/apache2 -k start
             ??16198 /usr/sbin/apache2 -k start
             ??16199 /usr/sbin/apache2 -k start
             ??16200 /usr/sbin/apache2 -k start
             ??16201 /usr/sbin/apache2 -k start
             ??16202 /usr/sbin/apache2 -k start

Nov 12 13:55:10 ubuntu22041 systemd[1]: Starting The Apache HTTP Server...

6. Kích hoạt SSL trên DokuWiki

Bảo mật trang wiki của bạn bằng chứng chỉ SSL Let's Encrypt là một ý tưởng hay. Bạn cần cài đặt ứng dụng khách Certbot trong hệ thống của mình để thực hiện việc này.

Bạn có thể cài đặt Certbot bằng lệnh sau:

Mã nguồn [Chọn]
apt-get install certbot python3-certbot-apache -y
Khi ứng dụng khách Certbot đã được cài đặt thành công, hãy chạy lệnh sau để cài đặt chứng chỉ SSL Let's Encrypt cho trang web của bạn:

Mã nguồn [Chọn]
certbot --apache -d dokuwiki.example.com
Bạn sẽ được yêu cầu nhập địa chỉ email hợp lệ của mình và chấp nhận các điều khoản sử dụng (xem bên dưới):

Mã nguồn [Chọn]
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): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for dokuwiki.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/dokuwiki-le-ssl.conf

Tiếp theo, chọn chuyển hướng lưu lượng HTTP sang HTTPS hay định cấu hình Nginx để chuyển hướng tất cả lưu lượng truy cập sang quyền truy cập HTTPS an toàn, như minh họa trong đầu ra bên dưới:

Mã nguồn [Chọn]
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Nhập 2 và nhấn Enter để bắt đầu quá trình. Sau khi quá trình cài đặt hoàn tất, bạn sẽ nhận được kết quả đầu ra sau:

Mã nguồn [Chọn]
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://dokuwiki.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/dokuwiki.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/dokuwiki.example.com/privkey.pem
   Your cert will expire on 2023-02-12. 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

Tại thời điểm này, trang web 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.

7. 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 DokuWiki qua URL   Đăng nhập để xem liên kết. Bạn sẽ thấy màn hình cài đặt DokuWiki:



Nhập tên wiki, tên người dùng quản trị viên, mật khẩu và địa chỉ 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 (xem bên dưới):


Nhập tên người dùng và mật khẩu quản trị viên của bạn và nhấp vào nút Đăng nhập. Trên màn hình sau, bạn sẽ thấy bảng điều khiển DokuWiki:


Chúc mừng! Bạn đã cài đặt thành công DokuWiki và bảo mật nó bằng Let's Encrypt SSL trên Ubuntu 22.04. Bây giờ bạn có thể lưu trữ trang wiki của riêng mình với DokuWiki. Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng liên hệ với tôi.