From 0e3b2e0f1406fba6df7590a83415fc94304997d5 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 24 May 2012 11:31:01 +0200 Subject: [PATCH] Last fixes before 0.9. --- INSTALL | 12 +++++++++--- extensions/stats/__init__.py | 4 +--- extensions/stats/templates/stats/graphs.html | 2 +- extensions/stats/views.py | 3 +-- lib/fixtures/demo.json | 2 +- settings_sample.py | 2 +- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/INSTALL b/INSTALL index ba0a4334a..8b3687183 100644 --- a/INSTALL +++ b/INSTALL @@ -293,7 +293,7 @@ requires a migration. #. Add the following new variables:: STATIC_ROOT = os.path.join(MODOBOA_DIR, 'sitestatic') - STATIC_URL = '/static/' + STATIC_URL = '/sitestatic/' #. Update the following variables (just copy/paste their new values):: @@ -326,13 +326,17 @@ requires a migration. $ ./manage.py collectstatic #. If you are using the *stats* extension, please rename the - */static/stats* directory to */static/graphs* + */static/stats* directory to */media/stats* + and change the value of the ``IMG_ROOTDIR`` parameter (go to the adminstration panel) #. Restart the python instance(s) that serve *Modoboa* #. Log into Modoboa, go to *Modoboa > Extensions*, uncheck all extensions, save. Then, check the extensions you want to use and - save again. + save again + +#. Update your webserver configuration to make static files available + (see :ref:`webserver`) #. **For Dovecot users only**, you need to modify the ``password_query`` (file */etc/dovecot/dovecot-sql.conf* by default @@ -924,6 +928,8 @@ The procedure is over, edit the *settings.py* file and: You should be able to connect to Modoboa using the same credentials you were using to connect to PostfixAdmin. +.. _webserver: + How to serve Modoboa behind a webserver ======================================= diff --git a/extensions/stats/__init__.py b/extensions/stats/__init__.py index 1a6b0612c..e58bd43c2 100644 --- a/extensions/stats/__init__.py +++ b/extensions/stats/__init__.py @@ -18,6 +18,7 @@ class Stats(ModoExtension): label = "Statistics" version = "1.0" description = ugettext_lazy("Graphical statistics about emails traffic using RRDtool") + needs_media = True def load(self): parameters.register_admin("LOGFILE", type="string", @@ -29,9 +30,6 @@ class Stats(ModoExtension): parameters.register_admin("IMG_ROOTDIR", type="string", deflt="/tmp/modoboa", help=ugettext_lazy("Path to directory where PNG files are stored")) - parameters.register_admin("GRAPHS_LOCATION", type="string", - deflt="graphs", - help=ugettext_lazy("Graphics location (to build URLs)")) def destroy(self): events.unregister("AdminMenuDisplay", menu) diff --git a/extensions/stats/templates/stats/graphs.html b/extensions/stats/templates/stats/graphs.html index fa7c7822a..83a088259 100644 --- a/extensions/stats/templates/stats/graphs.html +++ b/extensions/stats/templates/stats/graphs.html @@ -4,6 +4,6 @@ {% endif %} {% for elems in graphs %}

{% trans elems.label %}

-

{% trans 'No statistics available' %}

{% endfor %} diff --git a/extensions/stats/views.py b/extensions/stats/views.py index 741a6f0af..6cfb766e0 100644 --- a/extensions/stats/views.py +++ b/extensions/stats/views.py @@ -45,8 +45,7 @@ def graphs(request): if not view: raise ModoboaException(_("Invalid request")) period = request.GET.get("period", "day") - tplvars = dict(graphs=graph_list, period=period, - graphs_loc=parameters.get_admin("GRAPHS_LOCATION")) + tplvars = dict(graphs=graph_list, period=period) if view == "global": if not request.user.is_superuser: raise PermDeniedException diff --git a/lib/fixtures/demo.json b/lib/fixtures/demo.json index 40f025d1c..3651523c3 100644 --- a/lib/fixtures/demo.json +++ b/lib/fixtures/demo.json @@ -1 +1 @@ -[{"pk": 1, "model": "lib.parameter", "fields": {"name": "admin.STORAGE_PATH", "value": "/srv/vmail"}}, {"pk": 2, "model": "lib.parameter", "fields": {"name": "admin.PASSWORD_SCHEME", "value": "crypt"}}, {"pk": 3, "model": "lib.parameter", "fields": {"name": "admin.ITEMS_PER_PAGE", "value": "30"}}, {"pk": 4, "model": "lib.parameter", "fields": {"name": "general.DEFAULT_TOP_REDIRECTION", "value": "userprefs"}}, {"pk": 5, "model": "lib.parameter", "fields": {"name": "admin.CREATE_DIRECTORIES", "value": "yes"}}, {"pk": 6, "model": "lib.parameter", "fields": {"name": "auth.SECRET_KEY", "value": "abcdefghijklmnop"}}, {"pk": 7, "model": "lib.parameter", "fields": {"name": "admin.MAILBOX_TYPE", "value": "maildir"}}, {"pk": 8, "model": "lib.parameter", "fields": {"name": "admin.AUTHENTICATION_TYPE", "value": "local"}}, {"pk": 9, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_UID", "value": "vmail"}}, {"pk": 10, "model": "lib.parameter", "fields": {"name": "admin.MAILDIR_ROOT", "value": ".maildir"}}, {"pk": 11, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_GID", "value": "vmail"}}, {"pk": 12, "model": "lib.parameter", "fields": {"name": "stats.IMG_ROOTDIR", "value": "/srv/www/modoboa/static/graphics"}}, {"pk": 13, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.USER_CAN_RELEASE", "value": "no"}}, {"pk": 14, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.CHECK_REQUESTS_INTERVAL", "value": "30"}}, {"pk": 15, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_PORT", "value": "9998"}}, {"pk": 16, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SECURED", "value": "no"}}, {"pk": 17, "model": "lib.parameter", "fields": {"name": "postfix_autoreply.AUTOREPLIES_TIMEOUT", "value": "86400"}}, {"pk": 18, "model": "lib.parameter", "fields": {"name": "sievefilters.AUTHENTICATION_MECH", "value": "PLAIN"}}, {"pk": 19, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_SOCKET", "value": "/var/amavis/amavisd.sock"}}, {"pk": 20, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_MODE", "value": "inet"}}, {"pk": 21, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.SELF_SERVICE", "value": "no"}}, {"pk": 22, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_PORT", "value": "143"}}, {"pk": 23, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SECURED_MODE", "value": "none"}}, {"pk": 24, "model": "lib.parameter", "fields": {"name": "sievefilters.SERVER", "value": "127.0.0.1"}}, {"pk": 25, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SERVER", "value": "127.0.0.1"}}, {"pk": 26, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_AUTHENTICATION", "value": "no"}}, {"pk": 27, "model": "lib.parameter", "fields": {"name": "webmail.MAX_ATTACHMENT_SIZE", "value": "512K"}}, {"pk": 28, "model": "lib.parameter", "fields": {"name": "stats.RRD_ROOTDIR", "value": "/srv/www/modoboa/tmp"}}, {"pk": 29, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.RELEASED_MSGS_CLEANUP", "value": "no"}}, {"pk": 30, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.MAX_MESSAGES_AGE", "value": "14"}}, {"pk": 31, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_PORT", "value": "25"}}, {"pk": 32, "model": "lib.parameter", "fields": {"name": "stats.GRAPHS_LOCATION", "value": "graphics"}}, {"pk": 33, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SERVER", "value": "127.0.0.1"}}, {"pk": 34, "model": "lib.parameter", "fields": {"name": "sievefilters.STARTTLS", "value": "yes"}}, {"pk": 35, "model": "lib.parameter", "fields": {"name": "sievefilters.PORT", "value": "2000"}}, {"pk": 36, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_HOST", "value": "localhost"}}, {"pk": 37, "model": "lib.parameter", "fields": {"name": "stats.LOGFILE", "value": "/var/log/mail.log"}}] \ No newline at end of file +[{"pk": 1, "model": "lib.parameter", "fields": {"name": "admin.STORAGE_PATH", "value": "/srv/vmail"}}, {"pk": 2, "model": "lib.parameter", "fields": {"name": "admin.PASSWORD_SCHEME", "value": "crypt"}}, {"pk": 3, "model": "lib.parameter", "fields": {"name": "admin.ITEMS_PER_PAGE", "value": "30"}}, {"pk": 4, "model": "lib.parameter", "fields": {"name": "general.DEFAULT_TOP_REDIRECTION", "value": "userprefs"}}, {"pk": 5, "model": "lib.parameter", "fields": {"name": "admin.CREATE_DIRECTORIES", "value": "yes"}}, {"pk": 6, "model": "lib.parameter", "fields": {"name": "auth.SECRET_KEY", "value": "abcdefghijklmnop"}}, {"pk": 7, "model": "lib.parameter", "fields": {"name": "admin.MAILBOX_TYPE", "value": "maildir"}}, {"pk": 8, "model": "lib.parameter", "fields": {"name": "admin.AUTHENTICATION_TYPE", "value": "local"}}, {"pk": 9, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_UID", "value": "vmail"}}, {"pk": 10, "model": "lib.parameter", "fields": {"name": "admin.MAILDIR_ROOT", "value": ".maildir"}}, {"pk": 11, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_GID", "value": "vmail"}}, {"pk": 12, "model": "lib.parameter", "fields": {"name": "stats.IMG_ROOTDIR", "value": "/srv/www/modoboa/static/graphics"}}, {"pk": 13, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.USER_CAN_RELEASE", "value": "no"}}, {"pk": 14, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.CHECK_REQUESTS_INTERVAL", "value": "30"}}, {"pk": 15, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_PORT", "value": "9998"}}, {"pk": 16, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SECURED", "value": "no"}}, {"pk": 17, "model": "lib.parameter", "fields": {"name": "postfix_autoreply.AUTOREPLIES_TIMEOUT", "value": "86400"}}, {"pk": 18, "model": "lib.parameter", "fields": {"name": "sievefilters.AUTHENTICATION_MECH", "value": "PLAIN"}}, {"pk": 19, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_SOCKET", "value": "/var/amavis/amavisd.sock"}}, {"pk": 20, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_MODE", "value": "inet"}}, {"pk": 21, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.SELF_SERVICE", "value": "no"}}, {"pk": 22, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_PORT", "value": "143"}}, {"pk": 23, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SECURED_MODE", "value": "none"}}, {"pk": 24, "model": "lib.parameter", "fields": {"name": "sievefilters.SERVER", "value": "127.0.0.1"}}, {"pk": 25, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SERVER", "value": "127.0.0.1"}}, {"pk": 26, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_AUTHENTICATION", "value": "no"}}, {"pk": 27, "model": "lib.parameter", "fields": {"name": "webmail.MAX_ATTACHMENT_SIZE", "value": "512K"}}, {"pk": 28, "model": "lib.parameter", "fields": {"name": "stats.RRD_ROOTDIR", "value": "/srv/www/modoboa/tmp"}}, {"pk": 29, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.RELEASED_MSGS_CLEANUP", "value": "no"}}, {"pk": 30, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.MAX_MESSAGES_AGE", "value": "14"}}, {"pk": 31, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_PORT", "value": "25"}}, {"pk": 33, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SERVER", "value": "127.0.0.1"}}, {"pk": 34, "model": "lib.parameter", "fields": {"name": "sievefilters.STARTTLS", "value": "yes"}}, {"pk": 35, "model": "lib.parameter", "fields": {"name": "sievefilters.PORT", "value": "2000"}}, {"pk": 36, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_HOST", "value": "localhost"}}, {"pk": 37, "model": "lib.parameter", "fields": {"name": "stats.LOGFILE", "value": "/var/log/mail.log"}}] \ No newline at end of file diff --git a/settings_sample.py b/settings_sample.py index d5ce57193..99d31dc92 100644 --- a/settings_sample.py +++ b/settings_sample.py @@ -72,7 +72,7 @@ MEDIA_ROOT = os.path.join(MODOBOA_DIR, 'media') MEDIA_URL = '/media/' STATIC_ROOT = os.path.join(MODOBOA_DIR, 'sitestatic') -STATIC_URL = '/static/' +STATIC_URL = '/sitestatic/' # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a # trailing slash.