mirror of https://github.com/Aidaho12/haproxy-wi
653443cdde
Master/slave servers |
||
---|---|---|
cgi-bin | ||
image | ||
inc | ||
log | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
index.html | ||
requirements.txt |
README.md
Haproxy web interface
A simple web interface(user-frendly web GUI) for managing Haproxy servers. Leave your feedback
Capabilities:
- View statistics of all servers in one place
- Server and service statsus in one place
- View logs of all servers in one place
- Map frontend, backends and servers
- Runtime API with the ability to save changes (need install socat on all haproxy servers)
- Browsing Configs
- Add sections: listen, frontend, backend from web interface
- Editing configs
- Rollback to previous versions of the config
- Master/slave servers
- Comparing versions of configs
- Users roles: admin, editor, viewer
- Server groups
- Telegram notification
Install
For install just dowload archive and untar somewhere:
$ cd /var/www/
$ unzip master.zip
$ mv haproxy-wi-master/ haproxy-wi
$ chown -R apache:apache haproxy-wi/
$ pip install -r haproxy-wi/requirements.txt
$ chmod +x haproxy-wi/cgi-bin/*.py
For Apache do virtualhost with cgi-bin. Like this:
<VirtualHost *:8000>
ServerName haproxy-wi
ErrorLog /var/log/httpd/haproxy-wi.error.log
CustomLog /var/log/httpd/haproxy-wi.access.log combined
DocumentRoot /var/www/haproxy-wi
ScriptAlias /cgi-bin/ "/var/www/haproxy-wi/cgi-bin/"
<Directory /var/www/haproxy-wi>
Options +ExecCGI
AddHandler cgi-script .py
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Database support
Default Haproxy-WI use Sqlite, if you want use MySQL enable in config, and create database:
For MySQL support:
MariaDB [(none)]> create user 'haproxy-wi'@'%';
MariaDB [(none)]> create database haproxywi;
MariaDB [(none)]> grant all on haproxywi.* to 'haproxy-wi'@'%' IDENTIFIED BY 'haproxy-wi';
Settings
Edit $HOME_HAPROXY-WI/cgi-bin/haproxy-webintarface.config with your env
Login http://haproxy-wi-server/users.py, and add: users, groups and servers. Default: admin/admin
Copy ssh key on all HAproxy servers
For Runtime API enable state file on HAproxt servers and need install socat on all haproxy servers:
global
stats socket *:1999 level admin
server-state-file /etc/haproxy/haproxy/haproxy.state
defaults
load-server-state-from-file global
Update DB
$ cd /var/www/haproxy-wi/cgi-bin
$ ./update_db.py
Further development and support
Offer your ideas and wishes, ask questions. All this is welcomed