MediaWiki là phần mềm wiki miễn phí và mã nguồn mở hỗ trợ các trang wiki lớn nhất trên internet như Wikipedia và Wikimedia. Đây là phần mềm wiki cực kỳ mạnh mẽ, có khả năng mở rộng và có thể mở rộng, cung cấp các triển khai wiki giàu tính năng. MediaWiki là ứng dụng web được phát triển vào năm 2002, chủ yếu được viết bằng PHP và sử dụng RDBMS như MySQL và PostgreSQL để lưu trữ dữ liệu.
MediaWiki cũng có thể được sử dụng như một nền tảng cộng tác và lập tài liệu. Nó giúp bạn và nhóm của bạn sắp xếp tài liệu và công khai cho mọi người. Nó cũng hỗ trợ đa ngôn ngữ, có thể được sử dụng để tạo một trang web đa ngôn ngữ. Và đây là phần mềm wiki có thể tùy chỉnh rất nhiều để bạn có thể chọn các chủ đề và trình soạn thảo khác nhau cho wiki của mình.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt MediaWiki trên máy chủ Ubuntu 22.04 với LAMP Stack (Linux, Apache2, MariaDB và PHP). Hướng dẫn này bao gồm cấu hình cơ bản của MediaWiki, do đó, cuối cùng, bạn sẽ có một trang wiki hoạt động đầy đủ.
Trước khi bắt đầu, bạn sẽ cần cài đặt PHP 7.4 trên máy chủ Ubuntu 22.04 của mình. Phiên bản mới nhất của MediaWiki yêu cầu PHP 7.4 và vẫn chưa sẵn sàng cho PHP 8.1 mới nhất. Vì vậy, bạn sẽ cần thiết lập kho lưu trữ của bên thứ ba trên hệ thống Ubuntu của mình để cài đặt PHP 7.4.
Chạy lệnh sau để thêm kho lưu trữ PHP 7.4 PPA vào hệ thống của bạn. Lệnh này cũng sẽ tự động cập nhật và làm mới tất cả các kho lưu trữ có sẵn trên hệ thống của bạn.
Sau khi hoàn tất, hãy chạy lệnh apt bên dưới để cài đặt các gói LAMP Stack vào máy chủ ubuntu 22.04.
Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục. LAMP Stack sẽ bắt đầu.
Sau khi cài đặt LAMP Stack hoàn tất, hãy kiểm tra và xác minh các dịch vụ Apache2 và MariaDB bằng lệnh sau. Và bạn có thể thấy dịch vụ Apache2 đã được bật và đang chạy.
Đối với dịch vụ MariaDB, bạn có thể xác minh bằng lệnh bên dưới.
Và trên ảnh chụp màn hình sau, bạn có thể thấy dịch vụ MariaDB đã được bật, dịch vụ này sẽ tự động chạy khi hệ thống khởi động. Và trạng thái hiện tại của dịch vụ MariaDB đang chạy.
Chỉnh sửa tệp "/etc/php/7.4/apache2/php.ini" bằng trình soạn thảo nano.
Thay đổi các giá trị mặc định của cấu hình sau như bên dưới.
Lưu và đóng tệp khi bạn hoàn tất.
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại dịch vụ apache2 và áp dụng các thay đổi mới.
Chạy lệnh sau để bắt đầu cấu hình triển khai MariaDB.
Bây giờ bạn sẽ được hỏi những câu hỏi sau cho cấu hình MariaDB:
Tiếp theo, hãy đăng nhập vào shell MariaDB với tư cách là người dùng gốc bằng lệnh sau.
Bây giờ hãy chạy các truy vấn MySQL/MariaDB sau để tạo một cơ sở dữ liệu mới "mediawikidb" với người dùng "mediawiki" và mật khẩu "mediawikipassdb". Cơ sở dữ liệu và người dùng này sẽ được sử dụng để lưu trữ dữ liệu MediaWiki.
Sau đó, hãy chạy truy vấn bên dưới để kiểm tra danh sách quyền truy cập cơ sở dữ liệu cho người dùng "mediawiki@localhost" và thoát khỏi shell MariaDB. Bây giờ hãy đảm bảo rằng người dùng MariaDB "mediawiki@localhost" có quyền truy cập vào cơ sở dữ liệu "mediawikidb".
Bây giờ hãy đến thư mục "/var/www/" và tải xuống mã nguồn MediaWiki bằng lệnh wget như bên dưới. Hiện tại, phiên bản mới nhất của MediaWiki là v1.38.1. Và bạn sẽ nhận được tệp "mediawiki-1.38.1.tar.gz".
Chạy lệnh sau để giải nén mã nguồn MediaWiki "mediawiki-1.38.1.tar.gz" và đổi tên thư mục đã giải nén thành "mediawiki". Vì vậy, thư mục cài đặt MediaWiki sẽ là "/var/www/mediawiki".
Cuối cùng, hãy chạy lệnh sau để thay đổi quyền sở hữu thư mục cài đặt MediaWiki "/var/www/mediawiki" thành đúng người dùng "www-data" và quyền "755".
Trước khi bắt đầu tạo cấu hình máy chủ ảo, hãy chạy lệnh sau để bật Apache2 modules rewrite và ssl.
Tạo cấu hình máy chủ ảo mới "/etc/apache2/sites-available/mediawiki.conf" bằng trình soạn thảo nano.
Thêm cấu hình sau vào tệp. Ngoài ra, đừng quên thay đổi tên miền và đường dẫn của chứng chỉ SSL.
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, kích hoạt cấu hình máy chủ ảo "mediawiki.conf", sau đó xác minh cấu hình Apache2 của bạn. Nếu bạn nhận được thông báo đầu ra như "Syntax OK", thì cấu hình Apache2 của bạn là chính xác.
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache2 và áp dụng các thay đổi mới. Bây giờ bạn đã hoàn tất cấu hình LAMP Stack cho MediaWiki và bây giờ bạn đã sẵn sàng để bắt đầu cấu hình MediaWiki.
Chọn ngôn ngữ mặc định cho Wiki của bạn và nhấp vào "Tiếp tục".
Bây giờ trình cài đặt MediaWiki sẽ kiểm tra tất cả các yêu cầu cho quá trình cài đặt. Hãy chắc chắn rằng bạn nhận được thông báo "Môi trường đã được kiểm tra. Bạn có thể cài đặt MediaWiki" trên màn hình, sau đó nhấp vào "Tiếp tục".
Nhập thông tin chi tiết về cơ sở dữ liệu MariaDB và người dùng cho MediaWiki của bạn và nhấp vào "Tiếp tục" một lần nữa.
Đối với cài đặt cơ sở dữ liệu, hãy để mặc định và nhấp vào "Tiếp tục".
Bây giờ hãy nhập tiêu đề wiki của bạn và nhập thông tin chi tiết về người dùng quản trị và mật khẩu cho MediaWiki của bạn và nhấp vào "Tiếp tục".
Đối với các tùy chọn/cấu hình bổ sung cho MediaWiki, bạn có thể để mặc định và nhấp vào "Tiếp tục".
Nhấp vào "Tiếp tục" một lần nữa để xác nhận và bắt đầu cài đặt MediaWiki.
Sau khi cài đặt MediaWiki hoàn tất, hãy nhấp vào "Tiếp tục" một lần nữa.
Bây giờ bạn sẽ cần tải tệp "LocalSettings.php" xuống máy cục bộ của mình và tải lên máy chủ MediaWiki.
Một tùy chọn khác, bạn có thể tạo tệp mới "/var/www/mediawiki/LocalSettings.php" bằng trình soạn thảo nano.
Thêm tập lệnh từ tệp LocalSettings.php trên máy cục bộ của bạn.
Bây giờ hãy thay đổi quyền sở hữu tệp thành người dùng chính xác "www-data".
Bây giờ hãy nhấp vào liên kết "nhập wiki của bạn" để xem kết quả của cài đặt.
Và bây giờ bạn sẽ nhận được trang chỉ mục mặc định của cài đặt MediaWiki của bạn.
Bây giờ hãy nhấp vào liên kết "Đăng nhập" ở góc trên bên phải, sau đó nhập tên người dùng và mật khẩu quản trị viên cho MediaWiki của bạn và nhấp vào "Đăng nhập". Và bạn sẽ được đăng nhập vào MediaWiki.
MediaWiki cũng có thể được sử dụng như một nền tảng cộng tác và lập tài liệu. Nó giúp bạn và nhóm của bạn sắp xếp tài liệu và công khai cho mọi người. Nó cũng hỗ trợ đa ngôn ngữ, có thể được sử dụng để tạo một trang web đa ngôn ngữ. Và đây là phần mềm wiki có thể tùy chỉnh rất nhiều để bạn có thể chọn các chủ đề và trình soạn thảo khác nhau cho wiki của mình.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt MediaWiki trên máy chủ Ubuntu 22.04 với LAMP Stack (Linux, Apache2, MariaDB và PHP). Hướng dẫn này bao gồm cấu hình cơ bản của MediaWiki, do đó, cuối cùng, bạn sẽ có một trang wiki hoạt động đầy đủ.
Điều kiện tiên quyết
Đối với ví dụ này, chúng ta cần các điều kiện tiên quyết sau:- Máy chủ Ubuntu 22.04.
- Người dùng không phải root có quyền root/quản trị viên.
- Tên miền trỏ đến địa chỉ IP của máy chủ.
Cài đặt LAMP Stack
Trong bước đầu tiên, bạn sẽ cài đặt LAMP Stack cơ bản trên máy chủ Ubuntu 22.04. Trong ví dụ này, bạn sẽ chạy MediaWiki với máy chủ web Apache2.Trước khi bắt đầu, bạn sẽ cần cài đặt PHP 7.4 trên máy chủ Ubuntu 22.04 của mình. Phiên bản mới nhất của MediaWiki yêu cầu PHP 7.4 và vẫn chưa sẵn sàng cho PHP 8.1 mới nhất. Vì vậy, bạn sẽ cần thiết lập kho lưu trữ của bên thứ ba trên hệ thống Ubuntu của mình để cài đặt PHP 7.4.
Chạy lệnh sau để thêm kho lưu trữ PHP 7.4 PPA vào hệ thống của bạn. Lệnh này cũng sẽ tự động cập nhật và làm mới tất cả các kho lưu trữ có sẵn trên hệ thống của bạn.
Mã:
sudo add-apt-repository ppa:ondrej/php -y
Mã:
sudo apt install apache2 mariadb-server imagemagick libapache2-mod-php7.4 php7.4 php7.4-common php7.4-intl php7.4-xml php7.4-curl php7.4-gd php7.4-mbstring php7.4-mysql php7.4-apcu
Sau khi cài đặt LAMP Stack hoàn tất, hãy kiểm tra và xác minh các dịch vụ Apache2 và MariaDB bằng lệnh sau. Và bạn có thể thấy dịch vụ Apache2 đã được bật và đang chạy.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Cấu hình PHP cho MediaWiki
Sau khi cài đặt các gói LAMP Stack, bây giờ bạn sẽ cấu hình PHP theo yêu cầu để cài đặt MediaWiki. Điều này bao gồm cấu hình "max_upload_filesize", "memory_limit" và "max_execution_time" của cài đặt PHP của bạn.Chỉnh sửa tệp "/etc/php/7.4/apache2/php.ini" bằng trình soạn thảo nano.
Mã:
sudo nano /etc/php/7.4/apache2/php.ini
Mã:
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại dịch vụ apache2 và áp dụng các thay đổi mới.
Mã:
sudo systemctl restart apache2
Cấu hình MariaDB Database Server
Sau khi thiết lập cài đặt PHP, giờ là lúc thiết lập máy chủ MariaDB. Điều này bao gồm cấu hình mật khẩu gốc MariaDB và triển khai, và bạn cũng sẽ cần tạo một cơ sở dữ liệu MariaDB và người dùng mới cho cài đặt MediaWiki.Chạy lệnh sau để bắt đầu cấu hình triển khai MariaDB.
Mã:
sudo mysql_secure_installation
- Cài đặt MariaDB mặc định không có mật khẩu gốc, hãy nhấn ENTER để tiếp tục.
- Nhập n để giữ nguyên phương thức xác thực mặc định và không sử dụng xác thực unix_socket (dành cho người dùng gốc MariaDB).
- Nhập Y để thiết lập mật khẩu gốc MariaDB, sau đó nhập mật khẩu mới và lặp lại.
- Nhập Y để xóa người dùng ẩn danh mặc định.
- Nhập Y để vô hiệu hóa đăng nhập từ xa cho người dùng gốc MariaDB.
- Nhập Y để xóa "test" cơ sở dữ liệu mặc định khỏi cài đặt MariaDB của bạn.
- Cuối cùng, nhập Y một lần nữa để tải lại tất cả các đặc quyền bảng và áp dụng các thay đổi mới.
Tiếp theo, hãy đăng nhập vào shell MariaDB với tư cách là người dùng gốc bằng lệnh sau.
Mã:
sudo mysql -u root -p
Mã:
CREATE DATABASE mediawikidb;
CREATE USER mediawiki@localhost IDENTIFIED BY 'mediawikipassdb';
GRANT ALL ON mediawikidb.* TO mediawiki@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
Sau đó, hãy chạy truy vấn bên dưới để kiểm tra danh sách quyền truy cập cơ sở dữ liệu cho người dùng "mediawiki@localhost" và thoát khỏi shell MariaDB. Bây giờ hãy đảm bảo rằng người dùng MariaDB "mediawiki@localhost" có quyền truy cập vào cơ sở dữ liệu "mediawikidb".
Mã:
SHOW GRANTS FOR mediawiki@localhost;
quit
Đang tải xuống Mã nguồn MediaWiki
Bây giờ bạn đã hoàn tất cấu hình cơ bản của LAMP Stack để cài đặt MediaWiki. Đã đến lúc tải xuống mã nguồn MediaWiki vào máy Ubuntu của bạn.Bây giờ hãy đến thư mục "/var/www/" và tải xuống mã nguồn MediaWiki bằng lệnh wget như bên dưới. Hiện tại, phiên bản mới nhất của MediaWiki là v1.38.1. Và bạn sẽ nhận được tệp "mediawiki-1.38.1.tar.gz".
Mã:
cd /var/www/
wget https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.1.tar.gz
Mã:
tar -xvzf mediawiki-*.tar.gz
mv mediawiki-*/ mediawiki/
Mã:
sudo chown -R www-data:www-data /var/www/mediawiki
sudo chmod 755 /var/www/mediawiki
Thiết lập Máy chủ ảo Apache2 cho MediaWiki
Bây giờ bạn sẽ thiết lập máy chủ ảo Apache2 cho MediaWiki. Trong ví dụ này, MediaWiki sẽ chạy với tên miền "wiki.howtoforge.local" và kết nối SSL/HTTPS an toàn được bật trên máy chủ ảo Apache2.Trước khi bắt đầu tạo cấu hình máy chủ ảo, hãy chạy lệnh sau để bật Apache2 modules rewrite và ssl.
Mã:
sudo a2enmod rewrite ssl
Mã:
sudo nano /etc/apache2/sites-available/mediawiki.conf
Mã:
ServerName wiki.howtoforge.local
ServerAdmin [emailprotected]
# Chuyển hướng yêu cầu đến SSL
Chuyển hướng vĩnh viễn "/" "https://wiki.howtoforge.local/"
ErrorLog ${APACHE_LOG_DIR}/wiki.howtoforge.local.error.log
CustomLog ${APACHE_LOG_DIR}/wiki.howtoforge.local.access.log kết hợp
ServerName wiki.howtoforge.local
ServerAdmin [emailprotected]
DocumentRoot /var/www/mediawiki
# Theo Hướng dẫn MWiki: Bảo mật
php_flag register_globals tắt
Nhật ký lỗi ${APACHE_LOG_DIR}/wiki.howtoforge.local.error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/wiki.howtoforge.local.access.log kết hợp
SSLEngine bật
Tệp SSLCertificate /etc/letsencrypt/live/wiki.howtoforge.local/fullchain.pem
Tệp SSLCertificateKey /etc/letsencrypt/live/wiki.howtoforge.local/privkey.pem
Tùy chọn SSL +StdEnvVars
< Thư mục /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
Options None FollowSymLinks
#Allow .htaccess
AllowOverride All
Require all granted
SecRuleEngine Off
# hoặc chỉ vô hiệu hóa các quy tắc có vấn đề
# Theo MWiki Manual:Security
# Bỏ qua các tệp .htaccess
AllowOverride None
# Phục vụ HTML dưới dạng văn bản thuần túy, không thực thi SHTML
AddType text/plain .html .htm .shtml .php .phtml .php5
# Không chạy mã PHP tùy ý.
php_admin_flag engine off
# Nếu bạn có các ngôn ngữ kịch bản khác, hãy tắt chúng luôn.
#Theo MWiki Manual:Security
Deny from all
AllowOverride AuthConfig Limit
Require local
Tiếp theo, kích hoạt cấu hình máy chủ ảo "mediawiki.conf", sau đó xác minh cấu hình Apache2 của bạn. Nếu bạn nhận được thông báo đầu ra như "Syntax OK", thì cấu hình Apache2 của bạn là chính xác.
Mã:
sudo a2ensite mediawiki.conf
sudo apachectl configtest
Mã:
sudo systemctl restart apache2
Bắt đầu cài đặt MediaWiki
Mở trình duyệt web của bạn và nhập tên miền cài đặt MediaWiki (tức là https://wiki.howtoforge.local/) vào thanh địa chỉ. Nhấp vào liên kết "thiết lập wiki" để bắt đầu cấu hình cài đặt MediaWiki của bạn.Chọn ngôn ngữ mặc định cho Wiki của bạn và nhấp vào "Tiếp tục".
Bây giờ trình cài đặt MediaWiki sẽ kiểm tra tất cả các yêu cầu cho quá trình cài đặt. Hãy chắc chắn rằng bạn nhận được thông báo "Môi trường đã được kiểm tra. Bạn có thể cài đặt MediaWiki" trên màn hình, sau đó nhấp vào "Tiếp tục".
Nhập thông tin chi tiết về cơ sở dữ liệu MariaDB và người dùng cho MediaWiki của bạn và nhấp vào "Tiếp tục" một lần nữa.
Đối với cài đặt cơ sở dữ liệu, hãy để mặc định và nhấp vào "Tiếp tục".
Bây giờ hãy nhập tiêu đề wiki của bạn và nhập thông tin chi tiết về người dùng quản trị và mật khẩu cho MediaWiki của bạn và nhấp vào "Tiếp tục".
Đối với các tùy chọn/cấu hình bổ sung cho MediaWiki, bạn có thể để mặc định và nhấp vào "Tiếp tục".
Nhấp vào "Tiếp tục" một lần nữa để xác nhận và bắt đầu cài đặt MediaWiki.
Sau khi cài đặt MediaWiki hoàn tất, hãy nhấp vào "Tiếp tục" một lần nữa.
Bây giờ bạn sẽ cần tải tệp "LocalSettings.php" xuống máy cục bộ của mình và tải lên máy chủ MediaWiki.
Một tùy chọn khác, bạn có thể tạo tệp mới "/var/www/mediawiki/LocalSettings.php" bằng trình soạn thảo nano.
Mã:
nano /var/www/mediawiki/LocalSettings.php
Bây giờ hãy thay đổi quyền sở hữu tệp thành người dùng chính xác "www-data".
Mã:
sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php
Và bây giờ bạn sẽ nhận được trang chỉ mục mặc định của cài đặt MediaWiki của bạn.
Bây giờ hãy nhấp vào liên kết "Đăng nhập" ở góc trên bên phải, sau đó nhập tên người dùng và mật khẩu quản trị viên cho MediaWiki của bạn và nhấp vào "Đăng nhập". Và bạn sẽ được đăng nhập vào MediaWiki.