Add README.md
This commit is contained in:
117
README.md
Normal file
117
README.md
Normal file
@@ -0,0 +1,117 @@
|
||||
```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`
|
||||
```
|
||||
Reference in New Issue
Block a user