Skip to main content

Apache AUI

Небольшое CLI-приложение для управления Apache VirtualHost-конфигурацией:

  • статические сайты с DocumentRoot
  • SPA/static fallback rewrite rules
  • reverse proxy сайты
  • SSL через Let's Encrypt или вручную заданные сертификаты
  • интерактивное создание, редактирование и удаление сайтов

Статус проекта

Проект готов к публикации как публичный Git-репозиторий и пакет на PyPI.

Быстрый старт

python3 -m venv .venv
source .venv/bin/activate
pip install -e .
apache-aui menu

По умолчанию приложение хранит состояние в data/sites.json, а итоговый Apache-конфиг пишет в generated/apache/sites.conf.

Команды

apache-aui menu
apache-aui list
apache-aui import /etc/apache2/httpd.conf
apache-aui render
apache-aui certbot my-site
apache-aui certbot my-site --run

Установка из PyPI

pip install apache-aui

Что генерируется

  • *:80 vhost для каждого сайта
  • *:443 vhost, если включен SSL
  • redirect с HTTP на HTTPS, если это включено
  • ProxyPass и ProxyPassReverse для proxy-сайтов
  • SPA rewrite rules для статических сайтов
  • импорт существующего Apache-конфига для миграции без ручного переноса

Пример сценария

  1. Создаете сайт типа static или proxy через apache-aui menu.
  2. Включаете SSL в пункте Configure certificate.
  3. Если выбран letsencrypt, CLI сразу показывает команду certbot.
  4. Выполняете apache-aui render.
  5. Копируете содержимое generated/apache/sites.conf в ваш Apache include-файл и перезагружаете Apache.

Миграция с существующего Apache-конфига

Для бесшовного старта можно импортировать существующий конфиг:

apache-aui import /etc/apache2/httpd.conf

CLI распознает:

  • DocumentRoot-сайты как static
  • ProxyPass/ProxyPassReverse-сайты как proxy
  • SPA fallback rules
  • ServerAlias
  • SSL-блоки с ручными сертификатами и Let's Encrypt
  • HTTP to HTTPS redirect

После импорта сайты сохраняются в data/sites.json, и ими уже можно управлять через меню или повторный render.

Пример миграции

Если у вас есть смесь статических сайтов, SPA и reverse proxy, типовой поток будет таким:

  1. Выполняете apache-aui import /etc/apache2/httpd.conf.
  2. Проверяете распознанные сайты через apache-aui list.
  3. При необходимости корректируете детали через apache-aui menu.
  4. Генерируете управляемый конфиг через apache-aui render.

Публикация пакета

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python -m build
python -m twine check dist/*

Для загрузки на TestPyPI:

python -m twine upload --repository testpypi dist/*

Для загрузки на PyPI:

python -m twine upload dist/*

Если публикуете через GitHub Actions, в репозитории уже подготовлены workflow для CI и релиза.

Metadata

Release files for apache-aui 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apache-aui 0.1.1
File Size Uploaded Provenance Actions
apache_aui-0.1.1.tar.gz 13.3 kB Without provenance Details for apache_aui-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for apache-aui 0.1.1
File Interpreter ABI Platform Actions
apache_aui-0.1.1-py3-none-any.whl Python 3 none any Details for apache_aui-0.1.1-py3-none-any.whl

Total release size: 26.3 kB

Release files / apache_aui-0.1.1.tar.gz

Download URL apache_aui-0.1.1.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bcd786316e1c661bea3a844f1031e26d09ed1660327f02631ba80608a1523ed9
BLAKE2b-256 checksum
How to use checksums
9690e20a54a1d71bd8b742c283b90354b55b8187570b78b4a55cfb14fe6d719c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / apache_aui-0.1.1-py3-none-any.whl

Download URL apache_aui-0.1.1-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c4a4e495bf805d01085f117e30220a32ca2f58e2db6d22b541d06d8fb4321b3
BLAKE2b-256 checksum
How to use checksums
d66ed6ca49d176124c4c27b8dbb6d8d49108830ccc9642bf15ce5ed669cb168d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for apache-aui 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page