The control panel will manage reverse proxy functionality of Nginx on a remote server. Control Panel and Nginx are on different servers.
All changes must be verified and then synced with nginx server where a reload of config will be performed.
Client side Functionality:
- User registration/login/reset pass
- Admin Login (modify all accounts and Vhosts, force sync config, force reload config, add servers, suspend accounts)
- Ability to manage/use multiple nginx servers (move clients between servers)
- Create new Virtual Hosts in Nginx (using GUI with predefined options, user can not freely modify the vhost)
- Modify existing Vhosts. Create multiple Vhosts.
- Display bandwidth usage per vhost
- Display current HDD usage per vhost (hdd usage is proxy_cache)
- Limits system (limit number of vhosts, alert on bandwidth limit approach)
- Each user can have credits to create new vhosts, MB of storage and GB of traffic. He can create his Vhosts using these values.
Server side functionality:
- Create vhosts
- Monitor bandwidth and HDD per vhost and send reports to front end of each user
Features:
- Nice design
- Ajax preferred instead of POST
- Secure and fast
I host my software exclusively on nginx so I have some admin experience. I offer client/server solution based on Symfony2. Nice design will be provided by Twitter Bootstrap and some optional theme if you wish.