# Установка и настройка LEMP-стека (Nginx + PHP 8.3 + MariaDB) ## Назначение скрипта Автоматическая установка и настройка LEMP-стека для Debian/Ubuntu систем: - Nginx (прокси на Apache) - PHP-FPM 8.3 с оптимизированными настройками - MariaDB (база данных) - Redis (кеширование) - LibreOffice и Java (для дополнительных задач) ## Поддерживаемые системы - Debian-based (Debian 10+, Ubuntu 20.04+) ## Особенности конфигурации 1. **Структура серверов**: - Nginx → слушает порт `80`, проксирует запросы → Apache на порт `8080` - Apache → обрабатывает PHP через PHP-FPM 8.3 2. **Безопасность**: - Удаление анонимных пользователей и тестовой БД в MariaDB - Пароль root-пользователя БД: `muJh9tNY8sg0` 3. **Оптимизации PHP**: - `upload_max_filesize = 64M` - `memory_limit = 256M` - `max_execution_time = 300` - Включен и настроен OPcache 4. **Веб-интерфейс**: - Автоматически генерируется статус-страница по адресу `/index.php` ## Запуск скрипта ```bash sudo chmod +x install.sh sudo ./install.sh ## Установленные компоненты | Компонент | Версия/Настройка | |-----------------|--------------------------------------| | Nginx | Основной веб-сервер (порт 80) | | Apache | Обработчик PHP (порт 8080) | | PHP-FPM | 8.3 + расширения (gd, opcache и др.) | | MariaDB | Пароль root: `muJh9tNY8sg0` | | База данных | `ALTCor` (utf8mb4) | | Redis | Сервер кеширования | | LibreOffice | Для работы с документами | | Java | JRE (default-jre) | ## Проверка установки 1. Откройте в браузере: ``` http://localhost/ http://ВАШ_IP_СЕРВЕРА/ ``` 2. Статус-страница покажет: - Версию PHP (должна быть 8.3+) - Подключение к базе данных - Состояние OPcache - Список активных расширений PHP - Информацию о Java и LibreOffice ## Ручные действия после установки 1. **Смените пароль root MariaDB**: ```bash sudo mysql -u root -p'muJh9tNY8sg0' ALTER USER 'root'@'localhost' IDENTIFIED BY 'новый_пароль'; ``` 2. **Обновите `db_config.php`**: ```bash nano /var/www/html/db_config.php ``` ## Возможные проблемы 1. **Ошибка запуска**: ``` ОШИБКА: Ваш дистрибутив '...' не поддерживается ``` **Решение**: Только Debian/Ubuntu. 2. **Службы не стартовали**: ```bash sudo systemctl restart apache2 nginx php8.3-fpm mariadb sudo journalctl -xe # для просмотра логов ``` 3. **PHP 8.3 не установился**: Убедитесь, что система обновлена: ```bash sudo apt update && sudo apt upgrade -y ``` ## Директории и файлы | Путь | Назначение | |-------------------------------|-------------------------------------| | `/var/www/html/` | Корневая веб-директория | | `/var/www/html/index.php` | Статус-страница | | `/var/www/html/db_config.php` | Конфиг БД (логин/пароль) | | `/etc/nginx/sites-available/default` | Конфиг Nginx (прокси на Apache) | | `/etc/apache2/sites-available/000-default.conf` | Конфиг Apache | ## Активные службы ```bash systemctl status apache2 nginx php8.3-fpm mariadb redis-server ``` ## Схема работы ```mermaid graph LR A[Пользователь] --> B[Nginx:80] B --> C[Apache:8080] C --> D[PHP-FPM 8.3] C --> E[Статические файлы] D --> F[MariaDB] D --> G[Redis] ``` > **Важно!** После установки немедленно смените пароль БД в MariaDB и обновите `db_config.php` ```