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
Что генерируется
*:80vhost для каждого сайта*:443vhost, если включен SSL- redirect с HTTP на HTTPS, если это включено
ProxyPassиProxyPassReverseдля proxy-сайтов- SPA rewrite rules для статических сайтов
- импорт существующего Apache-конфига для миграции без ручного переноса
Пример сценария
- Создаете сайт типа
staticилиproxyчерезapache-aui menu. - Включаете SSL в пункте
Configure certificate. - Если выбран
letsencrypt, CLI сразу показывает командуcertbot. - Выполняете
apache-aui render. - Копируете содержимое
generated/apache/sites.confв ваш Apache include-файл и перезагружаете Apache.
Миграция с существующего Apache-конфига
Для бесшовного старта можно импортировать существующий конфиг:
apache-aui import /etc/apache2/httpd.conf
CLI распознает:
DocumentRoot-сайты какstaticProxyPass/ProxyPassReverse-сайты какproxy- SPA fallback rules
ServerAlias- SSL-блоки с ручными сертификатами и Let's Encrypt
- HTTP to HTTPS redirect
После импорта сайты сохраняются в data/sites.json, и ими уже можно управлять через меню или повторный render.
Пример миграции
Если у вас есть смесь статических сайтов, SPA и reverse proxy, типовой поток будет таким:
- Выполняете
apache-aui import /etc/apache2/httpd.conf. - Проверяете распознанные сайты через
apache-aui list. - При необходимости корректируете детали через
apache-aui menu. - Генерируете управляемый конфиг через
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.