Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython

ahc is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
 
Links
License
GPL-2

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

System Message: WARNING/2 (<string>, line 31)

Definition list ends without a blank line; unexpected unindent.

System Message: ERROR/3 (<string>, line 33)

At least one body element must separate transitions; adjacent transitions are not allowed.

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

System Message: ERROR/3 (<string>, line 115)

Unexpected indentation.
or

System Message: WARNING/2 (<string>, line 116)

Block quote ends without a blank line; unexpected unindent.
# cat /etc/init.d/rc.fw

System Message: ERROR/3 (<string>, line 119)

Document or section may not begin with a transition.

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

System Message: ERROR/3 (<string>, line 214)

Unexpected indentation.
OR

System Message: WARNING/2 (<string>, line 215)

Block quote ends without a blank line; unexpected unindent.

# 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)

Subscribe to package updates

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.