def setup(config): siteuser = passwd.getpwnam(config.SITEUSER) siteowner = passwd.getpwnam(config.SITEOWNER) logroot = config.get("LOGROOT", "/var/log/lighttpd") fqdn = socket.get_fqdn() def _mkdir(path): if not os.path.isdir(path): os.mkdir(path, 0755) os.chown(path, siteowner.uid, siteowner.gid) for vhost in config.VHOSTS.keys(): vhostdir = config.SITEROOT + "/" + vhost vhostlogdir = logroot + "/" + vhost if not os.path.isdir(vhostlogdir): os.mkdir(vhostlogdir, 0755) os.chown(vhostlogdir, siteuser.uid, siteuser.gid) if not os.path.isdir(vhostdir): if fqdn == vhost: os.symlink(config.SITEROOT + "/localhost", vhostdir) else: _mkdir(vhostdir) _mkdir(vhostdir + "/htdocs") _mkdir(vhostdir + "/htdocs-secure") _mkdir(vhostdir + "/media") _mkdir(vhostdir + "/media/js") _mkdir(vhostdir + "/media/css") _mkdir(vhostdir + "/media/images")
def get_site_config(filename=SITE_CONFIG): glbl = {"FQDN": socket.get_fqdn()} return basicconfig.get_config(filename, globalspace=glbl)
def main(argv): import getopt daemonize = True frontend = True dname = None servername = os.path.basename(argv[0]) logfilename = "/var/log/%s.log" % (servername, ) pidfilename = "/var/run/%s.pid" % (servername, ) cffile = SITE_CONFIG try: optlist, args = getopt.getopt(argv[1:], "?hdnNl:p:f:D:") except getopt.GetoptError: print _doc % (servername, ) return for opt, optarg in optlist: if opt in ("-?", "-h"): print _doc % (servername, ) return 2 elif opt == "-l": logfilename = optarg elif opt == "-n": daemonize = False elif opt == "-N": frontend = False elif opt == "-D": dname = optarg elif opt == "-f": cffile = optarg elif opt == "-p": pidfilename = optarg elif opt == "-d": from pycopia import autodebug # Sets up auto debugging handler. glbl = {"FQDN": dname or socket.get_fqdn()} config = basicconfig.get_config(cffile, globalspace=glbl) config.SERVERNAME = servername config.LOGFILENAME = logfilename config.PIDFILE = pidfilename config.DAEMON = daemonize config.USEFRONTEND = frontend config.ARGV = args if not args: return status(config) cmd = args[0] if cmd.startswith("stat"): return status(config) elif cmd.startswith("set"): return setup(config) elif cmd.startswith("star"): return start(config) elif cmd.startswith("stop"): return stop(config) elif cmd.startswith("rob"): return robots(config) elif cmd.startswith("che"): return check(config) else: print _doc % (servername, ) return 2
def main(argv): import getopt daemonize = True frontend = True dname = None servername = os.path.basename(argv[0]) logfilename = "/var/log/%s.log" % (servername,) pidfilename = "/var/run/%s.pid" % (servername,) cffile = SITE_CONFIG try: optlist, args = getopt.getopt(argv[1:], "?hdnNl:p:f:D:") except getopt.GetoptError: print _doc % (servername,) return for opt, optarg in optlist: if opt in ("-?", "-h"): print _doc % (servername,) return 2 elif opt == "-l": logfilename = optarg elif opt == "-n": daemonize = False elif opt == "-N": frontend = False elif opt == "-D": dname = optarg elif opt == "-f": cffile = optarg elif opt == "-p": pidfilename = optarg elif opt == "-d": from pycopia import autodebug # Sets up auto debugging handler. glbl = {"FQDN": dname or socket.get_fqdn()} config = basicconfig.get_config(cffile, globalspace=glbl) config.SERVERNAME = servername config.LOGFILENAME = logfilename config.PIDFILE = pidfilename config.DAEMON = daemonize config.USEFRONTEND = frontend config.ARGV = args if not args: return status(config) cmd = args[0] if cmd.startswith("stat"): return status(config) elif cmd.startswith("set"): return setup(config) elif cmd.startswith("star"): return start(config) elif cmd.startswith("stop"): return stop(config) elif cmd.startswith("rob"): return robots(config) elif cmd.startswith("che"): return check(config) else: print _doc % (servername,) return 2