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 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 для статических сайтов
Пример сценария
- Создаете сайт типа
staticилиproxyчерезapache-aui menu. - Включаете SSL в пункте
Configure certificate. - Если выбран
letsencrypt, CLI сразу показывает командуcertbot. - Выполняете
apache-aui render. - Копируете содержимое
generated/apache/sites.confв ваш Apache include-файл и перезагружаете Apache.
Миграция с текущего конфига
Для вашего примера конфигов это будет выглядеть так:
ayusa.ruкакstaticсайт сDocumentRoot=/var/www/ayusaи включеннымSPA fallbackfrbu.press,demo.tuda.travel,tuda.travelкак обычныеstaticgl.cleverscience.techиskolcabot.bublichki.ruкакproxyсайты с целямиhttp://localhost:8000/иhttp://localhost:3000/
Приложение пока не парсит существующий Apache-конфиг автоматически, но уже позволяет быстро занести эти сайты в интерактивном режиме и дальше держать их в управляемом JSON.
Публикация пакета
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.0.tar.gz.
File metadata
- Download URL: apache_aui-0.1.0.tar.gz
- Upload date:
- Size: 11.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 |
ee892c2dfc142e74be9fc63d5ce54f27c16c94c39f66af6a930083d3b8f319ef
|
|
| MD5 |
3222f5fbc524b2f740c79e92ae7752eb
|
|
| BLAKE2b-256 |
ebd96dc210392f6a6d3b897f582e80b825796045bb9eebc24181d79f108857e1
|
File details
Details for the file apache_aui-0.1.0-py3-none-any.whl.
File metadata
- Download URL: apache_aui-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.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 |
9e0df3b913bca9fa0bc75ce1dd85e1e52913d57f91b9382787e177887af135ec
|
|
| MD5 |
35b0a5ce8dab57e9f92b17af6b0073cb
|
|
| BLAKE2b-256 |
a84f6f08b0d18528e1660bc4a0df7eff7b7170e6f9ab0c7c847521deb6e5b0d5
|