2025-08-09 18:38:56 +00:00
2025-08-09 18:38:56 +00:00

# Установка и настройка 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:
    sudo mysql -u root -p'muJh9tNY8sg0'
    ALTER USER 'root'@'localhost' IDENTIFIED BY овый_пароль';
    
  2. Обновите db_config.php:
    nano /var/www/html/db_config.php
    

Возможные проблемы

  1. Ошибка запуска:

    ОШИБКА: Ваш дистрибутив '...' не поддерживается
    

    Решение: Только Debian/Ubuntu.

  2. Службы не стартовали:

    sudo systemctl restart apache2 nginx php8.3-fpm mariadb
    sudo journalctl -xe  # для просмотра логов
    
  3. 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

Description
No description provided
Readme 1,010 KiB
Languages
Shell 100%