Fixed installation when mysql+amavis enabled.
This commit is contained in:
@@ -21,6 +21,5 @@ def install(appname, config):
|
|||||||
try:
|
try:
|
||||||
getattr(script, appname.capitalize())(config).run()
|
getattr(script, appname.capitalize())(config).run()
|
||||||
except utils.FatalError as inst:
|
except utils.FatalError as inst:
|
||||||
utils.printcolor(utils.RED, "Failure")
|
utils.printcolor(u"{}".format(inst), utils.RED)
|
||||||
print(inst)
|
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|||||||
@@ -61,12 +61,6 @@ class Amavis(base.Installer):
|
|||||||
return self.get_file_path(
|
return self.get_file_path(
|
||||||
"amavis_{}_{}.sql".format(self.dbengine, version))
|
"amavis_{}_{}.sql".format(self.dbengine, version))
|
||||||
|
|
||||||
def setup_database(self):
|
|
||||||
"""Additional config."""
|
|
||||||
super(Amavis, self).setup_database()
|
|
||||||
self.backend.grant_access(
|
|
||||||
self.dbname, self.config.get("modoboa", "dbuser"))
|
|
||||||
|
|
||||||
def post_run(self):
|
def post_run(self):
|
||||||
"""Additional tasks."""
|
"""Additional tasks."""
|
||||||
with open("/etc/mailname", "w") as fp:
|
with open("/etc/mailname", "w") as fp:
|
||||||
|
|||||||
@@ -43,6 +43,13 @@ class Modoboa(base.Installer):
|
|||||||
self.instance_path = config.get("modoboa", "instance_path")
|
self.instance_path = config.get("modoboa", "instance_path")
|
||||||
self.extensions = config.get("modoboa", "extensions").split()
|
self.extensions = config.get("modoboa", "extensions").split()
|
||||||
self.devmode = config.getboolean("modoboa", "devmode")
|
self.devmode = config.getboolean("modoboa", "devmode")
|
||||||
|
# Sanity check for amavis
|
||||||
|
self.amavis_enabled = False
|
||||||
|
if "modoboa-amavis" in self.extensions:
|
||||||
|
if self.config.getboolean("amavis", "enabled"):
|
||||||
|
self.amavis_enabled = True
|
||||||
|
else:
|
||||||
|
self.extensions.remove("modoboa-amavis")
|
||||||
|
|
||||||
def _setup_venv(self):
|
def _setup_venv(self):
|
||||||
"""Prepare a dedicated virtuelenv."""
|
"""Prepare a dedicated virtuelenv."""
|
||||||
@@ -78,14 +85,6 @@ class Modoboa(base.Installer):
|
|||||||
return
|
return
|
||||||
shutil.rmtree(target)
|
shutil.rmtree(target)
|
||||||
|
|
||||||
# Sanity check for amavis
|
|
||||||
amavis_enabled = False
|
|
||||||
if "modoboa-amavis" in self.extensions:
|
|
||||||
if self.config.getboolean("amavis", "enabled"):
|
|
||||||
amavis_enabled = True
|
|
||||||
else:
|
|
||||||
self.extensions.remove("modoboa-amavis")
|
|
||||||
|
|
||||||
prefix = ". {}; ".format(
|
prefix = ". {}; ".format(
|
||||||
os.path.join(self.venv_path, "bin", "activate"))
|
os.path.join(self.venv_path, "bin", "activate"))
|
||||||
args = [
|
args = [
|
||||||
@@ -99,7 +98,7 @@ class Modoboa(base.Installer):
|
|||||||
]
|
]
|
||||||
if self.devmode:
|
if self.devmode:
|
||||||
args = ["--devel"] + args
|
args = ["--devel"] + args
|
||||||
if amavis_enabled:
|
if self.amavis_enabled:
|
||||||
args += [
|
args += [
|
||||||
"'amavis:{}://{}:{}@{}/{}'".format(
|
"'amavis:{}://{}:{}@{}/{}'".format(
|
||||||
self.config.get("database", "engine"),
|
self.config.get("database", "engine"),
|
||||||
@@ -116,6 +115,14 @@ class Modoboa(base.Installer):
|
|||||||
if code:
|
if code:
|
||||||
raise utils.FatalError(output)
|
raise utils.FatalError(output)
|
||||||
|
|
||||||
|
def setup_database(self):
|
||||||
|
"""Additional config."""
|
||||||
|
super(Modoboa, self).setup_database()
|
||||||
|
if not self.amavis_enabled:
|
||||||
|
return
|
||||||
|
self.backend.grant_access(
|
||||||
|
self.config.get("amavis", "dbname"), self.dbuser)
|
||||||
|
|
||||||
def get_packages(self):
|
def get_packages(self):
|
||||||
"""Include extra packages if needed."""
|
"""Include extra packages if needed."""
|
||||||
packages = super(Modoboa, self).get_packages()
|
packages = super(Modoboa, self).get_packages()
|
||||||
|
|||||||
2
run.py
2
run.py
@@ -60,9 +60,9 @@ def main():
|
|||||||
ssl_backend = ssl.get_backend(config)
|
ssl_backend = ssl.get_backend(config)
|
||||||
if ssl_backend:
|
if ssl_backend:
|
||||||
ssl_backend.create()
|
ssl_backend.create()
|
||||||
|
scripts.install("amavis", config)
|
||||||
scripts.install("modoboa", config)
|
scripts.install("modoboa", config)
|
||||||
scripts.install("postfix", config)
|
scripts.install("postfix", config)
|
||||||
scripts.install("amavis", config)
|
|
||||||
scripts.install("dovecot", config)
|
scripts.install("dovecot", config)
|
||||||
utils.printcolor(
|
utils.printcolor(
|
||||||
"Congratulations! You can enjoy Modoboa at https://{} (admin:password)"
|
"Congratulations! You can enjoy Modoboa at https://{} (admin:password)"
|
||||||
|
|||||||
Reference in New Issue
Block a user