Установка MediaWiki на Ubuntu 22.04 с LAMP
Кратко: пошаговая инструкция по установке MediaWiki (v1.38.1) на Ubuntu 22.04 с LAMP (Apache2, MariaDB, PHP 7.4) и HTTPS. В статье описаны требования, команды установки, настройка PHP и MariaDB, конфигурация виртуального хоста Apache, запуск веб-инсталлятора, советы по безопасности, резервному копированию, отладке и проверочные контрольные списки.
Важно: статья ориентирована на администраторов серверов с доступом по sudo и доменным именем, указывающим на сервер.
Зачем и когда использовать MediaWiki
MediaWiki — свободное, масштабируемое и расширяемое программное обеспечение для вики, на котором работают сайты вроде Wikipedia. Подходит для внутренней документации, баз знаний и публичных вики. Коротко:
- Почему: мощные права доступа, версия для совместной работы, много расширений и скинов.
- Когда: когда нужна центральная, структурированная документация с историей и правками.
- Краткое определение: MediaWiki — PHP-приложение с данными в реляционной БД (MySQL/MariaDB, PostgreSQL).
Что покрывает эта инструкция
- Установка LAMP: Apache2, MariaDB, PHP 7.4 и сопутствующих модулей.
- Настройка PHP под MediaWiki (upload_max_filesize, memory_limit, max_execution_time).
- Инициализация MariaDB: secure_installation, создание базы и пользователя.
- Разворачивание исходников MediaWiki (v1.38.1 как пример).
- Настройка Apache виртуального хоста с перенаправлением на HTTPS.
- Запуск веб-инсталлятора, перенос LocalSettings.php и базовые проверки.
- Дополнительно: безопасность, бэкапы, производительность, отладка и чек-листы ролей.
Требования перед началом
- Сервер Ubuntu 22.04 (x86_64 или совместимый). 1 ГБ оперативной памяти минимум, для рабочей нагрузки лучше 2+ ГБ.
- Непривилегированный пользователь с правами sudo.
- Домен или поддомен, указывающий на IP сервера (A/AAAA запись).
- Доступ в интернет для скачивания пакетов и релизов MediaWiki.
Установка LAMP (обзор и пояснение)
MediaWiki v1.38.1 в текущем примере требует PHP 7.4. На Ubuntu 22.04 по умолчанию может быть доступен PHP 8.x — для совместимости мы добавляем PPA с поддержкой PHP 7.4.
Добавьте репозиторий для PHP 7.4 и обновите индексы пакетов:
sudo add-apt-repository ppa:ondrej/php -yУстановите Apache2, MariaDB, ImageMagick и PHP 7.4 с нужными расширениями (список пакетов соответствует рекомендациям MediaWiki для базовой установки):
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Подтвердите установку клавишей Y, если потребуется.
Проверьте, что службы Apache2 и MariaDB включены и запущены:
sudo systemctl is-enabled apache2
sudo systemctl status apache2sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Если служба не запущена, посмотрите логи sudo journalctl -u apache2 или sudo journalctl -u mariadb для диагностики.
Настройка PHP под MediaWiki
MediaWiki требует ряда настроек PHP для корректной загрузки файлов и выполнения тяжёлых операций. Откройте конфигурацию Apache-PHP:
sudo nano /etc/php/7.4/apache2/php.iniИзмените (или добавьте) следующие параметры:
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360Сохраните файл и перезапустите Apache:
sudo systemctl restart apache2Примечание: значения можно корректировать под нагрузку. memory_limit уменьшайте только если сервер имеет мало ОЗУ.
Конфигурация MariaDB
Запустите скрипт безопасной конфигурации MariaDB:
sudo mysql_secure_installationПодсказки при выполнении (примерный порядок ответов — перевод интерфейса):
- Нажмите ENTER, если текущая установка без пароля root.
- Выберите n для сохранения способа аутентификации, если вам нужно обычное паролное хранение (не unix_socket) для root.
- Нажмите Y для установки пароля root, затем введите новый пароль.
- Y для удаления анонимных пользователей.
- Y для запрета удалённого доступа root.
- Y для удаления тестовой базы данных.
- Y для перезагрузки привилегий.
После этого войдите в MariaDB как root:
sudo mysql -u root -pСоздайте базу данных и пользователя для 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;
Проверьте привилегии:
SHOW GRANTS FOR mediawiki@localhost;
quit
Замечание: если вы используете отдельный хост БД, замените localhost и предоставьте права с соответствующей хост-опцией.
Скачивание исходников MediaWiki
Перейдите в директорию веб-контента и скачайте релиз MediaWiki. В примере используется версия 1.38.1:
cd /var/www/
wget https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.1.tar.gzРаспакуйте и переименуйте папку в mediawiki:
tar -xvzf mediawiki-*.tar.gz
mv mediawiki-*/ mediawiki/Установите корректные владельца и права:
sudo chown -R www-data:www-data /var/www/mediawiki
sudo chmod 755 /var/www/mediawikiОбъяснение: владелец www-data — это системный пользователь Apache на Ubuntu. Разрешение 755 позволяет чтение и выполнение для группы и других пользователей, запись только владельцу.
Настройка виртуального хоста Apache для MediaWiki
В примере используется домен wiki.howtoforge.local. Замените доменное имя и пути к SSL-сертификатам под свою конфигурацию.
Включите модули rewrite и ssl:
sudo a2enmod rewrite sslСоздайте файл конфигурации виртуального хоста:
sudo nano /etc/apache2/sites-available/mediawiki.confВставьте следующую конфигурацию (замените domain и пути сертификатов):
ServerName wiki.howtoforge.local
ServerAdmin [email protected]
# Redirect Requests to SSL
Redirect permanent "/" "https://wiki.howtoforge.local/"
ErrorLog ${APACHE_LOG_DIR}/wiki.howtoforge.local.error.log
CustomLog ${APACHE_LOG_DIR}/wiki.howtoforge.local.access.log combined
ServerName wiki.howtoforge.local
ServerAdmin [email protected]
DocumentRoot /var/www/mediawiki
# According MWiki Manual:Security
php_flag register_globals off
ErrorLog ${APACHE_LOG_DIR}/wiki.howtoforge.local.error.log
CustomLog ${APACHE_LOG_DIR}/wiki.howtoforge.local.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/wiki.howtoforge.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/wiki.howtoforge.local/privkey.pem
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
Options None FollowSymLinks
#Allow .htaccess
AllowOverride All
Require all granted
SecRuleEngine Off
# or disable only problematic rules
# According to MWiki Manual:Security
# Ignore .htaccess files
AllowOverride None
# Serve HTML as plaintext, don't execute SHTML
AddType text/plain .html .htm .shtml .php .phtml .php5
# Don't run arbitrary PHP code.
php_admin_flag engine off
# If you've other scripting languages, disable them too.
#According to MWiki Manual:Security
Deny from all
AllowOverride AuthConfig Limit
Require local
Сохраните файл и активируйте сайт:
sudo a2ensite mediawiki.conf
sudo apachectl configtestЕсли apachectl configtest выводит “Syntax OK”, перезапустите Apache:
sudo systemctl restart apache2Примечание по SSL: для автоматического получения сертификата можно использовать Certbot (sudo apt install certbot python3-certbot-apache) и команду sudo certbot --apache -d wiki.yourdomain.tld. Однако в примере пути указывают на уже существующие сертификаты Let’s Encrypt.
Запуск веб-инсталлятора MediaWiki
Откройте браузер и перейдите по адресу вашего сайта, например: https://wiki.howtoforge.local/
Нажмите «set up the wiki», выберите язык и следуйте шагам инсталлятора.

Выбор языка в установщике:

Инсталлятор проверит системные требования — убедитесь, что все отмечено как пройдено, затем нажмите Continue.

Введите данные базы данных (имя базы, пользователь, пароль) и продолжите.

Оставьте дополнительные параметры по умолчанию, если не требуется специфическая конфигурация.

Создайте администратора и задайте название вики:

Подтвердите дополнительные параметры и начните установку.

После успешной установки нажмите Continue.


Инсталлятор предложит скачать файл LocalSettings.php. Скачайте его и загрузите в корень установки на сервер: /var/www/mediawiki/LocalSettings.php.
Альтернатива: создайте файл вручную и скопируйте содержимое:
nano /var/www/mediawiki/LocalSettings.phpЗадайте правильного владельца:
sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.phpПосле этого перейдите по ссылке “enter your wiki” и проверьте главную страницу и вход.



Базовая проверка и отладка
- Веб-браузер: откройте главную страницу и попробуйте залогиниться.
- Логи Apache:
sudo tail -n 200 /var/log/apache2/error.logиaccess.log. - Логи PHP: смотрите
error_logв php.ini или общие логи Apache. - Проверка расширений PHP:
php -m | grep -E "apcu|curl|gd|mbstring|xml|mysql" - Проверка соединения с базой: запустите
mysql -u mediawiki -p -D mediawikidbс введённым паролем.
Если инсталлятор сообщает о недостающих модулях, установите отсутствующие пакеты и перезапустите Apache.
Рекомендации по безопасности (обязательные шаги)
- Всегда защищайте сайт HTTPS — используйте Let’s Encrypt или другой CA.
- Ограничьте права файлов и директорий: файлы 644, каталоги 755, LocalSettings.php должен принадлежать
www-data. - Не храните пароли в открытом виде в публичных репозиториях.
- Отключите выполнение PHP в каталоге
images(в конфигурации виртуального хоста это сделано черезphp_admin_flag engine off). - Регулярно применяйте обновления ОС и пакетов (
sudo apt update && sudo apt upgrade). - Настройте бэкап БД и файлов (см. раздел Бэкапы).
- Установите и настройте брандмауэр UFW (например,
sudo ufw allow 'Apache Full'для HTTPS/HTTP, затемsudo ufw enable).
Резервное копирование и восстановление
Минимальный набор для бэкапа:
- Дамп базы данных:
mysqldump -u root -p mediawikidb > /root/backups/mediawikidb-$(date +%F).sql- Копия каталога
imagesи LocalSettings.php:
tar -czvf /root/backups/mediawiki-files-$(date +%F).tar.gz /var/www/mediawiki/images /var/www/mediawiki/LocalSettings.phpВосстановление баз данных — через mysql -u root -p mediawikidb < dump.sql. Восстановление файлов — распаковка архива и корректировка владельца www-data.
Производительность и кэширование
- Установите APCu (мы включили php7.4-apcu) — медиа-индексы и сессии выиграют.
- Рассмотрите использование внешнего кеша (Redis, Memcached) для больших вики.
- Настройте заголовки кэширования на стороне Apache для статичных ресурсов.
- Для больших установок планируйте индексацию и оптимизацию базы.
Установка расширений и тем
- Расширения устанавливаются в папку
extensions/или через менеджер расширений Composer в зависимости от расширения. - Перед установкой проверьте совместимость расширения с версией MediaWiki (1.38.x).
- Изменения в LocalSettings.php должны быть внесены аккуратно — всегда сохраняйте копию файла до правок.
Обслуживание и обновление MediaWiki
Базовая процедура обновления:
- Сделать бэкап базы и файлов.
- Остановить сайт на время обновления (навигация по техническому окну).
- Скачать новую версию, распаковать, перенести пользовательские каталоги (images, extensions, skins) и выполнить скрипты обновления базы (maintenance/update.php) в случае необходимости.
- Протестировать локально и затем вернуть сайт в работу.
Типовые ошибки и способы их исправления
- 500 Internal Server Error: смотрите логи Apache и PHP; проверьте права.
- Ошибка подключения к БД: проверьте credentials в LocalSettings.php и возможность подключения
mysql -u mediawiki -p -D mediawikidb. - Ошибки расширений PHP: проверьте, что модуль загружен (
php -m) и перезапустите Apache. - Ошибка SSL: проверьте пути сертификатов и права доступа к ним, выполните
sudo certbot renew --dry-runпри использовании Let’s Encrypt.
Чек-листы ролей
Системный администратор:
- Подготовить сервер и сеть.
- Установить LAMP и PHP 7.4.
- Настроить MariaDB, создать базу и пользователя.
- Настроить виртуальный хост и SSL.
- Обеспечить бэкапы и мониторинг.
Веб-мастер / разработчик:
- Установить расширения и скины.
- Тестировать обновления на стенде.
- Настроить кэш и оптимизацию.
Контент-менеджер:
- Создать структуру вики, шаблоны и категории.
- Настроить права пользователей и группы.
- Подготовить правила редактирования и метаразметку.
Критерии приёмки
- Сайт доступен по HTTPS и загружает главную страницу.
- Админ может войти и создать страницу.
- Созданная страница сохраняется в БД и отображается корректно.
- Резервная копия БД и файлов выполнена и успешно восстановлена в тестовой среде.
Короткий справочник команд (cheat sheet)
- Перезапуск Apache:
sudo systemctl restart apache2 - Проверка статуса MariaDB:
sudo systemctl status mariadb - Создание дампа БД:
mysqldump -u root -p mediawikidb > dump.sql - Установка PHP модуля:
sudo apt install php7.4-
Короткая галерея исключительных случаев (edge cases)
- Если ваш сервер использует PHP-FPM, конфигурация Apache будет отличаться: потребуется модуль proxy_fcgi и настройка сокета/FPM.
- При расположении базы данных на удалённом хосте учитывайте безопасность соединения и firewall.
- Для больших вики рекомендуется отдельная база и выделенный сервер для MySQL/MariaDB.
Миграция с другой версии MediaWiki
- Сделайте полный бэкап.
- Проверьте совместимость расширений с целевой версией.
- Выполните обновление на стенде, а затем в продакшн.
- Для крупных версий следуйте официальной документации по миграции.
Короткий словарь терминов
- LAMP: Linux, Apache, MariaDB/MySQL, PHP.
- LocalSettings.php: основной файл конфигурации MediaWiki.
- APCu: кэш пользовательских данных для PHP.
Decision flow: выбрать хостинг модели (Mermaid)
graph TD
A[Нужна ли полная автономная вики?] -->|Да| B[Самостоятельный сервер 'LAMP']
A -->|Нет| C[Поиск SaaS решения или управляемый хостинг]
B --> D{Высокая нагрузка?}
D -->|Да| E[Выделенные серверы: БД + Вэб]
D -->|Нет| F[Один сервер + кэш APCu]
C --> G[Оцени SLA и стоимость]Резюме
Вы установили MediaWiki на Ubuntu 22.04 с LAMP: настроили PHP 7.4, создали базу MariaDB, настроили Apache с SSL и прошли веб-инсталлятор. Дальше — поддержка, расширения, безопасность и бэкапы.
Ключевые действия: проверьте права доступа, автоматизируйте бэкапы и регулярно применяйте обновления.
Контрольные тесты и критерии приёмки
- Тест 1: Открыть главную страницу по HTTPS — ожидаемый результат: 200 OK.
- Тест 2: Войти под админом и создать страницу — ожидаемый результат: страница появляется и доступна для редактирования.
- Тест 3: Сделать дамп БД и восстановить в тестовом окружении — ожидаемый результат: сайт работает после восстановления.
Социальный превью (рекомендации)
OG заголовок и описание можно использовать как шаблон для публикаций:
- OG заголовок: Установка MediaWiki на Ubuntu 22.04
- OG описание: Пошаговый гайд по развёртыванию MediaWiki с LAMP и HTTPS.
Заключение
Поздравляем — вы успешно развернули MediaWiki на Ubuntu 22.04 с LAMP. Дальнейшие шаги: настроить регулярные бэкапы, расширения для поиска и кэширования, и отладить права пользователей под задачи вашей команды.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента