def run(self):
self.dependency_check()
self.datafolders_check()
# Setup SimpleHTTPServer
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", self.port), Handler)
httpd.allow_reuse_address = True
# Launch SimpleHTTPServer in a seperate Process
os.chdir(self.webserver_directory)
server_process = multiprocessing.Process(target=httpd.serve_forever)
server_process.daemon = True
server_process.start()
print('HTTP Server Launched on Port: %s ' % (self.port))
# Run Certbot while HTTP Server process is live.
try:
p1 = Popen(["certbot", "--webroot", "--non-interactive", "certonly", "--text", "--rsa-key-size", "4096", "--agree-tos", "--webroot-path", "/var/www/WiFiSuite/", "-m " + self.email, "-d " + self.certname], stdout=PIPE, stderr=PIPE)
except Exception as e:
print(' Error: %s' % (e))
if self.debug:
print(white('Debug')+'Certbot STDOUT/STDERR below:')
# Print STDOUT
for line in iter(p1.stdout.readline, ''):
sys.stdout.write(line)
# Print STDERR
for line in iter(p1.stderr.readline, ''):
sys.stderr.write(line)
# Terminate HTTP Server process
server_process.terminate()
os.chdir(self.cwd)
评论列表
文章目录