Postorius
Postorius は、Mailman の管理インターフェースのための Django ベースのツールです。
目次
インストール
Postorius を使うためには、動作するウェブサーバーのセットアップが必要です (例えば、Apache を使って WSGI に直接転送するか、Nginx を使ってリクエストを UWSGI のようなアプリケーションサーバーに転送する)。
Configuration
The web application is configured in /etc/webapps/postorius/settings_local.py
which is included by the default configuration in /usr/share/webapps/postorius/settings.py
.
Change the default secret for the application:
/etc/webapps/postorius/settings_local.py
SECRET_KEY = 'something-very-secret'
Make sure to disable debugging when running in production:
/etc/webapps/postorius/settings_local.py
DEBUG = False
To be able to configure a running mailman instance configuration options for its REST API have to be added to postorius' configuration.
/etc/webapps/postorius/settings_local.py
MAILMAN_REST_API_URL = 'http://localhost:8001' MAILMAN_REST_API_USER = 'rest_admin' MAILMAN_REST_API_PASS = 'rest_admin_password'
Add a valid email configuration (so that the Django application can verify subscribers):
/etc/webapps/postorius/settings_local.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'localhost' EMAIL_PORT = 25 EMAIL_HOST_USER = username EMAIL_HOST_PASSWORD = password
The valid hosts or domain names for the application need to be defined:
/etc/webapps/postorius/settings_local.py
ALLOWED_HOSTS = [ 'localhost', 'lists.example.com' ]
Hosting
Nginx and uWSGI
Postorius comes with a working uWSGI configuration file in /etc/uwsgi/postorius.ini
.
Install nginx and uwsgi-plugin-python, create a per-application socket for uWSGI (see UWSGI#Accessibility of uWSGI socket for reference) and enable uwsgi-secure@postorius.socket
.
For a local test setup, serving Postorius at http://127.0.0.1:80/postorius add the following Nginx configuration to your setup:
/etc/nginx/postorius.conf
server { listen 80; server_name localhost; charset utf-8; client_max_body_size 75M; root /usr/share/webapps/postorius; access_log /var/log/nginx/access.postorius.log; error_log /var/log/nginx/error.postorius.log; location /postorius_static { alias /var/lib/postorius/static; } location ~^/(accounts|admin|postorius)/(.*)$ { include /etc/nginx/uwsgi_params; uwsgi_pass unix:/run/postorius/postorius.sock; } }
Setup
After first installation make sure to generate a database:
[postorius]$ django-admin migrate --pythonpath /usr/share/webapps/postorius/ --settings settings
Afterwards, the static data for the application needs to be collected:
[postorius]$ django-admin collectstatic --pythonpath /usr/share/webapps/postorius/ --settings settings
Create a superuser account for the Django application:
[postorius]$ django-admin createsuperuser --pythonpath /usr/share/webapps/postorius/ --settings settings
ヒントとコツ
エイリアスドメインを設定する
postfix と共に 仮想エイリアスドメイン のセットアップでドメインを使用するためには、ドメインの Alias Domain
を設定する必要があります。ドメイン名は実在しなくても構いません。
Alias Domain
を設定するためには、管理ユーザーでログインします (デフォルトでは postorius
) し、Domains
メニューでドメインの設定を変更します。
See also
- Postorius Documentation - The upstream documentation
- Mailman Suite Documentation - The (high level) upstream documentation for the entire Mailman Suite (Mailman, Hyperkitty and Postorius)