Перейти к содержанию

Обзор развертывания LAMP на сервере

Предварительные требования

Для корректной работы приложения необходимы следующие параметры:

Параметр Значение
Операционная система Ubuntu (Jammy)
Домен hostkey.in
Внешний порт (HTTPS) 443
Внутренний порт 8080

FDQN итоговой панели на домене hostkey.in

Параметр Значение
Префикс lamp
Домен hostkey.in
Полный шаблон lamp{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

В системе используются следующие пути для хранения конфигураций и данных:

  • /var/www/html/ — корневая директория веб-сервера Apache.

  • /data/nginx/user_conf.d/ — пользовательские конфигурации Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для Certbot.

  • /etc/letsencrypt — хранилище сертификатов (внутри тома nginx_secrets).

Процесс установки приложения

Приложение развертывается путем установки стандартного стека LAMP (Linux, Apache, MariaDB, PHP) и контейнера Nginx с поддержкой SSL:

  1. Обновление системных пакетов через apt.

  2. Установка веб-сервера Apache.

  3. Добавление репозитория и установка MariaDB версии 10.11.

  4. Добавление репозитория PPA Ondrej для установки PHP 8.2 и необходимых модулей (php8.2, libapache2-mod-php8.2, php8.2-mysql, php8.2-curl, php8.2-cgi).

  5. Создание проверочного файла /var/www/html/info.php.

Базы данных

В качестве системы управления базами данных используется MariaDB версии 10.11. Данные хранятся локально на сервере. Для доступа к базе данных используется учетная запись root, пароль для которой соответствует значению переменной ansible_ssh_pass.

Контейнеры Docker и их запуск

Для управления SSL-сертификатами используется контейнер Nginx с Certbot:

services:
  nginx:
    image: jonasal/nginx-certbot:latest
    restart: unless-stopped
    network_mode: host
    volumes:

      - nginx_secrets:/etc/letsencrypt

      - /data/nginx/user_conf.d:/etc/nginx/user_conf.d

Инструкция по обновлению приложения

Обновление выполняется через обновление системных пакетов и перезапуск сервисов. Для обновления компонентов PHP, Apache и MariaDB используется команда:

apt update && apt upgrade -y

Для обновления контейнера Nginx необходимо выполнить:

docker compose pull && docker compose up -d

Настройки прав

Файлы в директории веб-сервера имеют следующие права доступа:

  • /var/www/html/info.php: 0644.
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×