예제 #1
0
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)
예제 #2
0
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)