MediaWiki là phần mềm wiki mã nguồn mở được sử dụng bởi các trang wiki lớn nhất như Wikipedia và Wikimedia. Đây là phần mềm wiki miễn phí có thể được sử dụng như một nền tảng cộng tác và tài liệu. Đây là một triển khai wiki mạnh mẽ, có khả năng mở rộng và giàu tính năng.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt MediaWiki với LAMP Stack (Apache, MariaDB và PHP) trên máy chủ Debian 12. Hơn nữa, chúng tôi cũng sẽ chỉ cho bạn cách bảo mật MediaWiki bằng HTTPS thông qua Certtbot và Letsencrypt.
Trong phần này, bạn sẽ cài đặt LAMP Stack (Apache, MariaDB và PHP) sẽ được sử dụng để chạy cài đặt MediaWiki của bạn.
Trước tiên, hãy cập nhật kho lưu trữ Debian của bạn bằng các lệnh sau lệnh.
Sau khi kho lưu trữ được cập nhật, hãy cài đặt các phụ thuộc LAMP Stack bằng lệnh bên dưới. Nhập Y để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy xác minh dịch vụ Apache và MariaDB để đảm bảo cả hai dịch vụ đều đang chạy.
Xác minh máy chủ web Apache bằng lệnh bên dưới. Nếu bạn bật đầu ra, điều này xác nhận rằng Apache đã được bật và sẽ tự động khởi động khi khởi động. Khi chạy, bạn sẽ thấy đầu ra đang hoạt động (đang chạy).
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22244%22%3E%3C/svg%3E
Tiếp theo, hãy xác minh máy chủ cơ sở dữ liệu MariaDB bằng lệnh bên dưới. Đầu ra phải tương tự, đầu ra enabled xác nhận rằng MariaDB đã được bật và active (đang chạy) xác nhận rằng MariaDB đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22241%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh phiên bản PHP và liệt kê các mô-đun đã được bật bằng lệnh bên dưới. Bạn sẽ thấy PHP 8.2 được cài đặt trên máy chủ Debian của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22607%22%20height=%22356%22%3E%3C/svg%3E
Để cấu hình PHP, hãy mở cấu hình PHP /etc/php/8.2/apache2/php.ini bằng lệnh trình soạn thảo nano sau.
Thay đổi cấu hình mặc định bằng lệnh sau và đảm bảo điều chỉnh cả date.timezone và memory_limit với cấu hình hiện tại của bạn môi trường.
Lưu và thoát tệp.
Bây giờ hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache và áp dụng các thay đổi của bạn.
Để bảo mật cài đặt máy chủ MariaDB, hãy chạy lệnh mariadb-secure-installation bên dưới.
Bây giờ hãy nhập Y để chấp nhận hoặc n để từ chối cấu hình mới trên máy chủ MariaDB:
Bây giờ hãy chạy các truy vấn sau để tạo cơ sở dữ liệu MariaDB và người dùng mới cho MediaWiki. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu mới mediawikidb, người dùng mediawiki có mật khẩu mediawikipassdb. Bạn có thể điều chỉnh những thông tin sau bằng thông tin đăng nhập của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22221%22%3E%3C/svg%3E
Tiếp theo, chạy truy vấn sau để xác minh quyền của người dùng MariaDB mediawiki. Đảm bảo rằng người dùng mediawiki có thể truy cập cơ sở dữ liệu mediawikidb.
Cuối cùng, nhập quit để thoát khỏi MariaDB khi hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22224%22%3E%3C/svg%3E
Di chuyển đến thư mục /var/www và tải xuống mã nguồn MediaWiki thông qua lệnh wget bên dưới. Đảm bảo truy cập trang tải xuống MediaWiki để tải xuống phiên bản mới nhất.
Sau khi tải xuống, hãy giải nén mã nguồn bằng lệnh bên dưới. Sau đó, đổi tên thư mục đã giải nén thành mediawiki. Vì vậy, thư mục DocumentRoot cho MediaWiki sẽ nằm tại /var/www/mediawiki.
Cuối cùng, hãy thay đổi quyền sở hữu của thư mục /var/www/mediawiki thành người dùng www-data và thay đổi quyền thành 0755.
Trước khi bắt đầu, hãy bật mô-đun viết lại Apache bằng lệnh bên dưới.
Bây giờ hãy tạo một máy chủ ảo Apache mới configuration/etc/apache2/sites-available/mediawiki.conf bằng lệnh nano editor bên dưới.
Chèn cấu hình sau và đảm bảo thay đổi tùy chọn ServerName bằng tên miền của bạn và đường dẫn của cả nhật ký truy cập và nhật ký lỗi.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Tiếp theo, kích hoạt tệp máy chủ ảo mediawiki.conf và xác minh cú pháp Apache của bạn bằng lệnh bên dưới. Nếu bạn có cú pháp Apache đúng, bạn sẽ thấy đầu ra như Syntax OK.
Cuối cùng, khởi động lại máy chủ web Apache để áp dụng máy chủ ảo mới cho MediaWiki. Sau khi khởi động lại, cài đặt MediaWiki của bạn sẽ sẵn sàng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22682%22%20height=%22359%22%3E%3C/svg%3E
Cài đặt Certbot và plugin Certbot Apache bằng lệnh bên dưới. Nhập Y để xác nhận cài đặt.
Sau khi cài đặt hoàn tất, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho tên miền MediaWiki của bạn. Hãy đảm bảo thay đổi tên miền và địa chỉ email bằng thông tin của bạn.
Sau khi quá trình hoàn tất, chứng chỉ của bạn sẽ có trong thư mục /etc/letsencrypt/live/domain.com, trong khi máy chủ ảo của bạn cũng được cấu hình bằng HTTPS.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22627%22%20height=%22367%22%3E%3C/svg%3E
Chọn ngôn ngữ mặc định cho MediaWiki của bạn và nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22298%22%3E%3C/svg%3E
Đối với môi trường kiểm tra, đảm bảo hệ thống của bạn đáp ứng các yêu cầu của MediaWiki. Sau đó, nhấp vào Tiếp tục một lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22313%22%3E%3C/svg%3E
Chọn cơ sở dữ liệu là MariaDB và nhập tên, người dùng và mật khẩu của bạn. Sau đó, nhấp vào Tiếp tục để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22410%22%3E%3C/svg%3E
Tiếp theo, nhập tên người dùng, email và mật khẩu quản trị viên của bạn cho MediaWiki, sau đó nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22427%22%3E%3C/svg%3E
Để biết thêm các thiết lập, hãy chọn chủ đề mặc định mà bạn muốn sử dụng, sau đó nhấp vào Tiếp tục để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22399%22%3E%3C/svg%3E
Nhấp vào Tiếp tục để xác nhận MediaWiki cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22280%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22323%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, tệp LocalSettings.php sẽ tự động tải xuống máy tính cục bộ của bạn và bạn sẽ thấy hướng dẫn tải tệp lên cài đặt MediaWiki của mình thư mục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22360%22%3E%3C/svg%3E
Quay lại thiết bị đầu cuối của bạn và chạy lệnh bên dưới để tạo tệp mới LocalSettings.php.
Mở tệp LocalSettings.php mà bạn đã tải xuống, sao chép và dán mã PHP vào máy chủ của bạn. Sau đó, lưu tệp và thoát.
Quay lại trình duyệt web của bạn và nhấp vào liên kết để vào wiki. Bạn sẽ thấy trang chủ mặc định của MediaWiki mà bạn đã cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt MediaWiki với LAMP Stack (Apache, MariaDB và PHP) trên máy chủ Debian 12. Hơn nữa, chúng tôi cũng sẽ chỉ cho bạn cách bảo mật MediaWiki bằng HTTPS thông qua Certtbot và Letsencrypt.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:- Máy chủ Debian 12.
- Người dùng không phải root có quyền quản trị viên.
- Tên miền trỏ đến địa chỉ IP của máy chủ.
Cài đặt LAMP Stack
MediaWiki là phần mềm mã nguồn mở dựa trên PHP với MySQL/MariaDB là kho lưu trữ dữ liệu. Hiện tại, phiên bản ổn định hiện tại của MediaWiki (1.41) yêu cầu ít nhất PHP 7.3.4 trở lên và MariaDB 10.3.0. Đối với máy chủ web, bạn có thể sử dụng Apache hoặc Nginx.Trong phần này, bạn sẽ cài đặt LAMP Stack (Apache, MariaDB và PHP) sẽ được sử dụng để chạy cài đặt MediaWiki của bạn.
Trước tiên, hãy cập nhật kho lưu trữ Debian của bạn bằng các lệnh sau lệnh.
Mã:
sudo apt update
Mã:
sudo apt install apache2 mariadb-server imagemagick libapache2-mod-php php php-common php-intl php-xml php-curl php-gd php-mbstring php-mysql php-apcu
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy xác minh dịch vụ Apache và MariaDB để đảm bảo cả hai dịch vụ đều đang chạy.
Xác minh máy chủ web Apache bằng lệnh bên dưới. Nếu bạn bật đầu ra, điều này xác nhận rằng Apache đã được bật và sẽ tự động khởi động khi khởi động. Khi chạy, bạn sẽ thấy đầu ra đang hoạt động (đang chạy).
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22244%22%3E%3C/svg%3E
Tiếp theo, hãy xác minh máy chủ cơ sở dữ liệu MariaDB bằng lệnh bên dưới. Đầu ra phải tương tự, đầu ra enabled xác nhận rằng MariaDB đã được bật và active (đang chạy) xác nhận rằng MariaDB đang chạy.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22241%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh phiên bản PHP và liệt kê các mô-đun đã được bật bằng lệnh bên dưới. Bạn sẽ thấy PHP 8.2 được cài đặt trên máy chủ Debian của mình.
Mã:
php -v
php -m
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22607%22%20height=%22356%22%3E%3C/svg%3E
Cấu hình PHP
Sau khi cài đặt LAMP Stack, bạn sẽ cấu hình cài đặt PHP của mình bằng cách chỉnh sửa tệp php.ini và thay đổi một số tham số mặc định cho MediaWiki.Để cấu hình PHP, hãy mở cấu hình PHP /etc/php/8.2/apache2/php.ini bằng lệnh trình soạn thảo nano sau.
Mã:
sudo nano /etc/php/8.2/apache2/php.ini
Mã:
date.timezone = Europe/Amsterdam
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360
Bây giờ hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache và áp dụng các thay đổi của bạn.
Mã:
sudo systemctl restart apache2
Cấu hình Máy chủ MariaDB
Sau khi cấu hình PHP, bước tiếp theo là bảo mật máy chủ MariaDB và tạo cơ sở dữ liệu và người dùng mới cho MediaWiki. Trong ví dụ này, bạn sẽ bảo mật máy chủ MariaDB bằng cách sử dụng dòng lệnh mariadb-secure-installation và tạo cơ sở dữ liệu và người dùng mới thông qua máy khách MariaDB.Để bảo mật cài đặt máy chủ MariaDB, hãy chạy lệnh mariadb-secure-installation bên dưới.
Mã:
sudo mariadb-secure-installation
- Cài đặt MariaDB mặc định không có mật khẩu. Nhấn ENTER khi được nhắc nhập mật khẩu.
- Bây giờ nhập Y để thiết lập mật khẩu gốc MariaDB. Sau đó, nhập mật khẩu mới cho MariaDB và lặp lại mật khẩu.
- Nhập Y để xóa người dùng ẩn danh khỏi cài đặt MariaDB của bạn.
- Nhập Y một lần nữa khi được nhắc tắt đăng nhập từ xa cho người dùng gốc MariaDB.
- Nhập Y để xóa kiểm tra cơ sở dữ liệu mặc định khỏi MariaDB của bạn.
- Cuối cùng, nhập Y để tải lại các đặc quyền bảng và áp dụng các thay đổi mới.
Mã:
sudo mariadb -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;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22221%22%3E%3C/svg%3E
Tiếp theo, chạy truy vấn sau để xác minh quyền của người dùng MariaDB mediawiki. Đảm bảo rằng người dùng mediawiki có thể truy cập cơ sở dữ liệu mediawikidb.
Mã:
SHOW GRANTS FOR mediawiki@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22224%22%3E%3C/svg%3E
Tải xuống Nguồn MediaWiki Mã
Bây giờ các phụ thuộc đã được cài đặt và cấu hình, bạn có thể cài đặt MediaWiki. Có nhiều phiên bản MediaWiki: ổn định, cũ và LTS. Trong trường hợp này, bạn sẽ cài đặt phiên bản ổn định mới nhất của MediaWiki 1.41.Di chuyển đến thư mục /var/www và tải xuống mã nguồn MediaWiki thông qua lệnh wget bên dưới. Đảm bảo truy cập trang tải xuống MediaWiki để tải xuống phiên bản mới nhất.
Mã:
cd /var/www/
wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.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 Apache Virtual Host
Bây giờ bạn đã tải xuống mã nguồn MediaWiki, bạn sẽ tạo một tệp Apache virtual host mới để chạy MediaWiki trong phần này. Vì vậy, hãy đảm bảo rằng bạn được trang bị tên miền trỏ đến địa chỉ IP máy chủ của bạn. Đối với sản xuất, hãy mua tên miền công cộng hoặc bạn cũng có thể sử dụng tên miền cục bộ.Trước khi bắt đầu, hãy bật mô-đun viết lại Apache bằng lệnh bên dưới.
Mã:
sudo a2enmod rewrite
Mã:
sudo nano /etc/apache2/sites-available/mediawiki.conf
Mã:
ServerName wiki.howtoforge.local
ServerAdmin [emailprotected]
DocumentRoot /var/www/mediawiki
ErrorLog /var/log/apache2/wiki.howtoforge.local_error.log
CustomLog /var/log/apache2/wiki.howtoforge.local_access.log combined
Options FollowSymlinks
AllowOverride All
Require all granted
Tiếp theo, kích hoạt tệp máy chủ ảo mediawiki.conf và xác minh cú pháp Apache của bạn bằng lệnh bên dưới. Nếu bạn có cú pháp Apache đúng, bạn sẽ thấy đầu ra như Syntax OK.
Mã:
sudo a2ensite mediawiki.conf
sudo apachectl configtest
Mã:
sudo systemctl restart apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22682%22%20height=%22359%22%3E%3C/svg%3E
Bảo mật MediaWiki bằng HTTPS
Bây giờ bạn đã tạo cấu hình máy chủ ảo Apache cho MediaWiki, hãy bảo mật cài đặt của bạn bằng HTTPS thông qua Certbot và letsencrypt. Điều này chỉ áp dụng nếu bạn đang sử dụng miền công cộng, nhưng nếu bạn đang sử dụng miền cục bộ, bạn có thể tạo chứng chỉ Tự ký và áp dụng HTTPS theo cách thủ công.Cài đặt Certbot và plugin Certbot Apache bằng lệnh bên dưới. Nhập Y để xác nhận cài đặt.
Mã:
sudo apt install certbot python3-certbot-apache
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d wiki.howtoforge.local
Cài đặt MediaWiki
Mở trình duyệt web ưa thích của bạn và truy cập tên miền của bạn, chẳng hạn như http://wiki.howtoforge.local/. Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy trang chào mừng MediaWiki. Nhấp vào liên kết thiết lập wiki.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22627%22%20height=%22367%22%3E%3C/svg%3E
Chọn ngôn ngữ mặc định cho MediaWiki của bạn và nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22298%22%3E%3C/svg%3E
Đối với môi trường kiểm tra, đảm bảo hệ thống của bạn đáp ứng các yêu cầu của MediaWiki. Sau đó, nhấp vào Tiếp tục một lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22313%22%3E%3C/svg%3E
Chọn cơ sở dữ liệu là MariaDB và nhập tên, người dùng và mật khẩu của bạn. Sau đó, nhấp vào Tiếp tục để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22410%22%3E%3C/svg%3E
Tiếp theo, nhập tên người dùng, email và mật khẩu quản trị viên của bạn cho MediaWiki, sau đó nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22427%22%3E%3C/svg%3E
Để biết thêm các thiết lập, hãy chọn chủ đề mặc định mà bạn muốn sử dụng, sau đó nhấp vào Tiếp tục để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22399%22%3E%3C/svg%3E
Nhấp vào Tiếp tục để xác nhận MediaWiki cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22280%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22323%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, tệp LocalSettings.php sẽ tự động tải xuống máy tính cục bộ của bạn và bạn sẽ thấy hướng dẫn tải tệp lên cài đặt MediaWiki của mình thư mục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22360%22%3E%3C/svg%3E
Quay lại thiết bị đầu cuối của bạn và chạy lệnh bên dưới để tạo tệp mới LocalSettings.php.
Mã:
sudo -u www-data nano /var/www/mediawiki/LocalSettings.php
Quay lại trình duyệt web của bạn và nhấp vào liên kết để vào wiki. Bạn sẽ thấy trang chủ mặc định của MediaWiki mà bạn đã cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E