4.6 KiB
4.6 KiB
Установка и настройка 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+)
Особенности конфигурации
- Структура серверов:
- Nginx → слушает порт
80, проксирует запросы → Apache на порт8080 - Apache → обрабатывает PHP через PHP-FPM 8.3
- Nginx → слушает порт
- Безопасность:
- Удаление анонимных пользователей и тестовой БД в MariaDB
- Пароль root-пользователя БД:
muJh9tNY8sg0
- Оптимизации PHP:
upload_max_filesize = 64Mmemory_limit = 256Mmax_execution_time = 300- Включен и настроен OPcache
- Веб-интерфейс:
- Автоматически генерируется статус-страница по адресу
/index.php
- Автоматически генерируется статус-страница по адресу
Запуск скрипта
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 'новый_пароль';
- Обновите
db_config.php:nano /var/www/html/db_config.php
Возможные проблемы
-
Ошибка запуска:
ОШИБКА: Ваш дистрибутив '...' не поддерживаетсяРешение: Только Debian/Ubuntu.
-
Службы не стартовали:
sudo systemctl restart apache2 nginx php8.3-fpm mariadb sudo journalctl -xe # для просмотра логов -
PHP 8.3 не установился: Убедитесь, что система обновлена:
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 |
Активные службы
systemctl status apache2 nginx php8.3-fpm mariadb redis-server
Схема работы
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