**Задание для студента:** Разверните сайт на движке MediaWiki (как в Викимедиа) на сервере с Ubuntu 22.04 LTS, используя **Nginx** вместо Apache. Сайт должен быть доступен по домену или IP-адресу с корректной работой всех функций вики. --- ### **Инструкция по выполнению:** #### 1. **Подготовка сервера (Ubuntu 22.04)** - Обновите пакеты: ```bash sudo apt update && sudo apt upgrade -y ``` - Установите базовые утилиты: ```bash sudo apt install -y curl wget unzip ``` --- #### 2. **Установка LEMP-стека (Nginx + MariaDB + PHP)** - **Установите Nginx:** ```bash sudo apt install -y nginx sudo systemctl start nginx sudo systemctl enable nginx ``` - **Установите MariaDB:** ```bash sudo apt install -y mariadb-server sudo systemctl start mariadb sudo mysql_secure_installation ``` - Следуйте подсказкам: задайте пароль root, удалите анонимных пользователей, отключите удаленный доступ root. - **Установите PHP 8.1 и модули:** ```bash 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` и измените параметры: ```ini memory_limit = 256M upload_max_filesize = 100M post_max_size = 100M max_execution_time = 300 ``` Перезапустите PHP-FPM: ```bash sudo systemctl restart php8.1-fpm ``` --- #### 3. **Установка MediaWiki** - Скачайте последнюю версию MediaWiki: ```bash wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz ``` - Распакуйте архив в директорию Nginx: ```bash sudo tar -xvzf mediawiki-1.41.0.tar.gz -C /var/www/ sudo mv /var/www/mediawiki-1.41.0 /var/www/wiki ``` - Настройте права: ```bash sudo chown -R www-data:www-data /var/www/wiki/ sudo chmod -R 755 /var/www/wiki/ ``` --- #### 4. **Настройка Nginx для MediaWiki** - Создайте конфигурационный файл для сайта: ```bash sudo nano /etc/nginx/sites-available/wiki.conf ``` - Вставьте конфигурацию (замените `your_domain_or_ip` на IP или домен сервера): ```nginx 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; } } ``` - Активируйте конфигурацию: ```bash sudo ln -s /etc/nginx/sites-available/wiki.conf /etc/nginx/sites-enabled/ sudo nginx -t # Проверьте синтаксис sudo systemctl reload nginx ``` --- #### 5. **Настройка базы данных** - Войдите в MariaDB: ```bash sudo mysql -u root -p ``` - Создайте базу данных и пользователя: ```sql 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`: ```bash sudo mv ~/Downloads/LocalSettings.php /var/www/wiki/ ``` --- #### 7. **Дополнительно (опционально)** - **Настройка HTTPS через Let's Encrypt:** Установите Certbot и получите сертификат: ```bash sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d your_domain ``` - **Кеширование:** Для повышения производительности настройте Redis или Memcached. --- **Проверка:** Откройте сайт в браузере. Убедитесь, что: - Страницы редактируются. - Файлы загружаются. - Поиск работает.