def setup_sudoers(user): if not os.path.exists('/etc/sudoers.d'): os.makedirs('/etc/sudoers.d') set_permissions = False if not os.path.exists('/etc/sudoers'): set_permissions = True with open('/etc/sudoers', 'a') as f: f.write('\n#includedir /etc/sudoers.d\n') if set_permissions: os.chmod('/etc/sudoers', 0o440) sudoers_file = '/etc/sudoers.d/frappe' template = env.get_template('frappe_sudoers') frappe_sudoers = template.render( **{ 'user': user, 'service': find_executable('service'), 'systemctl': find_executable('systemctl'), 'supervisorctl': find_executable('supervisorctl'), 'nginx': find_executable('nginx'), 'bench': find_executable('bench') }) frappe_sudoers = safe_decode(frappe_sudoers) with open(sudoers_file, 'w') as f: f.write(frappe_sudoers) os.chmod(sudoers_file, 0o440)
def setup_sudoers(user): if not os.path.exists('/etc/sudoers.d'): os.makedirs('/etc/sudoers.d') set_permissions = False if not os.path.exists('/etc/sudoers'): set_permissions = True with open('/etc/sudoers', 'a') as f: f.write('\n#includedir /etc/sudoers.d\n') if set_permissions: os.chmod('/etc/sudoers', 0o440) sudoers_file = '/etc/sudoers.d/frappe' template = env.get_template('frappe_sudoers') frappe_sudoers = template.render(**{ 'user': user, 'service': find_executable('service'), 'systemctl': find_executable('systemctl'), 'supervisorctl': find_executable('supervisorctl'), 'nginx': find_executable('nginx'), 'bench': find_executable('bench') }) frappe_sudoers = safe_decode(frappe_sudoers) with open(sudoers_file, 'w') as f: f.write(frappe_sudoers) os.chmod(sudoers_file, 0o440)
def setup_sudoers(user): if not os.path.exists("/etc/sudoers.d"): os.makedirs("/etc/sudoers.d") set_permissions = False if not os.path.exists("/etc/sudoers"): set_permissions = True with open("/etc/sudoers", "a") as f: f.write("\n#includedir /etc/sudoers.d\n") if set_permissions: os.chmod("/etc/sudoers", 0440) sudoers_file = "/etc/sudoers.d/frappe" template = env.get_template("frappe_sudoers") frappe_sudoers = template.render( **{ "user": user, "service": find_executable("service"), "systemctl": find_executable("systemctl"), "supervisorctl": find_executable("supervisorctl"), "nginx": find_executable("nginx"), "bench": find_executable("bench"), } ) with open(sudoers_file, "w") as f: f.write(frappe_sudoers.encode("utf-8")) os.chmod(sudoers_file, 0440)
def make_nginx_conf(bench_path, yes=False): from bench import env from bench.config.common_site_config import get_config template = env.get_template('nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) sites = prepare_sites(config, bench_path) nginx_conf = template.render(**{ "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "sites": sites, "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": get_bench_name(bench_path), "error_pages": get_error_pages(), # for nginx map variable "random_string": "".join(random.choice(string.ascii_lowercase) for i in xrange(7)) }) conf_path = os.path.join(bench_path, "config", "nginx.conf") if not yes and os.path.exists(conf_path): click.confirm('nginx.conf already exists and this will overwrite it. Do you want to continue?', abort=True) with open(conf_path, "w") as f: f.write(nginx_conf)
def make_nginx_conf(bench_path, force=False): from bench import env from bench.config.common_site_config import get_config template = env.get_template('nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) sites = prepare_sites(config, bench_path) nginx_conf = template.render( **{ "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "sites": sites, "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": get_bench_name(bench_path) }) conf_path = os.path.join(bench_path, "config", "nginx.conf") if not force and os.path.exists(conf_path): click.confirm( 'nginx.conf already exists and this will overwrite it. Do you want to continue?', abort=True) with open(conf_path, "w") as f: f.write(nginx_conf)
def make_nginx_conf(bench_path, force=False): from bench import env from bench.config.common_site_config import get_config template = env.get_template('nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) sites = prepare_sites(config, bench_path) nginx_conf = template.render(**{ "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "sites": sites, "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": get_bench_name(bench_path) }) conf_path = os.path.join(bench_path, "config", "nginx.conf") if not force and os.path.exists(conf_path): click.confirm('nginx.conf already exists and this will overwrite it. Do you want to continue?', abort=True) with open(conf_path, "w") as f: f.write(nginx_conf)
def make_nginx_conf(bench_path, yes=False): conf_path = os.path.join(bench_path, "config", "nginx.conf") if not yes and os.path.exists(conf_path): if not click.confirm( 'nginx.conf already exists and this will overwrite it. Do you want to continue?' ): return from bench import env from bench.config.common_site_config import get_config template = env.get_template('nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) sites = prepare_sites(config, bench_path) bench_name = get_bench_name(bench_path) allow_rate_limiting = config.get('allow_rate_limiting', False) template_vars = { "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "sites": sites, "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": bench_name, "error_pages": get_error_pages(), "allow_rate_limiting": allow_rate_limiting, # for nginx map variable "random_string": "".join(random.choice(string.ascii_lowercase) for i in range(7)) } if allow_rate_limiting: template_vars.update({ 'bench_name_hash': hashlib.sha256(bench_name).hexdigest()[:16], 'limit_conn_shared_memory': get_limit_conn_shared_memory() }) nginx_conf = template.render(**template_vars) with open(conf_path, "w") as f: f.write(nginx_conf)
def make_bench_manager_nginx_conf(bench_path, yes=False, port=23624, domain=None): from bench import env from bench.config.site_config import get_site_config from bench.config.common_site_config import get_config template = env.get_template('bench_manager_nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) site_config = get_site_config(domain, bench_path=bench_path) sites = prepare_sites(config, bench_path) bench_name = get_bench_name(bench_path) template_vars = { "port": port, "domain": domain, "bench_manager_site_name": "bench-manager.local", "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": bench_name, "error_pages": get_error_pages(), "ssl_certificate": site_config.get('ssl_certificate'), "ssl_certificate_key": site_config.get('ssl_certificate_key') } bench_manager_nginx_conf = template.render(**template_vars) conf_path = os.path.join(bench_path, "config", "nginx.conf") if not yes and os.path.exists(conf_path): click.confirm( 'nginx.conf already exists and bench-manager configuration will be appended to it. Do you want to continue?', abort=True) with open(conf_path, "a") as myfile: myfile.write(bench_manager_nginx_conf)
def make_nginx_conf(bench_path, yes=False): from bench import env from bench.config.common_site_config import get_config template = env.get_template('nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) sites = prepare_sites(config, bench_path) bench_name = get_bench_name(bench_path) allow_rate_limiting = config.get('allow_rate_limiting', False) template_vars = { "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "sites": sites, "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": bench_name, "error_pages": get_error_pages(), "allow_rate_limiting": allow_rate_limiting, # for nginx map variable "random_string": "".join(random.choice(string.ascii_lowercase) for i in xrange(7)) } if allow_rate_limiting: template_vars.update({ 'bench_name_hash': hashlib.sha256(bench_name).hexdigest()[:16], 'limit_conn_shared_memory': get_limit_conn_shared_memory() }) nginx_conf = template.render(**template_vars) conf_path = os.path.join(bench_path, "config", "nginx.conf") if not yes and os.path.exists(conf_path): click.confirm('nginx.conf already exists and this will overwrite it. Do you want to continue?', abort=True) with open(conf_path, "w") as f: f.write(nginx_conf)
def make_nginx_conf(bench_path): from bench import env from bench.config.common_site_config import get_config template = env.get_template('nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) sites = prepare_sites(config, bench_path) nginx_conf = template.render(**{ "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "sites": sites, "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": get_bench_name(bench_path) }) with open(os.path.join(bench_path, "config", "nginx.conf"), "w") as f: f.write(nginx_conf)
def make_bench_manager_nginx_conf(bench_path, yes=False, port=23624, domain=None): from bench import env from bench.config.site_config import get_site_config from bench.config.common_site_config import get_config template = env.get_template('bench_manager_nginx.conf') bench_path = os.path.abspath(bench_path) sites_path = os.path.join(bench_path, "sites") config = get_config(bench_path) site_config = get_site_config(domain, bench_path=bench_path) sites = prepare_sites(config, bench_path) bench_name = get_bench_name(bench_path) template_vars = { "port": port, "domain": domain, "bench_manager_site_name": "bench-manager.local", "sites_path": sites_path, "http_timeout": config.get("http_timeout"), "webserver_port": config.get('webserver_port'), "socketio_port": config.get('socketio_port'), "bench_name": bench_name, "error_pages": get_error_pages(), "ssl_certificate": site_config.get('ssl_certificate'), "ssl_certificate_key": site_config.get('ssl_certificate_key') } bench_manager_nginx_conf = template.render(**template_vars) conf_path = os.path.join(bench_path, "config", "nginx.conf") if not yes and os.path.exists(conf_path): click.confirm('nginx.conf already exists and bench-manager configuration will be appended to it. Do you want to continue?', abort=True) with open(conf_path, "a") as myfile: myfile.write(bench_manager_nginx_conf)