MediaWiki – это программное обеспечение для вики с открытым исходным кодом, используемое крупнейшими вики-сайтами, такими как Wikipedia и Wikimedia. Это свободное вики-программное обеспечение, которое может быть использовано в качестве платформы для совместной работы и документирования. Это мощная, масштабируемая и многофункциональная вики-реализация.
В этом руководстве мы покажем вам, как установить MediaWiki со стеком LAMP (Apache, MariaDB и PHP) на сервер Debian 12. Кроме того, мы также покажем вам, как защитить MediaWiki с помощью HTTPS через Certtbot и Letsencrypt.
Предварительные условия
Перед началом работы убедитесь, что у вас есть следующее:
- Сервер Debian 12.
- Некорневой пользователь с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера.
Установка стека LAMP
MediaWiki – это программное обеспечение с открытым исходным кодом, основанное на PHP с MySQL/MariaDB в качестве хранилища данных. В настоящее время стабильная версия MediaWiki (1.41) требует как минимум PHP 7.3.4 или выше и MariaDB 10.3.0. Что касается веб-серверов, то вы можете использовать Apache или Nginx.
В этом разделе вы установите стек LAMP (Apache, MariaDB и PHP), который будет использоваться для работы вашей установки MediaWiki.
Во-первых, обновите репозиторий Debian следующей командой.
sudo apt update
После обновления репозитория установите зависимости LAMP Stack с помощью следующей команды. Введите Y, чтобы подтвердить установку.
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
После завершения установки проверьте службу Apache и MariaDB, чтобы убедиться, что обе службы запущены.
Проверьте веб-сервер Apache с помощью следующей команды. Если вы получите вывод enabled (включен), это подтверждает, что Apache включен и будет автоматически запускаться при старте. При запуске вы увидите активный (работающий) вывод.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Далее проверьте сервер базы данных MariaDB с помощью команды ниже. Результаты должны быть похожими, вывод enabled подтверждает, что MariaDB включен, а active (running) подтверждает, что MariaDB запущен.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Наконец, проверьте версию PHP и список включенных модулей с помощью команды ниже. Вы увидите, что на вашем сервере Debian установлен PHP 8.2.
php -v php -m
Настройка PHP
После установки LAMP Stack вы настроите установку PHP, отредактировав файл php.ini и изменив некоторые параметры по умолчанию для MediaWiki.
Чтобы настроить PHP, откройте конфигурацию PHP /etc/php/8.2/apache2/php.ini с помощью следующей команды редактора nano.
sudo nano /etc/php/8.2/apache2/php.ini
Измените конфигурацию по умолчанию на следующую и убедитесь, что настроены оба параметра дата.часовой пояс и лимит_памяти с вашим текущим окружением.
date.timezone = Europe/Amsterdam upload_max_filesize = 80M memory_limit = 512M max_execution_time = 360
Сохраните и выйдите из файла.
Теперь выполните приведенную ниже команду, чтобы перезапустить службу Apache и применить внесенные изменения.
sudo systemctl restart apache2
Настройка сервера MariaDB
Когда PHP настроен, следующим шагом будет защита сервера MariaDB и создание новой базы данных и пользователя для MediaWiki. В этом примере вы защитите сервер MariaDB с помощью командной строки mariadb-secure-installation и создадите новую базу данных и пользователя с помощью клиента MariaDB.
Чтобы защитить установку сервера MariaDB, выполните команду mariadb-secure-installation, приведенную ниже.
sudo mariadb-secure-installation
Теперь введите Y, чтобы принять, или n, чтобы отклонить новую конфигурацию на сервере MariaDB:
- По умолчанию MariaDB устанавливается без пароля. Нажмите ENTER, когда появится запрос на ввод пароля.
- Теперь введите Y, чтобы установить пароль корня MariaDB. Затем введите новый пароль для MariaDB и повторите его.
- Введите Y, чтобы удалить анонимного пользователя из вашей установки MariaDB.
- Введите Y снова, когда появится запрос, чтобы отключить удаленный вход для пользователя MariaDB root.
- Введите Y, чтобы удалить тест базы данных по умолчанию из вашей MariaDB.
- Наконец, введите Y, чтобы перезагрузить привилегии таблиц и применить новые изменения.
После того как вы обеспечили развертывание сервера MariaDB, войдите на сервер MariaDB с помощью команды mariadb, приведенной ниже. При появлении запроса введите пароль корня MariaDB.
sudo mariadb -u root -p
Теперь выполните следующие запросы, чтобы создать новую базу данных MariaDB и пользователя для MediaWiki. В этом примере вы создадите новую базу данных mediawikidb, пользователь mediawiki с паролем mediawikipassdb. С помощью учетных данных вы можете настроить следующее.
CREATE DATABASE mediawikidb; CREATE USER mediawiki@localhost IDENTIFIED BY 'mediawikipassdb'; GRANT ALL ON mediawikidb.* TO mediawiki@localhost WITH GRANT OPTION; FLUSH PRIVILEGES;
Далее выполните следующий запрос, чтобы проверить привилегии пользователя mediawiki в MariaDB. Убедитесь, что пользователь mediawiki может получить доступ к базе данных mediawikidb.
SHOW GRANTS FOR mediawiki@localhost;
Наконец, введите выйти для выхода из MariaDB по завершении работы.
Теперь, когда все зависимости установлены и настроены, можно установить MediaWiki. Существует несколько версий MediaWiki: стабильная, унаследованная и LTS. В данном случае вы установите последнюю стабильную версию MediaWiki 1.41.
Перейдите в раздел /var/www каталог и загрузите исходный код MediaWiki с помощью команды wget, приведенной ниже. Обязательно посетите страницу загрузки MediaWiki, чтобы получить последнюю версию.
cd /var/www/ wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz
После загрузки извлеките исходный код с помощью команды ниже. Затем переименуйте извлеченный каталог в mediawiki. Таким образом, директория DocumentRoot для MediaWiki будет находиться по адресу /var/www/mediawiki.
tar -xvzf mediawiki-*.tar.gz mv mediawiki-*/ mediawiki/
Наконец, измените право собственности на /var/www/mediawiki каталог для пользователя www-data и измените разрешение на 0755.
sudo chown -R www-data:www-data /var/www/mediawiki sudo chmod 755 /var/www/mediawiki
Настройка виртуального хоста Apache
Итак, теперь вы загрузили исходный код MediaWiki, и в этом разделе вы создадите новый файл виртуального хоста Apache для запуска MediaWiki. Убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера. Для производства приобретите публичный домен, или вы также можете использовать локальное доменное имя.
Перед началом работы включите модуль перезаписи Apache с помощью следующей команды.
sudo a2enmod rewrite
Теперь создайте новую конфигурацию виртуального хоста Apache/etc/apache2/sites-available/mediawiki.conf с помощью приведенной ниже команды редактора nano.
sudo nano /etc/apache2/sites-available/mediawiki.conf
Вставьте следующую конфигурацию и убедитесь, что вы изменили параметр ServerName на ваше доменное имя и путь к журналам доступа и ошибок.
ServerName wiki.local
ServerAdmin [email protected]
DocumentRoot /var/www/mediawiki
ErrorLog /var/log/apache2/wiki.local_error.log
CustomLog /var/log/apache2/wiki.local_access.log combined
Options FollowSymlinks
AllowOverride All
Require all granted
Сохраните файл и выйдите из редактора.
Далее активируйте файл виртуального хоста mediawiki.conf и проверьте синтаксис Apache с помощью команды ниже. Если у вас правильный синтаксис Apache, вы увидите результат, подобный Синтаксис OK.
sudo a2ensite mediawiki.conf sudo apachectl configtest
Наконец, перезапустите веб-сервер Apache, чтобы применить новый виртуальный хост для MediaWiki. После перезапуска установка MediaWiki должна быть готова.
sudo systemctl restart apache2
Теперь вы создали конфигурацию виртуального хоста Apache для MediaWiki, давайте защитим вашу установку с помощью HTTPS с помощью Certbot и letsencrypt. Это применимо только в том случае, если вы используете публичный домен, но если вы используете локальный домен, вы можете сгенерировать самоподписанные сертификаты и применить HTTPS вручную.
Установите Certbot и плагин Certbot Apache с помощью команды ниже. Введите Y, чтобы подтвердить установку.
sudo apt install certbot python3-certbot-apache
После завершения установки выполните приведенную ниже команду certbot для генерации SSL/TLS сертификатов для вашего доменного имени MediaWiki. Не забудьте изменить имя домена и адрес электронной почты на свои данные.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.local
После завершения процесса ваш сертификат будет доступен в каталоге /etc/letsencrypt/live/domain.com, а ваш виртуальный хост также настроен на HTTPS.
Откройте предпочтительный веб-браузер и зайдите на сайт с вашим доменным именем, например http://wiki.local/. Если все прошло успешно, вы должны увидеть страницу приветствия MediaWiki. Щелкните на настроить вики ссылка.
Выберите язык по умолчанию для MediaWiki и нажмите кнопку Продолжить.
Для проверки среды убедитесь, что ваша система соответствует требованиям MediaWiki. Затем нажмите Продолжить снова.
Выберите базу данных как MariaDB и введите свое имя, пользователя и пароль. Затем нажмите кнопку Продолжить , чтобы продолжить.
Далее введите имя пользователя, электронную почту и пароль администратора MediaWiki, а затем нажмите кнопку Продолжить.
Для дополнительных настроек выберите тему по умолчанию, которую вы хотите использовать, затем нажмите Продолжить , чтобы продолжить установку.
Нажмите Продолжить , чтобы подтвердить установку MediaWiki.
После завершения установки файл LocalSettings.php будет автоматически загружен на ваш локальный компьютер, и вы увидите инструкцию по загрузке файла в каталог установки MediaWiki.
Вернитесь в терминал и выполните приведенную ниже команду, чтобы создать новый файл LocalSettings.php.
sudo -u www-data nano /var/www/mediawiki/LocalSettings.php
Откройте файл LocalSettings.php, который вы скачали, и скопируйте и вставьте PHP-код на свой сервер. Затем сохраните файл и выйдите из системы.
Вернитесь в веб-браузер и щелкните на ссылке войти в вики. Вы увидите домашнюю страницу MediaWiki, установленной по умолчанию.
Заключение
Поздравляем! Вы успешно установили MediaWiki на сервер Debian 12. Вы установили MediaWiki с помощью стека LAMP (Apache, MariaDB и PHP) и защитили MediaWiki с помощью HTTPS от Letsencrypt.