Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Package with extensions for Developers on Python(+Django), Ruby(+RoR) and PHP.

Project description

--------------------------------------------------------------
ABOUT
--------------------------------------------------------------
Package for control apache/nginx virtual hosts, mysql/ftp
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
# cd /usr/src/ && git clone https://github.com/gotlium/ahc.git
# cd ahc/ && pip install -r requirements.txt && make install

OR using pip:

# sudo pip install ahc

After installation, you can install system packages and firewall:
# 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)

Project details


Release history Release notifications

This version
History Node

1.5.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ahc-1.5.0.tar.gz (93.8 kB) Copy SHA256 hash SHA256 Source None Apr 9, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page