ahc
ahc copied to clipboard
Package with extensions for Developers on Python(+Django), Ruby(+RoR) and PHP.
ABOUT
Package for control apache/nginx virtual hosts, mysql/ftp/openvpn/git/mail users, bind zones, apache clients certificates on developer/production web-hosts. Tested on Ubuntu/Debian Linux. Published under GNU GPL v.2.
##############################################################
INSTALLATION
Apache Host Control:
$ sudo -i
apt-get update && apt-get upgrade -y
apt-get install -y python-pip python-mysqldb python-flup git-core make python-pycurl gcc python-dev
cd /usr/src/ && git clone --depth 1 https://github.com/gotlium/ahc.git
cd ahc/ && pip install -r requirements.txt && make install
cd && ahc -m install -s lamp && ahc -m install -s firewall
##############################################################
USAGE
Apache hosts:
ahc -m install -s apache2_ssl
ahc -m test -s apache
ahc -m apache -t php -a example.com
Nginx hosts:
ahc -m install -s nginx_ssl
ahc -m test -s nginx
ahc -m nginx -t php -a example.com
FTP accounts:
ahc -m install -s ftp
ahc -m test -s ftp
ahc -m ftp -a example.com -u User -p Password
MySQL accounts:
ahc -m install -s mysql
ahc -m test -s mysql
ahc -m mysql -a example.com -u User -p Password
Bind zone:
ahc -m install -s bind
ahc -m test -s bind
ahc -m bind -a example.com -i 127.0.0.1
Git deployment:
ahc -m test -s git
ahc -m git -a example.com
ahc -m git -d example.com
Git jail:
ahc -m test -s git_jail ahc -m git_jail -a [email protected] -p 'TYPE KEY-STRING COMMENT' ahc -m git_jail -d [email protected] ahc -m git_jail -l ahc -m git_jail -i example.com -e templates -u [email protected] ahc -m git_jail -i example.com -f templates -u [email protected]
Project Protection
ahc -m test -s crypt
ahc -m crypt -a mount
ahc -m crypt -a umount
iRedMail
ahc -m install -s mail
Firewall:
ahc -m install -s firewall
iptables -L -n
or
cat /etc/init.d/rc.fw
##############################################################
EXAMPLES
Apache2
ahc -m apache -t php -a hostname -o -x
ahc -m apache -t php -d hostname
ahc -m apache -t php -e hostname
ahc -m apache -t php -f hostname
ahc -m apache -t php -l
Nginx
ahc -m nginx -t php -a hostname
ahc -m nginx -t php -d hostname
ahc -m nginx -t php -e hostname
ahc -m nginx -t php -f hostname
FTP
ahc -m ftp -a hostname -u user -p password
ahc -m ftp -a hostname -u user -p random
ahc -m ftp -a hostname -u user -p password -f folder
ahc -m ftp -a hostname
ahc -m ftp -d hostname
MySQL
ahc -m mysql -a hostname -u user -p password
ahc -m mysql -a hostname -u user -p random
ahc -m mysql -a hostname
ahc -m mysql -d hostname -u user
Bind9
ahc -m bind -a hostname -i ip-address
ahc -m bind -d hostname
Backups
ahc -m backup -b mysql
ahc -m backup -b site
Tests
ahc -m test -s apache
ahc -m test -s nginx
ahc -m test -s ftp
ahc -m test -s mysql
ahc -m test -s bind
ahc -m test -s crypt
ahc -m test -s git
ahc -m test -s git_jail
ahc -m test -s sendmail
ahc -m test -s all
Certificates
ahc -m certs -i example.com -a email-address
ahc -m certs -i example.com -d email-address
ahc -m certs -i example.com -l
OpenVPN
ahc -m vpn -a client1
ahc -m vpn -d client1
Projects protection
ahc -m crypt -a encrypt
ahc -m crypt -a mount
ahc -m crypt -a umount
ahc -m crypt -a decrypt
OR
ahc -m crypt -a e
ahc -m crypt -a m
ahc -m crypt -a u
ahc -m crypt -a d
Service Installing
ahc -m install -s apache2_ssl
ahc -m install -s nginx_ssl
ahc -m install -s ftp
ahc -m install -s bind
ahc -m install -s mysql
ahc -m install -s firewall
ahc -m install -s nginx_proxy
ahc -m install -s certs -i example.com
ahc -m install -s lighttpd
ahc -m install -s sendmail
ahc -m install -s mail
ahc -m install -s shell
ahc -m install -s jira
ahc -m install -s confluence
ahc -m install -s web
ahc -m install -s vpn
ahc -m install -s dropbox
ahc -m install -s all
Ahc flags: --version - current version -h or --help - help section
Bind flags: -a = add zone -d = remove zone -i = ip-address for a specified zone
Certs flags: -a = add user -d = remove user -l = List of users
MySQL flags: -a = add [database] or [hostname] -d = remove database -u = username(optional) -p = password(optional)
FTP flags: -a = add ftp account for hostname -d = remove ftp account(still working, when hostname is removed) -u = username (optional) -p = password (optional) -f = manual specified folder (optional)
Note:
Default "username" & "password" is equal to hostname
Git jail flags: -a - add user -p - ssh public key -d - delete user -l - user list -i - project name (domain name) -e - add access for directory in project -u - email address -f - remove access for directory
Apache/Nginx flags: -t = type [php,python,django,ruby,ror] -a = add host -d = remove host -e = enable host -f = disable host -o = static optimization(optional) -x = enable host protection(optional) -l = list available websites -w = wsgi config for python OR django (nginx/uwsgi) -b = basic auth. params=user:password -v = VirtualEnv (available for python & django)
.. image:: https://d2weczhvl823v0.cloudfront.net/gotlium/ahc/trend.png :alt: Bitdeli badge :target: https://bitdeli.com/free