「Postorius」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
112行目: 112行目:
 
[postorius]$ django-admin createsuperuser --pythonpath /usr/share/webapps/postorius/ --settings settings
 
[postorius]$ django-admin createsuperuser --pythonpath /usr/share/webapps/postorius/ --settings settings
   
== Tips and tricks ==
+
== ヒントとコツ ==
   
  +
=== エイリアスドメインを設定する ===
=== Set an Alias Domain ===
 
   
To use a domain in a [http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class virtual alias domain] setup with with [[postfix]] it is necessary to set the domain's {{ic|Alias Domain}}. The domain name does not have to exist.
+
[[postfix]] と共に [http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class 仮想エイリアスドメイン] のセットアップでドメインを使用するためには、ドメインの {{ic|Alias Domain}} を設定する必要があります。ドメイン名は実在しなくても構いません。
   
To set the {{ic|Alias Domain}}, log in using the admin user (i.e. {{ic|postorius}} by default) and alter the domain's settings it in the {{ic|Domains}} menu.
+
{{ic|Alias Domain}} を設定するためには、管理ユーザーでログインします (デフォルトでは {{ic|postorius}}) し、{{ic|Domains}} メニューでドメインの設定を変更します。
   
 
== See also ==
 
== See also ==

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

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

ヒントとコツ

エイリアスドメインを設定する

postfix と共に 仮想エイリアスドメイン のセットアップでドメインを使用するためには、ドメインの Alias Domain を設定する必要があります。ドメイン名は実在しなくても構いません。

Alias Domain を設定するためには、管理ユーザーでログインします (デフォルトでは postorius) し、Domains メニューでドメインの設定を変更します。

See also