def main(): # Проверка имени сайта if len(sys.argv) == 2 and len(sys.argv[1].split('.')) == 2: try: username = sys.argv[1] sitename = 'www.%s' % username userpw = vctl.createnewuser(username) print "Создан системный пользователь %(username)s uid=%(uid)i gid=%(gid)i homedir=%(homedir)s" % userpw vctl.createftpuser(userpw, userpw['homedir']) print "Добавлен FTP доступ пользователю %(username)s к папке %(homedir)s" % userpw siteconfig = vctl.addnewsite(username, sitename) print "Создан новый сайт %(sitename)s в папке %(docroot)s" % siteconfig siteconfig['site_aliases'] = '%s *.%s' % (username, username) siteconfig['maxclients'] = 5 a_conf = vctl.gen_apache_config(siteconfig) a_file = os.path.join(vctl.APACHEVHOSTS, "%i_%s_vhost.conf" % (userpw['uid'], username)) with open(a_file, 'a') as f: f.write(a_conf) print "Конфиг apache сохранен в '%s'." % a_file shutil.copy(vctl.NGINXDOCROOT, vctl.NGINXDOCROOT + '.bak') with open(vctl.NGINXDOCROOT, 'a') as f: n_conf = ".%s %s;\n" % (username, siteconfig['docroot']) f.write(n_conf) print "Конфиг nginx обновлен '%s'." % vctl.NGINXDOCROOT except vctl.Error, x: print "Ошибка: %s" % x exit(1)
def main(): if len(sys.argv) == 3: try: username, sitename = sys.argv[1], sys.argv[2] userpw = vctl.get_userpw(username) userpw['username'] = sitename site = vctl.addnewsite(username, sitename) print "Создан сайт %(sitename)s в папке %(docroot)s" % site vctl.createftpuser(userpw, site['docroot']) print "Добавлен FTP доступ пользователю %s (реал. %s) к папке %s" % (userpw['username'], username, site['docroot']) site['maxclients'] = 5 site['site_aliases'] = sitename a_conf = vctl.gen_apache_config(site) a_file = os.path.join(vctl.APACHEVHOSTS, "%i_%s_vhost.conf" % (userpw['uid'], username)) with open(a_file, 'a') as f: f.write(a_conf) print "Конфиг apache сохранен в '%s'." % a_file shutil.copy(vctl.NGINXDOCROOT, vctl.NGINXDOCROOT + '.bak') with open(vctl.NGINXDOCROOT, 'a') as f: n_conf = "%s %s;\n" % (sitename, site['docroot']) f.write(n_conf) print "Конфиг nginx обновлен '%s'." % vctl.NGINXDOCROOT except vctl.Error, x: print "Ошибка: %s" % x exit(1)