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