Interactive CLI for managing Apache virtual hosts, static sites, proxies, and TLS settings.
Project description
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 и релиза.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apache_aui-0.1.1.tar.gz.
File metadata
- Download URL: apache_aui-0.1.1.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd786316e1c661bea3a844f1031e26d09ed1660327f02631ba80608a1523ed9
|
|
| MD5 |
7e1fb35b53c2a4198059f249616676ac
|
|
| BLAKE2b-256 |
9690e20a54a1d71bd8b742c283b90354b55b8187570b78b4a55cfb14fe6d719c
|
File details
Details for the file apache_aui-0.1.1-py3-none-any.whl.
File metadata
- Download URL: apache_aui-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c4a4e495bf805d01085f117e30220a32ca2f58e2db6d22b541d06d8fb4321b3
|
|
| MD5 |
befc049ac8820fc5b4fb5735ab02d8cf
|
|
| BLAKE2b-256 |
d66ed6ca49d176124c4c27b8dbb6d8d49108830ccc9642bf15ce5ed669cb168d
|