Cách cài đặt DokuWiki với Apache trên Debian 9

theanh

Administrator
Nhân viên
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và cấu hình phiên bản mới nhất của nền tảng DokuWiki CMS trên bản phát hành Debian 9.2, để tạo các trang web tài liệu trực tuyến.
DokuWiki là một ứng dụng wiki mã nguồn mở miễn phí được viết hoàn toàn bằng ngôn ngữ lập trình PHP và thường được triển khai trên Linux dưới máy chủ web Apache/Nginx và PHP.

Nền tảng phần mềm DokuWiki không yêu cầu cơ sở dữ liệu RDBMS SQL để chạy. Đổi lại, nó sử dụng các tệp văn bản thuần túy đơn giản làm phần phụ trợ để lưu trữ tất cả dữ liệu. DokuWiki là một nền tảng đơn giản và linh hoạt với cú pháp rõ ràng có thể được sử dụng thành công để triển khai các trang web tài liệu mạnh mẽ và mang tính cộng tác.

Yêu cầu​

  • Cài đặt tối thiểu debian 9 trên máy chủ bare-metal hoặc trên máy chủ riêng ảo.
  • Quyền sudo root cho tài khoản cục bộ hoặc từ xa hoặc quyền truy cập trực tiếp vào tài khoản root.
  • Địa chỉ IP tĩnh được cấu hình cho một trong các card giao diện mạng hệ thống của bạn.
  • Tên miền, riêng tư hoặc công khai, tùy thuộc vào cách triển khai của bạn, với các bản ghi DNS thích hợp được cấu hình cho các dịch vụ web. Nếu không có tên miền hợp lệ hoặc đã đăng ký, bạn có thể thực hiện cài đặt và truy cập trang web thông qua địa chỉ IP máy chủ của mình.
  • Nếu bạn muốn sử dụng tính năng đăng ký trang web, xác nhận đơn đặt hàng qua thư và các tính năng khác, bạn phải có một máy chủ thư đang chạy được cấu hình đúng cách tại cơ sở của mình với quyền truy cập từ xa vào các dịch vụ .IMAP và SMTP của máy chủ đó.

Yêu cầu trước​

Trước khi bắt đầu cài đặt và cấu hình DokuWiki từ các nguồn trên máy chủ của riêng bạn, trước tiên hãy đảm bảo hệ thống đáp ứng mọi yêu cầu về phần mềm để biên dịch và cài đặt ứng dụng. Ở bước đầu tiên, hãy cập nhật kho lưu trữ hệ thống và các gói phần mềm của bạn bằng cách đưa ra lệnh sau.
Mã:
aptupdate
Mã:
aptupgrade
Ở bước tiếp theo, hãy thực hiện lệnh sau để cài đặt một số tiện ích cần thiết sẽ được sử dụng để quản lý hệ thống của bạn thêm nữa từ dòng lệnh.
Mã:
aptinstallwgetbash-completionzipunzipcurl
Sau khi hệ thống đã được cập nhật đầy đủ và các tiện ích cần thiết để quản lý máy chủ của bạn đã được cài đặt, hãy thiết lập tên cho hệ thống của bạn bằng cách thực hiện lệnh sau (thay thế tên máy chủ của bạn biến tương ứng).
Mã:
hostnamectlset-hostnamewww.mywiki.com
Xác minh tệp hostname và máy chủ bằng cách đưa ra các lệnh bên dưới.
Mã:
hostnamectl
Mã:
cat/etc/hostname
Mã:
hostname–s
Mã:
hostname–f
Tiếp theo, cài đặt phần mềm ImageMagick, được DokuWiki yêu cầu để tạo hình thu nhỏ bằng cách đưa ra lệnh sau.
Mã:
aptinstallimagemagick
Cuối cùng, khởi động lại Debianserver để áp dụng các bản cập nhật kernel và thay đổi tên máy chủ một cách chính xác.
Mã:
init6
DokuWiki là một nền tảng wiki CMS dựa trên web được viết bằng lập trình phía máy chủ PHP ngôn ngữ. Để thực thi các tập lệnh tệp PHP của ứng dụng, một máy chủ web, chẳng hạn như máy chủ Apache HTTP và một cổng xử lý PHP phải được cài đặt và vận hành trong hệ thống. Để cài đặt máy chủ web Apache và trình thông dịch PHP cùng với tất cả các mô-đun PHP cần thiết mà ứng dụng cần để chạy đúng cách, hãy đưa ra lệnh sau trong bảng điều khiển máy chủ của bạn.
Mã:
aptinstallapache2libapache2-mod-php7.0php7.0php7.0-curlphp7.0-gdphp7.0-opcachephp7.0-jsonphp7.0-mbstringphp7.0-intlphp-imagickphp7.0-xml
Sau khi Apache và PHP đã được cài đặt, hãy kiểm tra xem máy chủ web có đang hoạt động và lắng nghe các kết nối mạng trên cổng 80 hay không bằng cách đưa ra lệnh sau với quyền root.
Mã:
netstat–tlpn
Trong trường hợp tiện ích mạng netstatkhông được cài đặt theo mặc định trên hệ thống Debian của bạn, hãy thực hiện lệnh sau để cài đặt.
Mã:
aptinstallnet-tools
Bằng cách kiểm tra đầu ra lệnh netstat, bạn có thể thấy máy chủ web Apache đang lắng nghe các kết nối mạng đến trên cổng 80. Đối với cùng một tác vụ, bạn cũng có thể sử dụng lệnh ss, được cài đặt tự động theo mặc định trong Debian 9.
Mã:
ss-tulpn
Trong trường hợp bạn đã bật tường lửa trên hệ thống của mình, chẳng hạn như ứng dụng tường lửa UFW, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTP đi qua tường lửa bằng cách phát hành lệnh sau.
Mã:
ufwallowWWW
hoặc
Mã:
ufwallow80/tcp
Nếu bạn đang sử dụng các quy tắc thô iptables để quản lý các quy tắc Tường lửa trên máy chủ Debian của mình, hãy thêm các quy tắc sau để cho phép lưu lượng truy cập đến cổng 80 trên tường lửa để khách truy cập có thể duyệt ứng dụng wiki của bạn.
Mã:
apt-getinstall-yiptables-persistent
Mã:
iptables-IINPUT-ptcp--destination-port80-jACCEPT
Mã:
iptables-IINPUT-ptcp--destination-port22-jACCEPT
Mã:
netfilter-persistentsave
Mã:
systemctlrestartnetfilter-persistent
Mã:
systemctlstatusnetfilter-persistent
Mã:
systemctlenablenetfilter-persistent.service
Tiếp theo, hãy bật và áp dụng mô-đun Apache sau theo yêu cầu của ứng dụng web để kích hoạt các tệp weboot .htaccess. Chạy các lệnh sau:
Mã:
a2enmodrewrite
Mã:
systemctlrestartapache2
Cuối cùng, hãy kiểm tra xem trang web mặc định của máy chủ web Apache có thể hiển thị trong trình duyệt của máy khách hay không bằng cách truy cập địa chỉ IP máy Debian hoặc tên miền hoặc FQDN của máy chủ qua giao thức HTTP, như được hiển thị trong hình ảnh bên dưới. Nếu bạn không biết địa chỉ IP của máy, hãy thực hiện lệnh ifconfig hoặc ip a để hiển thị địa chỉ IP của máy chủ.

http://your_domain.tld



Để cài đặt và truy cập vào giao diện quản trị web DowuWiki và trang web giao diện thông qua giao thức HTTPS giúp bảo mật lưu lượng truy cập cho máy khách của bạn, hãy đưa ra lệnh sau để bật mô-đun SSL của máy chủ web Apache và tệp cấu hình trang web SSL.
Mã:
a2enmodssl
Mã:
a2ensitedefault-ssl.conf
Tiếp theo, hãy mở tệp cấu hình trang web SSL mặc định của Apache bằng trình soạn thảo văn bản và bật các quy tắc ghi đè URL bằng cách thêm các dòng mã sau vào sau lệnh DocumentRoot. Chạy lệnh sau:
Mã:
nano/etc/apache2/sites-enabled/default-ssl.conf
Trích đoạn tệp SSLsiteconfiguration:
Mã:
[B] Options+FollowSymlinks
 AllowOverrideAll
 Requireallgranted
Ngoài ra, hãy thực hiện thay đổi sau thành VirtualHostline để trông giống như cách hiển thị trong đoạn trích bên dưới:
Mã:




Đóng tệp Apache SSL và mở tệp /etc/apache2/sites-enabled/000-default.conf để chỉnh sửa và thêm cùng các quy tắc ghi đè URL cho tệp cấu hình SSL. Chèn các dòng mã sau câu lệnh DocumentRoot như trong ví dụ sau.
Mã:
 Options+FollowSymlinks
 AllowOverrideAll
 Requireallgranted


Cuối cùng, khởi động lại daemon Apache để áp dụng tất cả các quy tắc đã cấu hình cho đến nay và truy cập miền của bạn thông qua giao thức HTTP. Vì bạn đang sử dụng cặp chứng chỉ Tự ký tự động do Apache cấp khi cài đặt, một chứng chỉ không được trình duyệt tin cậy, nên cảnh báo lỗi sẽ hiển thị trong trình duyệt.
Mã:
systemctlrestartapache2
https://yourdomain.tld[/b]



Chấp nhận cảnh báo để chấp nhận chứng chỉ không tin cậy và tiếp tục được chuyển hướng đến trang web mặc định của Apache, như minh họa trong hình ảnh bên dưới.



Trong trường hợp ứng dụng tường lửa UFW chặn các kết nối mạng đến cổng HTTPS, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTPS đi qua tường lửa bằng cách phát hành lệnh sau.
Mã:
ufwallow‘WWWFull’
hoặc
Mã:
ufwallow443/tcp
Nếu iptables là ứng dụng tường lửa mặc định được cài đặt để bảo vệ hệ thống Debian của bạn ở cấp độ mạng, hãy thêm quy tắc sau để cho phép lưu lượng truy cập đến cổng 443 trong tường lửa để khách truy cập có thể duyệt tên miền của bạn.
Mã:
iptables-IINPUT-ptcp--destination-port443-jACCEPT
Mã:
netfilter-persistentsave
Mã:
systemctlrestartnetfilter-persistent
Mã:
systemctlstatusnetfilter-persistent
Ở bước tiếp theo, chúng ta cần thực hiện một số thay đổi nữa đối với tệp cấu hình mặc định của PHP để đảm bảo rằng các biến PHP sau được bật và cài đặt múi giờ PHP được định cấu hình chính xác và phù hợp với vị trí địa lý của hệ thống của bạn. Mở tệp /etc/php/7.0/apache2/php.ini để chỉnh sửa và đảm bảo rằng các dòng sau được thiết lập như hiển thị. Ngoài ra, ban đầu, hãy sao lưu tệp cấu hình PHP.
Mã:
cp/etc/php/7.0/apache2/php.ini{,.backup}
Mã:
nano/etc/php/7.0/apache2/php.ini
Tìm kiếm, chỉnh sửa và thay đổi các biến sau trong php.initệp cấu hình:
Mã:
[I][I]file_uploads=On[B]default_charset[/I][/I] [I][I]=UTF-8
memory_limit=128M
max_execution_time=300
upload_max_filesize=100M
short_open_tag=Tắt
output_buffering=Tắt
output_handler=
zlib.output_compression=Tắt
implicit_flush=Tắt
max_input_time=60
max_input_vars=10000
error_reporting=E_ALL&~E_NOTICE
display_startup_errors=Tắt
log_errors=Bật
variables_order=“EGPCS”
register_argc_argv=Tắt
session.use_cookies=1
date.timezone=Europe/London[/I][/I]
Tăng Biến upload_max_file_size phù hợp để hỗ trợ các tệp đính kèm lớn và thay thế biến time.zone theo thời gian thực của bạn bằng cách tham khảo danh sách múi giờ do tài liệu PHP cung cấp tại liên kết sauhttp://php.net/manual/en/timezones.php

Nếu bạn muốn tăng tốc độ tải các trang web của mình thông qua plugin OPCache có sẵn cho PHP7, hãy thêm các thiết lập OPCache sau vào cuối tệp cấu hình trình thông dịch PHP, như được nêu chi tiết bên dưới:
Mã:
[opcache]
[I][I]opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1
opcache.revalidate_freq=1[/I][/I]
Đóng cấu hìnhphp.inivà khởi động lại apachedaemon để áp dụng các thay đổi mới bằng cách đưa ra lệnh sau.
Mã:
systemctlrestartapache2
Cuối cùng, tạo một tệp thông tin PHP bằng cách thực thi lệnh sau và kiểm tra xem múi giờ PHP đã được cấu hình đúng chưa bằng cách truy cập tệp tập lệnh thông tin PHP từ trình duyệt tại URL sau, như minh họa trong hình ảnh bên dưới. Cuộn xuống phần cài đặt ngày để kiểm tra cấu hình múi giờ PHP.
Mã:
echo''|tee/var/www/html/info.php
https://domain.tld/info.php


Cài đặt DokuWiki​

Sau khi đáp ứng tất cả các yêu cầu hệ thống để cài đặt CMS tài liệu wiki của bạn, hãy truy cập trang tải xuống chính thức của DokuWiki tạihttps://download.dokuwiki.org/ và tải xuống bản zip ổn định mới nhất gói lưu trữ nén trong hệ thống của bạn bằng cách phát hành lệnh sau.
Mã:
wget[B][/b][/b][URL=https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz?utm_source=diendancongnghe.com]https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz[/URL]
Sau khi quá trình tải xuống tệp nén zip hoàn tất, hãy giải nén tệp nén zip DokuWiki vào thư mục làm việc hiện tại của bạn và liệt kê các tệp đã giải nén bằng cách phát hành các lệnh sau. Ngoài ra, hãy xóa tệp index.html mặc định được máy chủ web Apache cài đặt vào đường dẫn webroot và cũng xóa tệp info.php được tạo trước đó.
Mã:
tarxzvfdokuwiki-stable.tgz
Mã:
ls
Mã:
rm/var/www/html/index.html
Mã:
rm/var/www/html/info.php
Các tệp cài đặt của DokuWiki nằm trong thư mục làm việc hiện tại của bạn tại thư mục dokuwiki-2017-20-19e. Phát hành lệnh ls để liệt kê các tệp thư mục đã giải nén. Sao chép tất cả nội dung của thư mục đã giải nén vào đường dẫn gốc tài liệu máy chủ web của bạn bằng cách phát hành lệnh bên dưới. Ngoài ra, hãy đảm bảo bạn sao chép tệp ẩn .htaccess vào đường dẫn gốc web của máy chủ HTTP.
Mã:
lsdokuwiki-2017-02-19e/
Mã:
cp-rfdokuwiki-2017-02-19e/*/var/www/html/
Mã:
cpdokuwiki-2017-02-19e/.htaccess.dist/var/www/html/
Tiếp theo, thực hiện các lệnh sau để cấp cho người dùng thời gian chạy Apache quyền ghi đầy đủ vào đường dẫn gốc web. Sử dụng lệnh ls để liệt kê các quyền cho các tệp đã cài đặt của ứng dụng nằm trong thư mục /var/www/html/.
Mã:
chown-Rwww-data:www-data/var/www/html/
Mã:
ls–al/var/www/html/
Tiếp theo, tiến hành quy trình cài đặt DokuWiki bằng cách mở trình duyệt và điều hướng đến địa chỉ IP hoặc tên miền hoặc FQDN của máy chủ thông qua giao thức HTTPS và mở tập lệnh install.php.

https://yourdomain.tld/install.php

Trong tập lệnh cài đặt đầu tiên, hãy thêm tên nền tảng wiki của bạn và chọn Bật ACL. Cung cấp tên tài khoản siêu người dùng wiki, tên thật và địa chỉ email của tài khoản siêu người dùng, sau đó chọn mật khẩu mạnh để bảo vệ tài khoản siêu người dùng.

Tiếp theo, chọn Wiki công khai (đọc cho mọi người, viết và tải lên cho người dùng đã đăng ký) làm chính sách ACL ban đầu của bạn và bỏ chọn Cho phép người dùng tự đăng ký để vô hiệu hóa quy trình đăng ký wiki cho khách truy cập. Ngoài ra, hãy chọn giấy phép nội dung yêu thích của bạn từ các tùy chọn được trình bày và bỏ chọn tùy chọn gửi dữ liệu ẩn danh cho các nhà phát triển DokuWiki một lần một tháng.

Khi bạn hoàn tất, hãy nhấn vào nút Lưu để áp dụng cấu hình.





Trên màn hình tiếp theo, trình cài đặt sẽ thông báo cho bạn rằng các cấu hình trước đó của bạn đã được lưu thành công vào tệp cấu hình DokuWiki nằm trong đường dẫn gốc tài liệu máy chủ web của bạn và bạn có thể xóa tệp cài đặt.



Trước khi đăng nhập vào bảng quản trị CMS wiki của bạn, hãy quay lại bảng điều khiển máy chủ và đưa ra các lệnh sau để xóa tệp cài đặt và bảo mật các tệp cấu hình hệ thống DokuWiki.
Mã:
rm-rf/var/www/html/install.php
Mã:
chown-Rroot:root/var/www/html/
Mã:
chown-Rwww-data:root/var/www/html/data/
Mã:
chown-Rwww-data:root/var/www/html/lib/plugins/
Mã:
chown-Rwww-data:root/var/www/html/lib/tpl/
Mã:
chown-Rwww-data:root/var/www/html/conf/local.php*
Mã:
chown-Rwww-data:root/var/www/html/conf/users.auth.php
Mã:
chown-Rwww-data:root/var/www/html/conf/acl.auth.php
Mã:
chown-Rwww-data:root/var/www/html/conf/acl.auth.php
Mã:
chown-Rwww-data:root/var/www/html/conf/plugins.local.php*
Để truy cập giao diện ứng dụng wiki của bạn, chỉ cần điều hướng đến địa chỉ IP máy chủ hoặc tên miền của bạn thông qua giao thức HTTPS và DokuWiki mặc định sẽ được hiển thị như minh họa bên dưới ảnh chụp màn hình.

https://yourdomain.tld?utm_source=diendancongnghe.comhttps://yourdomain.tld



Để quản lý nền tảng DokuWiki, hãy nhấp vào liên kết Đăng nhập ở trên cùng và sử dụng thông tin đăng nhập được định cấu hình trong quá trình cài đặt để đăng nhập vào bảng quản trị phụ trợ DokuWiki - như được hiển thị trong ảnh chụp màn hình bên dưới.





Để định cấu hình thêm nền tảng wiki của bạn, hãy nhấp vào nút Quản trị ở trên cùng và sử dụng liên kết Quản trị để quản lý người dùng, ACL, tiện ích mở rộng, cài đặt kiểu mẫu hoặc các cài đặt tùy chỉnh khác.





Cuối cùng, để buộc khách truy cập duyệt trang web wiki và truy cập an toàn vào giao diện phụ trợ thông qua giao thức HTTPS để mã hóa lưu lượng giữa máy chủ và trình duyệt của máy khách, hãy quay lại thiết bị đầu cuối của máy chủ và mở tệp .htaccess nằm trong đường dẫn gốc của tài liệu trang web của bạn bằng cách đưa ra các lệnh sau.
Mã:
cp/var/www/html/.htaccess.dist/var/www/html/.htaccess
Mã:
nano/var/www/html/.htaccess
Sau đó, chỉnh sửa tệp .htaccess và ở cuối tệp, bạn có thể thay đổi cài đặt máy chủ PHP gốc bằng các cấu hình bên dưới. Sửa đổi cài đặt PHP để phù hợp với tài nguyên và cấu hình máy chủ của riêng bạn.

.htaccess
fileexcerpt:
Mã:
#ModifyPHPsettings[B][I][I]php_valuesession.use_trans_sid0
php_valueregister_globals1
php_valueupload_max_filesize100M
php_valuepost_max_size100M[/I][/I]
Cuối cùng, thêm các quy tắc sau vào .htaccessfileinordertoautomaticallyredirectdomaintraffictoHTTPS.
Mã:
[I][I]#RedirecttoHTTPSforallpagesincludethemainwebpage
[/I][/I][I][I]
RewriteEngineOn
RewriteCond%{HTTPS}off
RewriteRule(.*)https://%{SERVER_NAME}/$1[R,L]

Options-Indexes
[/I][/I]
[/b]Trong trường hợp bạn chỉ muốn chuyển hướng đến https các trang đăng nhập, hồ sơ và quản trị, hãy thay thế các quy tắc chuyển hướng ở trên bằng các quy tắc được hiển thị bên dưới. Trong trường hợp này, trang chính của trang web wiki của bạn sẽ không được chuyển hướng đến giao thức https.
Mã:
[I][I]#SwitchtoHTTPSonlogin,profileandadminactions
[/I][/I][I][I]RewriteEngineOn
RewriteCond%{HTTPS}!on
RewriteCond%{QUERY_STRING}do=(log|profile|admin)
RewriteRule^(.*)https://%{HTTP_HOST}/$1[R,QSA,L,NE][/I][/I]
Vậy là xong! Bạn đã cài đặt và cấu hình thành công nền tảng DokuWiki trong Debian 9.2. Tuy nhiên, vì máy chủ Apache HTTP sử dụng chứng chỉ Tự ký để mã hóa lưu lượng giữa máy chủ và trình duyệt của khách truy cập, nên một thông báo cảnh báo sẽ luôn được tạo và hiển thị trong trình duyệt của họ. Cảnh báo này không tốt cho uy tín và SEO của trang web của bạn. Trong trường hợp này, bạn nên mua chứng chỉ do một Cơ quan cấp chứng chỉ đáng tin cậy cấp hoặc nhận một cặp chứng chỉ miễn phí từ Let’s Encrypt CA.

Để biết các cấu hình tùy chỉnh khác liên quan đến DokuWiki, hãy truy cập trang tài liệu theo địa chỉ sau: https://www.dokuwiki.org/dokuwiki
 
Back
Bên trên