117 lines
4.7 KiB
Markdown
117 lines
4.7 KiB
Markdown
```markdown
|
||
# Установка и настройка 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`
|
||
``` |