2025-08-09 18:39:27 +00:00
2025-08-09 18:39:27 +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

Запуск скрипта

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 'новый_пароль';
  1. Обновите 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%