def apache(): """ Check apache server, enabling and disabling sites. """ from fabric.api import run, sudo from fabtools import require from fabtools.files import is_link from fabtools.system import set_hostname set_hostname('www.example.com') require.apache.server() require.apache.disabled('default') assert not is_link('/etc/apache2/sites-enabled/000-default') require.apache.enabled('default') assert is_link('/etc/apache2/sites-enabled/000-default') require.apache.disabled('default') assert not is_link('/etc/apache2/sites-enabled/000-default') run('mkdir -p ~/example.com/') run('echo "example page" > ~/example.com/index.html') require.apache.site( 'example.com', template_contents=""" <VirtualHost *:%(port)s> ServerName %(hostname)s DocumentRoot %(document_root)s <Directory %(document_root)s> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> """, port=80, hostname='www.example.com', document_root='/home/vagrant/example.com/', ) with shell_env(http_proxy=''): body = run( 'wget -qO- --header="Host: www.example.com" http://localhost/') assert body == 'example page'
def apache(): """ Check apache server, enabling and disabling sites. """ from fabric.api import run, sudo from fabtools import require from fabtools.files import is_link from fabtools.system import set_hostname set_hostname('www.example.com') require.apache.server() require.apache.disabled('default') assert not is_link('/etc/apache2/sites-enabled/000-default') require.apache.enabled('default') assert is_link('/etc/apache2/sites-enabled/000-default') require.apache.disabled('default') assert not is_link('/etc/apache2/sites-enabled/000-default') run('mkdir -p ~/example.com/') run('echo "example page" > ~/example.com/index.html') require.apache.site( 'example.com', template_contents=""" <VirtualHost *:%(port)s> ServerName %(hostname)s DocumentRoot %(document_root)s <Directory %(document_root)s> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> """, port=80, hostname='www.example.com', document_root='/home/vagrant/example.com/', ) with shell_env(http_proxy=''): body = run('wget -qO- --header="Host: www.example.com" http://localhost/') assert body == 'example page'
def hostname(name): """ Require the hostname to have a specific value. """ if get_hostname() != name: set_hostname(name)
def hostname(): from fabtools.system import set_hostname set_hostname('www.example.com')
def install_apache(): from fabtools.require.service import started from fabtools.require.apache import server set_hostname('www.example.com') server() started('apache2')