Skip to content
Package with extensions for Developers on Python(+Django), Ruby(+RoR) and PHP.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DEBIAN
docs/rus
libraries
modules
templates
tests
web
.gitignore
CHANGELOG
LICENSE
Makefile
README
README.RUS
TODO
ahc.py
bin.sh
clear_all.sh
configs.cfg
makedeb
requirements.txt

README

--------------------------------------------------------------
                            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 mail@example.com -p 'TYPE KEY-STRING COMMENT'
ahc -m git_jail -d mail@example.com
ahc -m git_jail -l
ahc -m git_jail -i example.com -e templates -u mail@example.com
ahc -m git_jail -i example.com -f templates -u mail@example.com
--------------------------------------------------------------

--------------------------------------------------------------
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
You can’t perform that action at this time.