====== Установка MediaWiki ====== ---- ===== Базовая настройка сервера ===== Подключаем к нашему серверу по SSH: ssh root@ Меняем язык сервера на Русский: dpkg-reconfigure locales ===== Обновляем систему и устанавливаем базовый софт ===== Обновляем список пакетов и обновляем систему: apt update && apt upgrade Устанавливаем Базовый софт: apt install apt-transport-https ca-certificates curl htop sudo zip unzip wget ===== Создаём нового пользователя и добавляем его в группу Sudo ===== Создаём пользователя: adduser kirill Добавляем нашего пользователя в группу **sudo**: usermod -aG sudo kirill Перезагружаем сервер: reboot Снова подключаемся к нашему серверу по SSH, но только не под пользователем **Root**, а под пользователем, которого мы только что создали: ssh kirill@ ===== Установка Веб-сервер Apache ===== Устанавливаем Apache: sudo apt install apache2 Добавляем Apache в автозагрузку: sudo systemctl enable apache2 Запускаем Apache: sudo systemctl start apache2 Смотрим статус: sudo systemctl status apache2 ===== Установка PHP для MediaWiki из Официального репозитория Debian ===== Устанавливаем PHP: sudo apt install php php-common php-apcu php-bcmath php-cli php-curl php-gd php-intl php-mbstring php-xml php-mysql libapache2-mod-php ===== Настройка php.ini ===== Проверяем текущие значения: grep -E "upload_max_filesize|post_max_size|memory_limit|max_execution_time" /etc/php/8.4/apache2/php.ini Увеличиваем лимит: sudo sed -i 's/^upload_max_filesize.*/upload_max_filesize = 768M/; s/^post_max_size.*/post_max_size = 768M/; s/^memory_limit.*/memory_limit = 512M/' /etc/php/8.4/fpm/php.ini ===== Установка MariaDB для MediaWiki из Официального репозитория Debian ===== Устанавливаем MariaDB: sudo apt install mariadb-server mariadb-client ===== Первоначальная настройка MariaDB ===== Делаем первоначальную настройку базы данных MariaBD: sudo mariadb-secure-installation Отвечаем yes / y на следующие вопросы безопасности: ^ Вопрос ^ Ответ Да/Нет ^ | Введите текущий пароль для пользователя root? | Ничего не вводим, нажимаем Enter | | Переключиться на аутентификацию unix_socket? | Y / n: y | | Установить пароль root? | Y / n: y | | Удалить анонимных пользователей? | (Нажмите y - Y для Yes, любой другой символ для No): y | | Запретить вход в систему удаленно? | (Нажмите y - Y для Yes, любой другой символ для No): y | | Удалить тестовую базу данных и получить доступ к ней? | (Нажмите y - Y для Yes, любой другой символ для No): y | | Обновить таблицы привилегий сейчас? | (Нажмите y - Y для Yes, любой другой символ для No): y | ===== Настраиваем Apache ===== Установите права доступа на директорию **www**: sudo chmod -R 775 /var/www sudo chown -R $USER:$USER /var/www Добавляем нашего пользователя в группу www-data: sudo usermod -aG www-data $USER Добавляем пользователя www-data в группу нашего пользователя: sudo usermod -aG $USER www-data ===== Создаём новый виртуальный хост ===== Сначала отключим хост по умолчанию: sudo a2dissite 000-default Переходим в каталог /var/www: cd /var/www Создаём новый каталог: mkdir mediawiki Переходим в созданный каталог: cd mediawiki Скачиваем MediaWiki: wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.6.zip Распаковываем архив с MediaWiki: unzip mediawiki-1.43.6.zip Удаляем скаченный архив mediawiki-1.43.6.zip, он нам больше не понадобиться: rm mediawiki-1.43.6.zip Переименовываем каталог mediawiki-1.43.6 в public_html: mv mediawiki-1.43.6 public_html Меняем владельца на www-data: sudo chown -R www-data:www-data public_html Создаём конфигурационный файл нового хоста: sudo nano /etc/apache2/sites-available/mediawiki.conf Приводим его содержимое к следующему виду: ServerName wiki.kirmol.ru ServerAlias www.wiki.kirmol.ru ServerAdmin admin@localhost DocumentRoot /var/www/mediawiki/public_html AllowOverride All Require all granted #Redirect permanent / https://wiki.kirmol.ru/ ErrorLog /var/www/mediawiki/error.log CustomLog /var/www/mediawiki/access.log combined Далее включаем хост следующей командой: sudo a2ensite mediawiki И перезагружаем Apache: sudo systemctl restart apache2 Выключить хост можно следующей командой: sudo a2dissite mediawiki sudo a2dissite mediawiki-le-ssl sudo systemctl restart apache2 ===== Создаём базу данных для MediaWiki ===== Подключаемся к MariaDB: sudo mariadb -u root -p Создаём новую базу: CREATE DATABASE mediawiki; Создаём пользователя базы данных, и назначаем все права доступа: GRANT ALL ON mediawiki.* TO 'mediawiki_user'@'localhost' IDENTIFIED BY 'pass'; Сохраняем изменения: FLUSH PRIVILEGES; Выходим из базы данных: EXIT; ===== Красивые ссылки ===== Удаляем index.php из URL в MediaWiki Редактируем файл .htaccess: sudo nano /var/www/mediawiki/public_html/.htaccess Добавляем следующий код: RewriteEngine On RewriteRule ^/(.*):(.*) /index.php/$1:$2 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php?title=$1 [L,QSA] Сохраняем файл. После чего, редактируем файл LocalSettings.php: sudo nano /var/www/mediawiki/public_html/LocalSettings.php Добавляем в него следующию строку: $wgArticlePath = "/$1"; Сохраняем файл. Готово.