**********************************************
A2SVM - Apache 2 Simple Virtualhost Manager
**********************************************
**a2svm** is a Simple CLI tool to create and delete easily virtualhosts in Apache.
usage: a2svm [-h] [-v] {mk,ls,rm,en,ds} ...
a2svm commands are:
* **mk** Create a virtualhosts
* **ls** Show managed virtualhosts on Apache server
* **rm** Delete a virtualhosts
* **en** Enable a virtualhosts
* **ds** Disable a virtualhosts
See 'a2svm <command> -h' for more information on a specific command.
PyPI package `<http://pypi.python.org/pypi/a2svm>`__
Sources `<https://github.com/cypx/a2svm>`__
Requirements
##############
a2svm need apache mod_macro which could be installed on debian 6 by the following command
.. code-block:: bash
$ aptitude install libapache2-mod-macro
Once mod_macro is avalaible some template could be created for use by a2svm like this one
.. code-block:: xml
<Macro vhost_standard $name $servername $directory>
<VirtualHost *:80>
ServerName $servername
DocumentRoot /var/www/$directory/public
<Directory /var/www/$directory>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error-$name.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-$name.log combined
</VirtualHost>
</Macro>
#Comments beginning by "a2svm_make_command" are used to run external commands
#when vhost is created
#a2svm_make_command: /bin/mkdir -p /var/www/$directory/public /var/www/$directory/log
#a2svm_make_command: /bin/chown -R cyp:www-data /var/www/$directory
#Comments beginning by "a2svm_remove_command" are used to run external commands
#when vhost is removed
#a2svm_remove_command: /bin/tar czf /var/www/archive/$servername.tgz /var/www/$directory
#a2svm_remove_command: /bin/rm -rf /var/www/$directory
Installation
##############
Install it easily:
Using pip
**************
.. code-block:: bash
$ pip install a2svm
Warning! On some old distribution using Python 2.x, you could require to upgrade pip to support install, run:
.. code-block:: bash
$ pip install --index-url=https://pypi.python.org/simple/ --upgrade pip setuptools
Using easy_install
*********************
On most Linux distribution
.. code-block:: bash
$ easy_install a2svm
But on some, prerequisites are required, for example, on Debian 6
.. code-block:: bash
$ aptitude install python-pip
Upgrade
##########
Using pip
**************
.. code-block:: bash
$ pip --upgrade a2svm
Using easy_install
*********************
.. code-block:: bash
$ easy_install --upgrade a2svm
From sources
***************
.. code-block:: bash
$ git clone https://github.com/cypx/a2svm
$ cd a2svm
$ pip install -r requirements.txt
$ python setup.py install
Reminder
***************
To publish package on pypi
.. code-block:: bash
$ pip install twine
$ rm -rf dist
$ python setup.py sdist bdist_wheel
$ twine upload dist/*