From 2361a56e3bc194b4d10cad81e5e2496c717177c3 Mon Sep 17 00:00:00 2001 From: Gabriel Monnerat <gabriel@tiolive.com> Date: Thu, 14 Jul 2011 13:56:08 -0300 Subject: [PATCH] refactor __init__.py to be possible pass the domain of apache in parameter_dict and fix vhost profile --- slapos/recipe/apache/__init__.py | 19 ++++++++++--------- .../apache/template/apache.vhost.conf.in | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/slapos/recipe/apache/__init__.py b/slapos/recipe/apache/__init__.py index 3bd6b9007..99b13783a 100644 --- a/slapos/recipe/apache/__init__.py +++ b/slapos/recipe/apache/__init__.py @@ -56,7 +56,7 @@ class Recipe(BaseSlapRecipe): key, certificate = self.requestCertificate('Apache Front end') # This should come from parameter. - frontend_domain_name = "host.vifib.net" + frontend_domain_name = self.parameter_dict.get("domain", "host.vifib.net") site_url = self.installFrontendApache( ip=self.getGlobalIPv6Address(), @@ -209,19 +209,20 @@ class Recipe(BaseSlapRecipe): def installFrontendApache(self, ip, port, key, certificate, name, access_control_string=None): - rewrite_rule_include_path = self.createDataDirectory('apachevhost') slave_instance_list = self.parameter_dict.get("slave_instance_list", []) + clean_name = name.replace("http://", "").replace("https://", "") + print self.parameter_dict for slave_instance in slave_instance_list: id = self.generateNewId() - site_url = slave_instance.get("site_url", "") + protocol = name.split(":")[0] + url = slave_instance.get("url") rewrite_rule_content = self.substituteTemplate( self.getTemplateFilename('apache.vhost.conf.in'), - dict(id=id, ip=ip, port=port, site_url=site_url)) + dict(id=id, ip=ip, port=port, domain=clean_name, url=url, protocol=protocol)) self._writeFile(os.path.join(rewrite_rule_include_path, id), rewrite_rule_content) - - apache_conf = self._getApacheConfigurationDict(name, ip, port) + apache_conf = self._getApacheConfigurationDict(clean_name, ip, port) apache_conf['ssl_snippet'] = self.substituteTemplate( self.getTemplateFilename('apache.ssl-snippet.conf.in'), dict(login_certificate=certificate, login_key=key)) @@ -238,16 +239,16 @@ class Recipe(BaseSlapRecipe): apache_conf_string = self.substituteTemplate( self.getTemplateFilename('apache.conf.in'), apache_conf) - apache_config_file = self.createConfigurationFile(name + '.conf', + apache_config_file = self.createConfigurationFile(clean_name + '.conf', apache_conf_string) self.path_list.append(apache_config_file) self.path_list.extend(zc.buildout.easy_install.scripts([( - name, 'slapos.recipe.erp5.apache', 'runApache')], self.ws, + clean_name, 'slapos.recipe.erp5.apache', 'runApache')], self.ws, sys.executable, self.wrapper_directory, arguments=[ dict( required_path_list=[key, certificate], binary=self.options['httpd_binary'], config=apache_config_file) ])) - return "https://[%s]:%s/" % (ip, port) + return "%s:%s/" % (name, port) diff --git a/slapos/recipe/apache/template/apache.vhost.conf.in b/slapos/recipe/apache/template/apache.vhost.conf.in index 017f2fa1d..421cc3810 100644 --- a/slapos/recipe/apache/template/apache.vhost.conf.in +++ b/slapos/recipe/apache/template/apache.vhost.conf.in @@ -1 +1 @@ -RewriteRule ^/%(id)s($|/.*) %(site_url)s/VirtualHostBase/http/%(ip)s:%(port)s/VirtualHostRoot/_vh_%(id)s$1 [L,P] +RewriteRule ^/%(id)s($|/.*) %(url)s/VirtualHostBase/%(protocol)s/%(domain)s:%(port)s/VirtualHostRoot/_vh_%(id)s$1 [L,P] -- 2.30.9