ahc icon indicating copy to clipboard operation
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