Содержание
Установка MediaWiki
Базовая настройка сервера
Подключаем к нашему серверу по SSH:
ssh root@<IP-адрес сервера>
Меняем язык сервера на Русский:
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@<IP-адрес сервера>
Установка Веб-сервер 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: <code> 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
Приводим его содержимое к следующему виду:
<VirtualHost *:80> ServerName wiki.kirmol.ru ServerAlias www.wiki.kirmol.ru ServerAdmin admin@localhost DocumentRoot /var/www/mediawiki/public_html <Directory /var/www/mediawiki/public_html> AllowOverride All Require all granted #Redirect permanent / https://wiki.kirmol.ru/ </Directory> ErrorLog /var/www/mediawiki/error.log CustomLog /var/www/mediawiki/access.log combined </VirtualHost>
Далее включаем хост следующей командой:
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";
Сохраняем файл.
Готово.
