Задание для студента:
Разверните сайт на движке MediaWiki (как в Викимедиа) на сервере с Ubuntu 22.04 LTS, используя Nginx вместо Apache. Сайт должен быть доступен по домену или IP-адресу с корректной работой всех функций вики.
Инструкция по выполнению:
1. Подготовка сервера (Ubuntu 22.04)
Обновите пакеты:
sudo apt update && sudo apt upgrade -y
Установите базовые утилиты:
sudo apt install -y curl wget unzip
2. Установка LEMP-стека (Nginx + MariaDB + PHP)
Установите Nginx:
sudo apt install -y nginx sudo systemctl start nginx sudo systemctl enable nginx
Установите MariaDB:
sudo apt install -y mariadb-server sudo systemctl start mariadb sudo mysql_secure_installation
Следуйте подсказкам: задайте пароль root, удалите анонимных пользователей, отключите удаленный доступ root.
Установите PHP 8.1 и модули:
sudo apt install -y php-fpm php-mysql php-apcu php-intl php-xml php-mbstring php-curl php-gd php-zip
Настройте PHP-FPM:
Откройте файл/etc/php/8.1/fpm/php.iniи измените параметры:memory_limit = 256M upload_max_filesize = 100M post_max_size = 100M max_execution_time = 300
Перезапустите PHP-FPM:
sudo systemctl restart php8.1-fpm
3. Установка MediaWiki
Скачайте последнюю версию MediaWiki:
wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gzРаспакуйте архив в директорию Nginx:
sudo tar -xvzf mediawiki-1.41.0.tar.gz -C /var/www/ sudo mv /var/www/mediawiki-1.41.0 /var/www/wiki
Настройте права:
sudo chown -R www-data:www-data /var/www/wiki/ sudo chmod -R 755 /var/www/wiki/
4. Настройка Nginx для MediaWiki
Создайте конфигурационный файл для сайта:
sudo nano /etc/nginx/sites-available/wiki.conf
Вставьте конфигурацию (замените
your_domain_or_ipна IP или домен сервера):server { listen 80; server_name your_domain_or_ip; root /var/www/wiki; index index.php index.html; location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php?title=$1&$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
Активируйте конфигурацию:
sudo ln -s /etc/nginx/sites-available/wiki.conf /etc/nginx/sites-enabled/ sudo nginx -t # Проверьте синтаксис sudo systemctl reload nginx
5. Настройка базы данных
Войдите в MariaDB:
sudo mysql -u root -p
Создайте базу данных и пользователя:
CREATE DATABASE wikidb; CREATE USER 'wiki_user'@'localhost' IDENTIFIED BY 'ваш_надежный_пароль'; GRANT ALL PRIVILEGES ON wikidb.* TO 'wiki_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
6. Завершение установки через веб-интерфейс
Откройте в браузере:
http://your_domain_or_ip.Следуйте инструкциям установки MediaWiki:
Выберите язык.
В разделе База данных укажите:
Тип БД: MariaDB/MySQL
Имя БД:
wikidbИмя пользователя:
wiki_userПароль: ваш пароль от MariaDB.
Заполните настройки сайта (название вики, имя администратора и пароль).
В конце скачайте файл
LocalSettings.phpи переместите его в/var/www/wiki:sudo mv ~/Downloads/LocalSettings.php /var/www/wiki/
7. Дополнительно (опционально)
Настройка HTTPS через Let’s Encrypt: Установите Certbot и получите сертификат:
sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d your_domain
Кеширование:
Для повышения производительности настройте Redis или Memcached.
Проверка:
Откройте сайт в браузере. Убедитесь, что:
Страницы редактируются.
Файлы загружаются.
Поиск работает.