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

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

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

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

  • Операционная система должна поддерживать установку пакетов ufw, nginx и certbot.

  • Пользователь должен иметь права суперпользователя (root) или доступ через sudo для настройки брандмауэра и веб-сервера.

  • Должен быть настроен доменное имя, указывающее на IP-адрес сервера (переменная akaunting_domain).

  • Сервер должен иметь доступ в интернет для получения SSL-сертификатов и загрузки обновлений.

  • Должны быть открыты следующие порты в брандмауэре:

  • 22 для протокола SSH.

  • 80 для протокола HTTP.

  • 443 для протокола HTTPS.

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

Конфигурация приложения и веб-сервера распределена по следующим каталогам:

  • Конфигурационные файлы веб-сервера Nginx находятся в директории /etc/nginx/.

  • Сертификаты SSL, полученные через Let's Encrypt, хранятся в /etc/letsencrypt/live/<akaunting_domain>/.

  • Временные файлы для проверки домена Certbot размещены в /var/www/certbot/.

  • Приложение Akaunting работает локально на адресе 127.0.0.1 и слушает порт 8080.

Прокси серверы

Веб-сервер Nginx настроен как обратный прокси для перенаправления трафика на приложение Akaunting. Конфигурация включает два этапа работы:

  1. Временная конфигурация для получения сертификата:

  2. Сервер слушает порт 80.

  3. Обработка запросов к пути /.well-known/acme-challenge/ направлена в корневую директорию /var/www/certbot для проверки владения доменом.

  4. Все остальные запросы перенаправляются на локальный адрес http://127.0.0.1:8080.

  5. Финальная конфигурация с SSL:

  6. Сервер на порту 80 перенаправляет все запросы на HTTPS с кодом ответа 301.

  7. Сервер на порту 443 использует SSL-шифрование.

  8. Путь к полному сертификату: /etc/letsencrypt/live/<akaunting_domain>/fullchain.pem.

  9. Путь к приватному ключу: /etc/letsencrypt/live/<akaunting_domain>/privkey.pem.

  10. Поддерживаемые протоколы шифрования: TLSv1.2 и TLSv1.3.

  11. Настроены специфические шифры для обеспечения безопасности соединения.

  12. Запросы перенаправляются на http://127.0.0.1:8080 с передачей заголовков Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto и X-Forwarded-Host.

Права доступа и безопасность

Брандмауэр UFW настроен для фильтрации входящего трафика:

  • Правило allow применяется к портам 22, 80 и 443 для протокола tcp.

  • Служба UFW должна быть включена (state: enabled) для активации правил фильтрации.

SSL-настройки в Nginx ограничивают использование только безопасных протоколов и шифров, исключая устаревшие версии TLS.

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

Права на файлы и директории должны быть настроены следующим образом:

  • Директория /var/www/certbot/ должна быть доступна для записи процессом Certbot.

  • Файлы сертификатов в /etc/letsencrypt/ должны быть доступны для чтения процессом Nginx.

  • Конфигурационные файлы Nginx должны иметь корректные права для чтения демонстрацией веб-сервера.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×