「Postorius」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版より転載)
 
(翻訳)
2行目: 2行目:
 
[[Category:ウェブアプリケーション]]
 
[[Category:ウェブアプリケーション]]
 
[[en:Postorius]]
 
[[en:Postorius]]
[https://gitlab.com/mailman/postorius Postorius] is a [[Django]] based management interface for [[Mailman]].
+
[https://gitlab.com/mailman/postorius Postorius] は、[[Mailman]] の管理インターフェースのための [[Django]] ベースのツールです。
   
== Installation ==
+
== インストール ==
   
To use Postorius, a working [[web server]] setup is required (e.g. using [[Apache HTTP Server]] to forward to the [[wikipedia:Wsgi|WSGI]] directly, or using [[Nginx]] forwarding requests to an application server such as [[UWSGI]]).
+
Postorius を使うためには、動作する[[ウェブサーバー]]のセットアップが必要です (例えば、[[Apache HTTP Server|Apache]] を使って [[wikipedia:Wsgi|WSGI]] に直接転送するか、[[Nginx]] を使ってリクエストを [[UWSGI]] のようなアプリケーションサーバーに転送する)
   
[[Install]] the {{Pkg|postorius}} package.
+
{{Pkg|postorius}} パッケージを[[インストール]]します。
   
  +
{{Warning|Postorius は、パスワードやユーザーデータをネットワークに公開してしまうため、[[TLS]] 経由でのみアクセスされるべきです (テスト目的でそれを実行しているマシンから直接アクセスされる場合を除く)。}}
{{Warning|Postorius should only be accessed over [[TLS]] (unless only accessed directly from the machine running it for testing purposes), as it otherwise exposes passwords and user data to the network.}}
 
   
 
== Configuration ==
 
== Configuration ==

2023年9月1日 (金) 19:33時点における版

Postorius は、Mailman の管理インターフェースのための Django ベースのツールです。

インストール

Postorius を使うためには、動作するウェブサーバーのセットアップが必要です (例えば、Apache を使って WSGI に直接転送するか、Nginx を使ってリクエストを UWSGI のようなアプリケーションサーバーに転送する)。

postorius パッケージをインストールします。

警告: Postorius は、パスワードやユーザーデータをネットワークに公開してしまうため、TLS 経由でのみアクセスされるべきです (テスト目的でそれを実行しているマシンから直接アクセスされる場合を除く)。

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.

ノート: Postorius should store user sensitive data (e.g. sqlite database) in /var/lib/postorius/data/, as that directory is only accessible by root and the application itself.

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 DEFAULT_FROM_EMAIL and SERVER_EMAIL configuration options can be used to define the From: header of mails sent for internal authentication and error reporting (respectively).

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

この記事またはセクションは加筆を必要としています。
理由: Example for a setup using Apache HTTP Server. (議論: トーク:Postorius#)
ノート: Postorius needs to be run as its own user and group (i.e. postorius). It is using /etc/webapps/postorius/, /var/lib/postorius/ and /run/postorius/ for configurations, static caches and (potentially) sockets, respectively.
ノート: As the static files are by default served from a top-level static/ directory, which will conflict with hyperkitty on the same (sub)domain, it is advisable to set the STATIC_URL variable in /etc/webapps/postorius/settings_local.py to something unique (e.g. '/postorius_static/').

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

ノート: Run the following commands as the postorius user (e.g. using sudo or su).

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

Tips and tricks

Set an Alias Domain

To use a domain in a virtual alias domain setup with with postfix it is necessary to set the domain's Alias Domain. The domain name does not have to exist.

To set the Alias Domain, log in using the admin user (i.e. postorius by default) and alter the domain's settings it in the Domains menu.

See also