Гид по технологиям

Установка MediaWiki на Ubuntu 22.04 с LAMP

• 8 min read • Инфраструктура • Обновлено 25 Nov 2025
Установка MediaWiki на Ubuntu 22.04 (LAMP)
Установка 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 apache2
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Вывод systemctl для сервиса 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;

Создание базы данных и пользователя в MariaDB в командной строке

Проверьте привилегии:

SHOW GRANTS FOR mediawiki@localhost;
quit

Проверка прав пользователя mediawiki в MariaDB

Замечание: если вы используете отдельный хост БД, замените 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», выберите язык и следуйте шагам инсталлятора.

Старт установки MediaWiki: кнопка 'set up the wiki'

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

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

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

Проверка системных требований в установщике MediaWiki

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

Ввод учётных данных базы данных в установщике

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

Стандартные настройки базы данных в установщике

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

Создание администратора: ввод имени и пароля

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

Дополнительные параметры установки MediaWiki

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

Подтверждение и запуск установки MediaWiki

Сообщение об успешной установке MediaWiki

Инсталлятор предложит скачать файл 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” и проверьте главную страницу и вход.

Загрузка LocalSettings.php и инструкция по загрузке на сервер

Главная страница установленного MediaWiki

Форма входа в MediaWiki

Базовая проверка и отладка

  1. Веб-браузер: откройте главную страницу и попробуйте залогиниться.
  2. Логи Apache: sudo tail -n 200 /var/log/apache2/error.log и access.log.
  3. Логи PHP: смотрите error_log в php.ini или общие логи Apache.
  4. Проверка расширений PHP: php -m | grep -E "apcu|curl|gd|mbstring|xml|mysql"
  5. Проверка соединения с базой: запустите 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

Базовая процедура обновления:

  1. Сделать бэкап базы и файлов.
  2. Остановить сайт на время обновления (навигация по техническому окну).
  3. Скачать новую версию, распаковать, перенести пользовательские каталоги (images, extensions, skins) и выполнить скрипты обновления базы (maintenance/update.php) в случае необходимости.
  4. Протестировать локально и затем вернуть сайт в работу.

Типовые ошибки и способы их исправления

  • 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. Дальнейшие шаги: настроить регулярные бэкапы, расширения для поиска и кэширования, и отладить права пользователей под задачи вашей команды.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро