WiKi: различия между версиями

Материал из КРАТКАЯ СПРАВОЧНАЯ DIGITAL-ORGY
Перейти к навигации Перейти к поиску
Новая страница: «Раздел 1. Предварительные условия Перед началом убедитесь, что ваш сервер соответствует следующим требованиям: '''Операционная система:''' Чистая установка Debian (например, Debian 12) или Ubuntu (например, Ubuntu 22.04 LTS). У вас должны быть права '''root''' или пользователя с...»
 
Нет описания правки
 
Строка 1: Строка 1:
Раздел 1. Предварительные условия
'''Подробная пошаговая инструкция по установке MediaWiki на сервере Debian/Ubuntu'''
Перед началом убедитесь, что ваш сервер соответствует следующим требованиям:


'''Операционная система:''' Чистая установка Debian (например, Debian 12) или Ubuntu (например, Ubuntu 22.04 LTS). У вас должны быть права '''root''' или пользователя с доступом к '''sudo'''.
В этой инструкции рассматривается классическая установка, аналогичная той, что мы обсуждали для Nextcloud, но адаптированная под требования и особенности MediaWiki. Движок используется веб-сервером Apache HTTP Server и базой данных MariaDB (совместимой с MySQL). Инструкция основана на официальной документации MediaWiki и лучших практиках.


'''Аппаратные ресурсы:''' Рекомендуется минимум ~2 ГБ оперативной памяти и несколько ГБ свободного места на диске. (Конкретные требования зависят от объема вашей вики).
== 1. Предварительные условия ==


'''Сеть:''' Открыты порты 80 (HTTP) и 443 (HTTPS) в брандмауэре (ufw или iptables) и/или проброшены на роутере (если сервер за NAT).
Перед началом убедитесь, что ваш сервер соответствует следующим требованиям:
* '''Операционная система:''' Чистая установка Debian (например, Debian 12) или Ubuntu (например, Ubuntu LTS). У вас должны быть права '''root''' или пользователя с доступом к '''sudo'''.
* '''Аппаратные ресурсы:''' Рекомендуется минимум ~2 ГБ оперативной памяти и несколько ГБ свободного места на диске. Требования зависят от объема вашей вики.
* '''Сеть:''' Открыты порты 80 (HTTP) и 443 (HTTPS) в брандмауэре (ufw или iptables) и/или проброшены на роутере (если сервер за NAT).
* '''Доменное имя:''' У вас есть зарегистрированный домен или поддомен (например, `wiki.example.com`), указывающий на IP-адрес этого сервера.


'''Доменное имя:''' У вас есть зарегистрированный домен или поддомен (например, wiki.example.com), указывающий на IP-адрес этого сервера.
== 2. Обновление системы ==


Раздел 2. Обновление системы
Первым делом обновите список пакетов и саму систему до последних версий.
Первым делом обновите список пакетов и саму систему до последних версий.


Строка 18: Строка 20:
</pre>
</pre>


Раздел 3. Установка веб-сервера Apache
== 3. Установка веб-сервера Apache ==
 
Установите Apache и модуль PHP для него.
Установите Apache и модуль PHP для него.


Строка 33: Строка 36:
</pre>
</pre>


Раздел 4. Установка PHP и необходимых расширений
== 4. Установка PHP и необходимых расширений ==
 
Установите PHP рекомендованной версии (на данный момент рекомендуется PHP 8.1, 8.2 или 8.3) и полный набор модулей, необходимых для работы MediaWiki.
Установите PHP рекомендованной версии (на данный момент рекомендуется PHP 8.1, 8.2 или 8.3) и полный набор модулей, необходимых для работы MediaWiki.


<pre lang="bash">
<pre lang="bash">
sudo apt install -y php php-gd php-curl php-zip php-xml php-mbstring
sudo apt install -y php php-gd php-curl php-zip php-xml php-mbstring \
 
php-mysql php-intl php-imagick php-bz2 php-bcmath php-gmp libmagickcore-dev
php-mysql php-intl php-imagick php-bz2 php-bcmath php-gmp libmagickcore-dev
</pre>
</pre>
Строка 44: Строка 47:
''Примечание: Также могут понадобиться php-apcu (для локального кэширования) или php-fpm (если вы планируете использовать его вместо модуля Apache).''
''Примечание: Также могут понадобиться php-apcu (для локального кэширования) или php-fpm (если вы планируете использовать его вместо модуля Apache).''


Настройка PHP.ini
=== Настройка PHP.ini ===
Откройте файл конфигурации PHP для Apache (путь будет отличаться в зависимости от версии PHP, например, /etc/php/8.2/apache2/php.ini) и задайте следующие рекомендуемые параметры:
 
Откройте файл конфигурации PHP для Apache (путь будет отличаться в зависимости от версии PHP, например, `/etc/php/8.2/apache2/php.ini`) и задайте следующие рекомендуемые параметры:


<pre lang="ini">
<pre lang="ini">
Строка 53: Строка 57:
memory_limit = 512M (минимум, рекомендуется 1G или больше)
memory_limit = 512M (минимум, рекомендуется 1G или больше)
</pre>
</pre>
Также убедитесь, что OPCache включен (параметры `opcache.enable=1` и другие в `/etc/php/8.x/mods-available/opcache.ini` или `/etc/php/8.x/apache2/php.ini`).


Также убедитесь, что OPCache включен (параметры opcache.enable=1 и другие в /etc/php/8.x/mods-available/opcache.ini или /etc/php/8.x/apache2/php.ini).
== 5. Установка и настройка базы данных (MariaDB) ==


Раздел 5. Установка и настройка базы данных (MariaDB)
Установите сервер базы данных MariaDB.
Установите сервер базы данных MariaDB.


Строка 71: Строка 75:
</pre>
</pre>


Создание базы данных и пользователя для MediaWiki
=== Создание базы данных и пользователя для MediaWiki ===
 
Зайдите в консоль MySQL под root-пользователем:
Зайдите в консоль MySQL под root-пользователем:


Строка 78: Строка 83:
</pre>
</pre>


Выполните следующие SQL-команды, заменив StrongWikiPasswordHere на ваш надежный пароль:
Выполните следующие SQL-команды, заменив `StrongWikiPasswordHere` на ваш надежный пароль:


<pre lang="sql">
<pre lang="sql">
CREATE DATABASE mediawiki CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE mediawiki CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'StrongWikiPasswordHere';
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'StrongWikiPasswordHere';
GRANT ALL PRIVILEGES ON mediawiki.* TO 'wikiuser'@'localhost';
GRANT ALL PRIVILEGES ON mediawiki.* TO 'mediawikiuser'@'localhost';
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
EXIT;
EXIT;
</pre>
</pre>
*Важно: Не используйте этот пароль в LocalSettings.php позже, веб-интерфейс установки попросит его для создания файла конфигурации.*


Важно: Не используйте этот пароль в LocalSettings.php позже, веб-интерфейс установки попросит его для создания файла конфигурации.
== 6. Скачивание и установка MediaWiki ==


Раздел 6. Скачивание и установка MediaWiki
Перейдите в веб-корень сервера.
Перейдите в веб-корень сервера.


Строка 97: Строка 102:
</pre>
</pre>


Установите утилиты tar и gzip для распаковки.
Установите утилиты `tar` и `gzip` для распаковки.


<pre lang="bash">
<pre lang="bash">
Строка 115: Строка 120:
</pre>
</pre>


Переместите распакованные файлы в нужную директорию (например, /var/www/html/wiki) и удалите архив:
Переместите распакованные файлы в нужную директорию (например, `/var/www/html/wiki`) и удалите архив:


<pre lang="bash">
<pre lang="bash">
Строка 122: Строка 127:
</pre>
</pre>


Установите корректного владельца (пользователя веб-сервера www-data) и права доступа:
Установите корректного владельца (пользователя веб-сервера `www-data`) и права доступа:


<pre lang="bash">
<pre lang="bash">
Строка 129: Строка 134:
</pre>
</pre>


Раздел 7. Настройка виртуального хоста Apache для MediaWiki
== 7. Настройка виртуального хоста Apache для MediaWiki ==
Создайте новый файл конфигурации для вашего сайта, например, /etc/apache2/sites-available/wiki.conf, заменив your.domain.com на ваш реальный домен:
 
Создайте новый файл конфигурации для вашего сайта, например, `/etc/apache2/sites-available/wiki.conf`, заменив `your.domain.com` на ваш реальный домен:


<pre lang="apache">
<pre lang="apache">
<VirtualHost *:80>
<VirtualHost *:80>
ServerName your.domain.com
    ServerName your.domain.com
DocumentRoot /var/www/html/wiki
    DocumentRoot /var/www/html/wiki


&lt;Directory /var/www/html/wiki/&gt;
    <Directory /var/www/html/wiki/>
    Options +FollowSymlinks
        Options +FollowSymlinks
    AllowOverride All
        AllowOverride All
    Require all granted
        Require all granted
&lt;/Directory&gt;
    </Directory>
</VirtualHost>
</VirtualHost>
</pre>
</pre>


Активируйте созданный сайт и модули Apache, необходимые для работы MediaWiki (например, rewrite):
Активируйте созданный сайт и модули Apache, необходимые для работы MediaWiki (например, `rewrite`):


<pre lang="bash">
<pre lang="bash">
Строка 153: Строка 159:
</pre>
</pre>


Раздел 8. Настройка HTTPS (SSL)
== 8. Настройка HTTPS (SSL) ==
 
Рекомендуется сразу настроить HTTPS. Самый простой и бесплатный способ — использовать сертификаты от Let’s Encrypt с помощью утилиты Certbot.
Рекомендуется сразу настроить HTTPS. Самый простой и бесплатный способ — использовать сертификаты от Let’s Encrypt с помощью утилиты Certbot.


Строка 169: Строка 176:
</pre>
</pre>


Раздел 9. Завершение установки через веб-интерфейс
== 9. Завершение установки через веб-интерфейс ==
Откройте браузер и перейдите по адресу https://your.domain.com/wiki/mw-config/index.php. Вы увидите веб-интерфейс установки MediaWiki.
 
'''Пройдите шаги установки:''' Выберите язык, примите условия лицензии, затем следуйте инструкциям:
# Откройте браузер и перейдите по адресу `https://your.domain.com/mw-config/index.php`. Вы увидите веб-интерфейс установки MediaWiki.
# '''Пройдите шаги установки:''' Выберите язык, примите условия лицензии, затем следуйте инструкциям:
#* '''Системная проверка:''' Убедитесь, что все критические проверки пройдены (зеленые галочки).
#* '''Системная проверка:''' Убедитесь, что все критические проверки пройдены (зеленые галочки).
#* '''Подключение к базе данных:'''
#* '''Подключение к базе данных:'''
#** '''Тип базы данных:''' MariaDB/MySQL.
#** '''Тип базы данных:''' MariaDB/MySQL.
#** '''Хост базы данных:''' localhost.
#** '''Хост базы данных:''' `localhost`.
#** '''Название базы данных:''' mediawiki (как создали на шаге 5).
#** '''Название базы данных:''' `mediawiki` (как создали на шаге 5).
#** '''Имя пользователя базы данных:''' wikiuser (как создали на шаге 5).
#** '''Имя пользователя базы данных:''' `wikiuser` (как создали на шаге 5).
#** '''Пароль базы данных:''' Пароль, заданный вами (вместо StrongWikiPasswordHere).
#** '''Пароль базы данных:''' Пароль, заданный вами (вместо `StrongWikiPasswordHere`).
#** '''Адрес администратора:''' Оставьте пустым.
#** '''Адрес администратора:''' Оставьте пустым.
#** Нажмите продолжить.
#** Нажмите продолжить.
Строка 185: Строка 193:
#* '''Дополнительная конфигурация:''' Просмотрите дополнительные настройки по желанию (например, выбор стандартного внешнего вида, включение загрузки файлов, права доступа). Убедитесь, что загрузка файлов включена, если планируете загружать картинки.
#* '''Дополнительная конфигурация:''' Просмотрите дополнительные настройки по желанию (например, выбор стандартного внешнего вида, включение загрузки файлов, права доступа). Убедитесь, что загрузка файлов включена, если планируете загружать картинки.
#* '''Завершение установки:''' Нажмите кнопку «Установить MediaWiki».
#* '''Завершение установки:''' Нажмите кнопку «Установить MediaWiki».
'''Скачайте LocalSettings.php:''' По завершении установки веб-интерфейс предложит вам скачать файл LocalSettings.php.
'''Загрузите LocalSettings.php на сервер:''' Используйте SCP, SFTP или создайте файл вручную на сервере:
#* Введите команду: sudo nano /var/www/html/wiki/LocalSettings.php
#* Вставьте содержимое скачанного файла.
#* Сохраните файл (Ctrl+O, Enter) и закройте редактор (Ctrl+X).
'''Настройте права доступа к LocalSettings.php:''' Этот файл содержит пароль базы данных, поэтому обеспечьте его безопасность:
#* sudo chown www-data:www-data /var/www/html/wiki/LocalSettings.php
#* sudo chmod 600 /var/www/html/wiki/LocalSettings.php
Раздел 10. Доверенные домены и базовая оптимизация (рекомендуемые действия)
Доверенные домены и кэширование
MediaWiki автоматически использует домен, указанный при установке, в качестве доверенного. Дополнительная настройка обычно не требуется, если только вы не используете обратный прокси-сервер.
Для значительного повышения производительности Nextcloud рекомендуется настроить кэширование:
'''OPCache в PHP:''' Убедитесь, что OPCache включен и настроен в php.ini (шаг 4). MediaWiki автоматически воспользуется им.
'''Локальный кэш (APCu):''' Если вы установили php-apcu, вы можете включить его использование в LocalSettings.php, найдя строку $wgMainCacheType и установив значение CACHE_ACCEL (убедитесь, что в списке расширений также загружен php-apcu).
'''Распределенный кэш (Redis):''' Для больших инсталляций рекомендуется использовать Redis в качестве кэширующего бэкенда. Установите необходимые пакеты (sudo apt install redis-server php-redis -y, sudo systemctl enable redis-server, sudo systemctl start redis-server), а затем настройте доступ к Redis в LocalSettings.php, раскомментировав и настроив соответствующие строки (например, $wgMainCacheType = CACHE_REDIS;, $wgRedisCacheServers = [ 'localhost:6379' ];, убедившись, что $wgMainCacheType также раскомментировано и настроено на использование Redis).
Раздел 11. Проверка и запуск
Убедитесь, что при переходе по вашему домену (https://your.domain.com) вы видите замочек SSL и HTTP автоматически перенаправляется на HTTPS.
Убедитесь, что вы можете войти в систему под созданным администратором.
Попробуйте создать тестовую страницу и загрузить тестовый файл (если включили загрузку).
Проверьте логи Apache (/var/log/apache2/error.log) и логи MediaWiki (можно включить ведение логов в LocalSettings.php), если что-то работает не так.
Обязательно выполните шаги по защите LocalSettings.php (шаг 9, пункт 5).

Текущая версия от 06:13, 9 апреля 2026

Подробная пошаговая инструкция по установке MediaWiki на сервере Debian/Ubuntu

В этой инструкции рассматривается классическая установка, аналогичная той, что мы обсуждали для Nextcloud, но адаптированная под требования и особенности MediaWiki. Движок используется веб-сервером Apache HTTP Server и базой данных MariaDB (совместимой с MySQL). Инструкция основана на официальной документации MediaWiki и лучших практиках.

1. Предварительные условия

Перед началом убедитесь, что ваш сервер соответствует следующим требованиям:

  • Операционная система: Чистая установка Debian (например, Debian 12) или Ubuntu (например, Ubuntu LTS). У вас должны быть права root или пользователя с доступом к sudo.
  • Аппаратные ресурсы: Рекомендуется минимум ~2 ГБ оперативной памяти и несколько ГБ свободного места на диске. Требования зависят от объема вашей вики.
  • Сеть: Открыты порты 80 (HTTP) и 443 (HTTPS) в брандмауэре (ufw или iptables) и/или проброшены на роутере (если сервер за NAT).
  • Доменное имя: У вас есть зарегистрированный домен или поддомен (например, `wiki.example.com`), указывающий на IP-адрес этого сервера.

2. Обновление системы

Первым делом обновите список пакетов и саму систему до последних версий.

sudo apt update
sudo apt upgrade -y

3. Установка веб-сервера Apache

Установите Apache и модуль PHP для него.

sudo apt install apache2 libapache2-mod-php -y
sudo systemctl enable apache2
sudo systemctl start apache2

Проверьте, что Apache запущен и работает без ошибок:

sudo systemctl status apache2

4. Установка PHP и необходимых расширений

Установите PHP рекомендованной версии (на данный момент рекомендуется PHP 8.1, 8.2 или 8.3) и полный набор модулей, необходимых для работы MediaWiki.

sudo apt install -y php php-gd php-curl php-zip php-xml php-mbstring \
php-mysql php-intl php-imagick php-bz2 php-bcmath php-gmp libmagickcore-dev

Примечание: Также могут понадобиться php-apcu (для локального кэширования) или php-fpm (если вы планируете использовать его вместо модуля Apache).

Настройка PHP.ini

Откройте файл конфигурации PHP для Apache (путь будет отличаться в зависимости от версии PHP, например, `/etc/php/8.2/apache2/php.ini`) и задайте следующие рекомендуемые параметры:

max_execution_time = 360
post_max_size = 64M (или больше, если планируете загружать большие файлы)
upload_max_filesize = 64M (или больше, должно быть меньше или равно post_max_size)
memory_limit = 512M (минимум, рекомендуется 1G или больше)

Также убедитесь, что OPCache включен (параметры `opcache.enable=1` и другие в `/etc/php/8.x/mods-available/opcache.ini` или `/etc/php/8.x/apache2/php.ini`).

5. Установка и настройка базы данных (MariaDB)

Установите сервер базы данных MariaDB.

sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

Запустите скрипт безопасности, чтобы настроить пароль root, удалить анонимных пользователей и запретить удаленный вход root.

sudo mysql_secure_installation

Создание базы данных и пользователя для MediaWiki

Зайдите в консоль MySQL под root-пользователем:

sudo mysql -u root -p

Выполните следующие SQL-команды, заменив `StrongWikiPasswordHere` на ваш надежный пароль:

CREATE DATABASE mediawiki CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'StrongWikiPasswordHere';
GRANT ALL PRIVILEGES ON mediawiki.* TO 'mediawikiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  • Важно: Не используйте этот пароль в LocalSettings.php позже, веб-интерфейс установки попросит его для создания файла конфигурации.*

6. Скачивание и установка MediaWiki

Перейдите в веб-корень сервера.

cd /var/www/html

Установите утилиты `tar` и `gzip` для распаковки.

sudo apt install tar gzip -y

Скачайте последнюю стабильную версию MediaWiki (ссылку всегда можно найти на официальном сайте, мы используем перенаправление на последнюю версию):

sudo wget https://releases.wikimedia.org/mediawiki/latest/mediawiki-latest.tar.gz

Распакуйте архив:

sudo tar -xzf mediawiki-latest.tar.gz

Переместите распакованные файлы в нужную директорию (например, `/var/www/html/wiki`) и удалите архив:

sudo mv mediawiki-* /var/www/html/wiki
sudo rm mediawiki-latest.tar.gz

Установите корректного владельца (пользователя веб-сервера `www-data`) и права доступа:

sudo chown -R www-data:www-data /var/www/html/wiki
sudo chmod -R 755 /var/www/html/wiki

7. Настройка виртуального хоста Apache для MediaWiki

Создайте новый файл конфигурации для вашего сайта, например, `/etc/apache2/sites-available/wiki.conf`, заменив `your.domain.com` на ваш реальный домен:

<VirtualHost *:80>
    ServerName your.domain.com
    DocumentRoot /var/www/html/wiki

    <Directory /var/www/html/wiki/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Активируйте созданный сайт и модули Apache, необходимые для работы MediaWiki (например, `rewrite`):

sudo a2ensite wiki.conf
sudo a2enmod rewrite headers env dir mime setenvif
sudo systemctl reload apache2

8. Настройка HTTPS (SSL)

Рекомендуется сразу настроить HTTPS. Самый простой и бесплатный способ — использовать сертификаты от Let’s Encrypt с помощью утилиты Certbot.

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d your.domain.com

Следуйте инструкциям на экране. Certbot автоматически получит сертификат, настроит Apache и предложит настроить автоматическое перенаправление с HTTP на HTTPS (рекомендуется выбрать этот вариант).

После завершения перезагрузите Apache:

sudo systemctl reload apache2

9. Завершение установки через веб-интерфейс

  1. Откройте браузер и перейдите по адресу `https://your.domain.com/mw-config/index.php`. Вы увидите веб-интерфейс установки MediaWiki.
  2. Пройдите шаги установки: Выберите язык, примите условия лицензии, затем следуйте инструкциям:
    • Системная проверка: Убедитесь, что все критические проверки пройдены (зеленые галочки).
    • Подключение к базе данных:
      • Тип базы данных: MariaDB/MySQL.
      • Хост базы данных: `localhost`.
      • Название базы данных: `mediawiki` (как создали на шаге 5).
      • Имя пользователя базы данных: `wikiuser` (как создали на шаге 5).
      • Пароль базы данных: Пароль, заданный вами (вместо `StrongWikiPasswordHere`).
      • Адрес администратора: Оставьте пустым.
      • Нажмите продолжить.
    • Настройки базы данных: Оставьте настройки по умолчанию (хранилище, кодировка).
    • Название вики и создание администратора: Укажите название вашей вики и создайте учетную запись администратора (имя, пароль, email).
    • Дополнительная конфигурация: Просмотрите дополнительные настройки по желанию (например, выбор стандартного внешнего вида, включение загрузки файлов, права доступа). Убедитесь, что загрузка файлов включена, если планируете загружать картинки.
    • Завершение установки: Нажмите кнопку «Установить MediaWiki».