
MediaWiki – это свободная программная платформа с открытым исходным кодом для создания вики-сайтов, которая прекрасно работает на Rocky Linux, предоставляя мощное решение для совместного создания и управления контентом. Изначально разработанная для Википедии, MediaWiki сегодня широко используется многочисленными организациями и сообществами для создания и поддержки динамичных и информационно насыщенных веб-сайтов. В Rocky Linux, дистрибутиве Linux корпоративного класса, известном своей стабильностью и безопасностью, MediaWiki получает надежную и прочную операционную среду. Такое сочетание гарантирует, что MediaWiki на Rocky Linux сможет выдержать высокую нагрузку и большой вклад пользователей, что делает ее идеальным выбором для создания всеобъемлющих и масштабируемых вики.
Это руководство покажет вам, как установить MediaWiki на сервер Rocky Linux 9. Вы установите и настроите MediaWiki с помощью стека LAMP (Apache/Httpd, MySQL/MariaDB и PHP).
Предварительные условия
Чтобы выполнить это руководство, убедитесь, что у вас есть следующее:
- Сервер Rocky Linux 9.
- Пользователь, не являющийся пользователем root, с привилегиями sudo.
- Доменное имя, указывающее на IP-адрес сервера.
- SELinux со статусом permissive.
Установка зависимостей стека LAMP
MediaWiki – это вики-программа с открытым исходным кодом, основанная на PHP и MySQL/MariaDB. Чтобы установить ее, необходимо установить стек LAMP (Apache/httpd, MySQL/MariaDB и PHP) на вашу систему Rocky Linux. В этом примере вы будете устанавливать MediaWiki с PHP 8.1, поэтому вам нужно добавить сторонний репозиторий.
Для начала выполните приведенную ниже команду, чтобы добавить репозитории EPEL и Remi на ваш сервер Rocky Linux.
sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
В настоящее время MediaWiki требует PHP 8.1, поэтому вы должны включить его через репозиторий Remi. Выполните приведенную ниже команду, чтобы включить репозиторий PHP 8.1 из репозитория Remi.
sudo dnf module reset php sudo dnf module enable php:remi-8.1
Теперь выполните следующую команду для установки зависимостей стека LAMP для MediaWiki. Введите y для подтверждения установки.
sudo dnf install httpd httpd-tools mariadb-server mariadb php php-mysqlnd php-gd php-xml php-intl php-mbstring php-json php-curl wget
После завершения установки выполните следующую команду systemctl, чтобы запустить и включить службу httpd.
sudo systemctl start httpd sudo systemctl enable httpd
Запустите и включите службу MariaDB с помощью следующей команды.
sudo systemctl start mariadb sudo systemctl enable mariadb
Наконец, проверьте версию PHP с помощью следующей команды. Вы должны получить PHP 8.1, установленный в вашей системе Rocky Linux.
php -v php -m
Добавление служб HTTP и HTTPS в Firewalld
После установки LAMP Stack вам необходимо открыть порты HTTP и HTTPS на сервере Rocky Linux. В операционных системах на базе RHEL для открытия и управления разрешенным трафиком на сервере используется firewalld.
Добавьте службы HTTP и HTTPS в firewalld, выполнив следующую команду.
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent
Теперь перезагрузите firewalld для применения новых правил с помощью следующей команды.
sudo firewall-cmd --reload
После перезагрузки проверьте список правил в firewalld с помощью команды ниже. Вы должны увидеть, что службы HTTP и HTTPS добавлены в firewalld.
sudo firewall-cmd --list-all
Настройка сервера MariaDB
Теперь, когда вы разрешили трафик для веб-сервера httpd, можно перейти к защите MariaDB с помощью утилиты mariadb-secure-installation и создать новую базу данных и пользователя, которые будут использоваться MediaWiki.
Чтобы обезопасить установку сервера MariaDB, выполните команду mariadb-secure-installation, приведенную ниже.
sudo mariadb-secure-installation
Во время процесса вам будет предложено ввести некоторые конфигурации сервера MariaDB – введите y для подтверждения изменений или n для отказа от новой конфигурации:
- Переключиться на аутентификацию unix_socket? Введите n и нажмите ENTER. По умолчанию пользователь MariaDB root уже защищен. Вы также можете включить ее, введя y для yes.
- Изменить пароль корневого пользователя? Введите y для подтверждения и установите новый пароль корня MariaDB.
- Удалить анонимного пользователя? Введите y для подтверждения.
- Запретить удаленный вход root? Введите y для подтверждения. Если вы используете пользователя MariaDB root, будет разрешено только локальное подключение.
- Можете ли вы удалить тестовую базу данных и доступ к ней? Введите y, чтобы подтвердить и удалить базу данных по умолчанию ‘test’.
- Наконец, введите y еще раз, чтобы перезагрузить все привилегии таблиц на вашем сервере MariaDB и применить новые изменения.
Когда сервер MariaDB защищен, вы можете создать новую базу данных и пользователя для MediaWiki.
Войдите на сервер MariaDB, используя приведенную ниже команду. Введите пароль корня MariaDB, когда появится запрос.
sudo mariadb -u root -p
Теперь выполните следующие запросы, чтобы создать новую базу данных и пользователя для MediaWiki. В этом примере вы создадите новую базу данных mediawikidb и пользователя wikiuser с паролем p4ssw0rd. Вы можете скорректировать следующие данные о базе данных в соответствии с вашей информацией.
CREATE DATABASE mediawikidb; GRANT ALL PRIVILEGES ON mediawikidb.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'p4ssw0rd' WITH GRANT OPTION; FLUSH PRIVILEGES;
Далее выполните приведенный ниже запрос, чтобы проверить привилегии пользователя wikiuser. Убедитесь, что пользователь wikiuser может получить доступ к базе данных mediawikidb.
SHOW GRANTS FOR 'wikiuser'@'localhost';
Наконец, введите quit, чтобы выйти из сервера MariaDB.
Теперь, когда вы настроили сервер MariaDB, загрузите исходный код MediaWiki и установите соответствующие права для каталога установки.
Перейдите в каталог /var/www/ и загрузите исходный код MediaWiki с помощью команды wget, приведенной ниже. Проверьте страницу загрузки MediaWiki, чтобы получить ссылку на ее последнюю версию.
cd /var/www/ wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz
После загрузки выполните приведенную ниже команду для извлечения исходного кода MediaWiki и переименуйте извлеченную директорию в ‘mediawiki’. После этого корнем документа для установки MediaWiki будет /var/www/mediawiki.
tar -zxpvf mediawiki-1.41.0.tar.gz mv mediawiki-1.41.0 mediawiki
Теперь выполните приведенную ниже команду chown, чтобы изменить права собственности на каталог /var/www/mediawiki на пользователя ‘apache’ и разрешить веб-серверу httpd доступ к исходному коду MediaWiki.
sudo chown -R apache:apache /var/www/mediawiki
Если у вас включен SELinux, выполните приведенную ниже команду, чтобы исправить маркировку для исходного кода MediaWiki.
sudo restorecon -FR /var/www/mediawiki/
Настройка виртуального хоста Httpd
После загрузки исходного кода MediaWiki вы создадите новую конфигурацию виртуального хоста для MediaWiki. Поэтому убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера.
Создайте новую конфигурацию /etc/httpd/conf.d/mediawiki.conf с помощью следующей команды редактора nano.
sudo nano /etc/httpd/conf.d/mediawiki.conf
Вставьте конфигурацию, приведенную ниже, и не забудьте изменить параметр ServerName на имя вашего домена.
ServerName dev.domainhere.info
ServerAlias dev.domainhere.info
ServerAdmin [email protected]
DocumentRoot /var/www/mediawiki
ErrorLog /var/log/httpd/dev.domainhere.info_error.log
CustomLog /var/log/httpd/dev.domainhere.info_access.log combined
Options FollowSymlinks
AllowOverride All
Require all granted
Когда вы закончите, сохраните файл и выйдите из редактора.
Теперь выполните приведенную ниже команду, чтобы проверить синтаксис httpd. Если вы получите результат Syntax OK, это означает, что вы правильно настроили httpd.
sudo apachectl configtest
Наконец, перезапустите службу httpd, чтобы применить новую конфигурацию виртуального хоста httpd, выполнив следующую команду.
sudo systemctl restart httpd
Если вы устанавливаете MediaWiki в публичном домене, убедитесь, что вы внедрили HTTPS. В этом примере вы сгенерируете SSL/TLS сертификаты от Letsencrypt и защитите MediaWiki с помощью HTTPS.
Сначала выполните приведенную ниже команду dnf, чтобы установить Certbot и плагин Apache в вашу систему. Введите y, чтобы подтвердить установку.
sudo dnf install certbot python3-certbot-apache
По завершении установки выполните приведенную ниже команду certbot, чтобы сгенерировать SSL/TLS-сертификаты для вашего доменного имени MediaWiki. Не забудьте изменить имя домена и адрес электронной почты на свои данные.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.local
После завершения процесса ваша установка MediaWiki должна быть защищена HTTPS, а ваши SSL/TLS сертификаты должны быть доступны в каталоге /etc/letsencrypt/live/.
Запустите веб-браузер и посетите доменное имя MediaWiki, например http://wiki.local/. Если все прошло успешно, вы должны получить страницу приветствия MediaWiki.
Щелкните на ссылке настройка вики.
Выберите язык MediaWiki по умолчанию и нажмите Продолжить. MediaWiki поддерживает различные языки, которые вам необходимы.
В процессе проверки среды убедитесь, что ваша система соответствует требованиям MediaWiki. Затем нажмите продолжить снова.
Теперь введите имя базы данных, пользователя и пароль. Затем нажмите кнопку Продолжить.
Отметьте опцию использования той же учетной записи, что и при установке, и нажмите кнопку Продолжить. Таким образом, вы будете использовать одну и ту же базу данных для пользователей MediaWiki.
Далее введите пользователя, пароль и адрес электронной почты администратора, а затем нажмите кнопку Продолжить. Этот пользователь будет использоваться в качестве администратора MediaWiki.
Для дополнительной настройки нажмите Продолжить снова. Вы можете настроить их позже, после завершения установки.
Теперь нажмите Продолжить , чтобы подтвердить установку MediaWiki.
После завершения установки вы увидите следующее сообщение – нажмите кнопку Продолжить, чтобы перейти к следующему разделу:
Вы увидите дополнительные инструкции по завершению установки MediaWiki:
- Загрузите файл LocalSettings.php.
- Поместите файл LocalSettings.php в каталог DocumentRoot.
Вернитесь в терминал вашего сервера и выполните приведенную ниже команду, чтобы создать новый файл LocalSettings.php
touch /var/www/mediawiki/LocalSettings.php sudo chown apache:apache /var/www/mediawiki/LocalSettings.php
Отредактируйте файл LocalSettings.php с помощью команды редактора nano и введите в него PHP-скрипт, который вы загрузили.
nano /var/www/mediawiki/LocalSettings.php
Сохраните и выйдите из файла.
Вернитесь на страницу установки MediaWiki и нажмите на ссылку для входа в вики. Вы увидите главную страницу MediaWiki по умолчанию, как показано ниже:
Заключение
Поздравляем! Вы завершили установку MediaWiki со стеком LAMP (Apache/httpd, MariaDB и PHP) на сервер Rocky Linux 9. Вы также обеспечили защиту MediaWiki по HTTPS с помощью Certbot и Letsencrypt.