Ejemplo n.º 1
0
def web_nginx_setup_domain(domain, proto='http', port=''):
    """ Setup Nginx config file for a domain - Ex: (cmd:<domain>,[protocol],[port])"""
    if 'https' in proto or 'ssl' in proto:
        proto = 'https'
        ssl_crt = '/etc/ssl/certs/{0}.crt'.format(domain)
        ssl_key = '/etc/ssl/private/{0}.key'.format(domain)
        if not files.exists(ssl_crt, use_sudo=True) or not files.exists(
                ssl_key, use_sudo=True):
            abort('ssl certificate and key not found.\n{0}\n{1}'.format(
                ssl_crt, ssl_key))

    cfgdir = os.path.join(os.path.dirname(__file__), '../cfg')

    localcfg = os.path.expanduser(
        os.path.join(cfgdir, 'nginx/{0}.conf'.format(proto)))
    remotecfg = '/etc/nginx/conf.d/{0}.{1}.conf'.format(proto, domain)
    sudo('rm -rf ' + remotecfg)
    put(localcfg, remotecfg, use_sudo=True)
    if not port:
        port = sys_show_next_available_port()
    sudo('sed -i "s/port_num/{0}/g" {1}'.format(port, remotecfg))
    sudo('sed -i "s/example\.com/{0}/g" {1}'.format(domain.replace('.', '\.'),
                                                    remotecfg))
    sudo('chown -R root:root /etc/nginx/conf.d')
    sudo('chmod -R 731 /etc/nginx/conf.d')
    sudo('service nginx reload')
    sys_etc_git_commit('Setup Nginx Config for Domain {0}'.format(domain))
Ejemplo n.º 2
0
def web_apache2_set_port(port=''):
    """ Setup Apache2 to listen to new port - Ex: (cmd:[port])"""

    remotecfg = '/etc/apache2/ports.conf'
    port = sys_show_next_available_port(port)
    sudo('echo \"Listen 127.0.0.1:{}\" >> {}'.format(port, remotecfg))
    sys_reload_service('apache2')
    sys_etc_git_commit('Apache now listens on port {}'.format(port))
Ejemplo n.º 3
0
def web_apache2_set_port(port=''):
    """ Setup Apache2 to listen to new port - Ex: (cmd:[port])"""

    remotecfg = '/etc/apache2/ports.conf'
    port = sys_show_next_available_port(port)
    sudo('echo \"Listen 127.0.0.1:{0}\" >> {1}'.format(port, remotecfg))
    sudo('service apache2 reload')
    sys_etc_git_commit('Apache now listens on port {0}'.format(port))
Ejemplo n.º 4
0
def web_nginx_setup_domain(domain, proto='http', port=''):
    """ Setup Nginx config file for a domain - Ex: (cmd:<domain>,[protocol],[port])"""
    if 'https' in proto or 'ssl' in proto:
        proto = 'https'
        ssl_crt = '/etc/ssl/certs/{0}.crt'.format(domain)
        ssl_key = '/etc/ssl/private/{0}.key'.format(domain)
        if not files.exists(ssl_crt, use_sudo=True) or not files.exists(ssl_key, use_sudo=True):
            abort('ssl certificate and key not found.\n{0}\n{1}'.format(ssl_crt, ssl_key))

    cfgdir = os.path.join(os.path.dirname( __file__), '../cfg')

    localcfg = os.path.expanduser(os.path.join(cfgdir, 'nginx/{0}.conf'.format(proto)))
    remotecfg = '/etc/nginx/conf.d/{0}.{1}.conf'.format(proto, domain)
    sudo('rm -rf ' + remotecfg)
    put(localcfg, remotecfg, use_sudo=True)
    if not port:
        port = sys_show_next_available_port()
    sudo('sed -i "s/port_num/{0}/g" {1}'.format(port, remotecfg))
    sudo('sed -i "s/example\.com/{0}/g" {1}'.format(domain.replace('.', '\.'), remotecfg))
    sudo('chown -R root:root /etc/nginx/conf.d')
    sudo('chmod -R 731 /etc/nginx/conf.d')
    sudo('service nginx reload')
    sys_etc_git_commit('Setup Nginx Config for Domain {0}'.format(domain))
Ejemplo n.º 5
0
def web_supervisor_setup_domain(domain, port, intrerface='0.0.0.0', worker_num=3):
    """ Setup Supervisor config file for a domain - Ex: (cmd:<domain>,[port])"""

    supervisor_avail_dir = '/etc/supervisor/sites-available'
    supervisor_enabled_dir = '/etc/supervisor/sites-enabled'

    cfgdir = os.path.join(os.path.dirname( __file__), '../cfg')
    localcfg = os.path.expanduser(os.path.join(cfgdir, 'supervisor/site.conf'))
    remotecfg = '{}/{}.conf'.format(supervisor_avail_dir, domain)
    sudo('rm -rf ' + remotecfg)
    put(localcfg, remotecfg, use_sudo=True)
    if not port:
        port = sys_show_next_available_port()
    sudo('sed -i "s/bound_address/{}/g" {}'.format(intrerface, remotecfg))
    sudo('sed -i "s/port_num/{}/g" {}'.format(port, remotecfg))
    sudo('sed -i "s/worker_num/{}/g" {}'.format(worker_num, remotecfg))
    sudo('sed -i "s/example\.com/{}/g" {}'.format(domain.replace('.', '\.'), remotecfg))
    sudo('chown -R root:root {}'.format(supervisor_avail_dir))
    sudo('chmod -R 755 {}'.format(supervisor_avail_dir))
    with cd(supervisor_enabled_dir):
        sudo('ln -sf {}'.format(remotecfg))
    sys_restart_service('supervisor')
    sudo('supervisorctl restart {}'.format(domain))
    sys_etc_git_commit('Setup Supervisor Config for Domain {}'.format(domain))