Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Mailmanのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Mailman
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:インターネットアプリケーション]] [[en:Mailman]] '''Mailman''' は電子メーリングリストを管理するためのアプリケーションです。基本的に''メールサーバー''や''ウェブサーバー''と合わせて使うことになるため、最初にメールサーバーを [[Postfix]], [[en2:Exim with remote SMTP server|Exim]], [[Sendmail]], Qmail などから選択して (どれが良いかわからないときは、Postfix を選ぶことを推奨します)、それから [[Apache]], [[Lighttpd]], [[Nginx]] などのウェブサーバーを決めて下さい (どのウェブサーバーでもかまいません)。Mailman とメールサーバー、ウェブサーバーは必ずしも同一のコンピュータで実行する必要はありません。 この記事では Mailman のインストールだけを扱います。メールサーバーやウェブサーバーのインストールについてはそれぞれの wiki ページを参照してください。 このガイドでは "arch" という名前のマシンを使って "a", "b", "c" という名前の組織のメーリングリストをセットアップすることにします。それぞれサンプルドメイン "a.org", "b.org", "c.org" が存在して "arch" にアクセスできるようになっているとします。各ドメインで以下のように設定します: * Mailman の'''ウェブインターフェイス'''に ''lists.[organization_name].org'' からアクセスできるようにする。 * ''lists.[organization_name].org/archives'' に'''リストのアーカイブ'''を配置する。 * '''リストのアドレス'''は ''[list_name]@[organization_name].org'' などとする。 '''注意事項''': Mailman を使うことで複数のドメインのリストを管理することはできますが、たとえドメインが違っていても同じ名前のリストを作ることはできません。 == Mailman のインストール == {{Pkg|mailman}} パッケージを[[インストール]]してください。 == Mailman の設定 == デフォルト設定は {{ic|/usr/lib/mailman/Mailman/Defaults.py}} ファイルに全て記述されています。ただしこのファイルを修正してはいけません。代わりに、'''mm_cfg.py''' ({{ic|/etc/mailman/mm_cfg.py}}) ファイルに変更を加えて下さい。Defaults.py のデフォルト設定と異なる値だけを mm_cfg.py に追加してください。Mailman をアップグレードしても mm_cfg.py に勝手に手が加えられることはありません。 === ウェブサーバーの統合 === {{bc|<nowiki> DEFAULT_URL_HOST = 'lists.a.org' VIRTUAL_HOSTS.clear() add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) add_virtualhost('lists.b.org', 'b.org') add_virtualhost('lists.c.org', 'c.org') POSTFIX_STYLE_VIRTUAL_DOMAINS = ['a.org', 'b.org', 'c.org'] DEFAULT_URL_PATTERN = 'http://%s/' PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/archives/%(listname)s' </nowiki>}} Apache の場合を以下のように変更してください: {{bc|<nowiki> DEFAULT_URL_PATTERN = 'http://%s/lists/' </nowiki>}} === MTA の統合 === 選択したメールサーバーに合わせて {{ic|/etc/mailman/mm_cfg.py}} の中身を変更します。 === Postfix の統合 === {{bc|<nowiki> DEFAULT_EMAIL_HOST = 'a.org' MTA = 'Postfix' </nowiki>}} {{ic|mm_cfg.py}} を編集したら、以下を実行して Postfix が必要とする aliases ファイルを作成してください: # /usr/lib/mailman/bin/genaliases === Exim の統合 === {{bc|<nowiki> DEFAULT_EMAIL_HOST = 'a.org' MTA = None </nowiki>}} == メールサーバーの設定 == {{Note|ドメインネームサーバー (DNS) の設定を確認してください。インターネット上でメールを送るには、DNS が正しくないといけません。MX レコードがメールホストに設定されている必要があります。DNS に関する情報はこのドキュメントでは扱いません。}} === Postfix === Postfix のインストールと設定については、[[Postfix]] を見て下さい (Mailman 用にのみ Postfix を使う場合は設定はとてもシンプルです: ''mailbox'' や ''database'' などは無視してかまいません)。 {{ic|/etc/postfix/main.cf}} に以下のフィールドと値を記述してください: {{bc|1= myhostname = arch.a.org mydomain = a.org myorigin = $mydomain mydestination = localhost, a.org, b.org, c.org mynetworks_style = host alias_maps = hash:/etc/postfix/aliases, hash:/var/lib/mailman/data/aliases alias_database = $alias_maps virtual_alias_maps = hash:/etc/postfix/virtual, hash:/var/lib/mailman/data/virtual-mailman recipient_delimiter = + }} === Exim === {{ic|/etc/mail/exim.conf}} を編集して以下のセクションにエントリを追加してください: {{ic|routers}} セクション: {{bc|1= local_mailman_list: driver = accept require_files = /var/lib/mailman/lists/${lc::$local_part}/config.pck local_part_suffix = -admin : -bounces : -bounces+* : -confirm : -confirm+* : -join : -leave : -owner : -request : -subscribe : -unsubscribe local_part_suffix_optional transport = mailman_transport }} {{ic|transports}} セクション: {{bc|1= mailman_transport: driver = pipe user = mailman group = mailman home_directory = /usr/lib/mailman current_directory = /usr/lib/mailman command = /usr/lib/mailman/mail/mailman '${if def:local_part_suffix {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}}{post}}' $local_part }} == ウェブサーバーの設定 == === Nginx === Nginx のインストールと設定については、[[Nginx]] を見て下さい。Mailman のウェブインターフェイスは CGI を使います。以下の設定では Nginx と {{Ic|fcgiwrap}} を使います。詳しくは [[Nginx#CGI を動かす]] を参照。 ドメインごとに {{ic|/etc/nginx/nginx.conf}} に以下の設定を記述 (例: ''a.org''): {{bc|1= server { server_name lists.a.org; root /usr/lib/mailman/cgi-bin; location = / { rewrite ^ /listinfo permanent; } location / { fastcgi_split_path_info ^(/[^/]*)(.*)$; fastcgi_pass unix:/run/fcgiwrap.sock; include fastcgi.conf; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; } location /mailman-icons { alias /usr/lib/mailman/icons; } location /archives { alias /var/lib/mailman/archives/public; autoindex on; } } }} {{Note|Nginx must run with {{ic|user}} http and {{ic|group}} http or Mailman will complain. Be sure to define the {{ic|user}} directive in {{ic|/etc/nginx/conf/nginx.conf}} as follows (outside the {{Ic|html}} block): {{ic|user http http;}}.}} === Lighttpd === server.modules = ("mod_rewrite", "mod_cgi") url.rewrite = ( "^/$" => "/listinfo" ) alias.url = ( "/icons" => "/usr/lib/mailman/icons", "/archives" => "/var/lib/mailman/archives/public" ) cgi.assign = ( "/usr/lib/mailman/cgi-bin/admin" => "", "/usr/lib/mailman/cgi-bin/admin/" => "", "/usr/lib/mailman/cgi-bin/admindb" => "", "/usr/lib/mailman/cgi-bin/admindb/" => "", "/usr/lib/mailman/cgi-bin/confirm" => "", "/usr/lib/mailman/cgi-bin/confirm/" => "", "/usr/lib/mailman/cgi-bin/create" => "", "/usr/lib/mailman/cgi-bin/create/" => "", "/usr/lib/mailman/cgi-bin/edithtml" => "", "/usr/lib/mailman/cgi-bin/edithtml/" => "", "/usr/lib/mailman/cgi-bin/listinfo" => "", "/usr/lib/mailman/cgi-bin/listinfo/" => "", "/usr/lib/mailman/cgi-bin/options" => "", "/usr/lib/mailman/cgi-bin/options/" => "", "/usr/lib/mailman/cgi-bin/private" => "", "/usr/lib/mailman/cgi-bin/private/" => "", "/usr/lib/mailman/cgi-bin/rmlist" => "", "/usr/lib/mailman/cgi-bin/rmlist/" => "", "/usr/lib/mailman/cgi-bin/roster" => "", "/usr/lib/mailman/cgi-bin/roster/" => "", "/usr/lib/mailman/cgi-bin/subscribe" => "", "/usr/lib/mailman/cgi-bin/subscribe/" => "" ) $HTTP["host"] =~ "(^|\.)lists.a.org$" { server.document-root = "/usr/lib/mailman/cgi-bin/" server.errorlog = "/var/log/lighttpd/lists.a.org_error.log" accesslog.filename = "/var/log/lighttpd/lists.a.org_access.log" } === Apache === 以下の行を {{ic|/etc/mailman/mm_cfg.py}} に追加してください: {{ic|IMAGE_LOGOS = '/mailman-icons/'}} The example use of of creating lists.a.org implies creating a vhost. Consider moving the following config into a vhost definition instead of modifying your global httpd.conf. {{ic|/etc/httpd/conf/httpd.conf}} を編集して以下のスニペットを追加してください: {{bc| <IfModule alias_module> Alias /mailman-icons/ "/usr/lib/mailman/icons/" Alias /archives/ "/var/lib/mailman/archives/public/" ScriptAlias /lists/ "/usr/lib/mailman/cgi-bin/" ScriptAlias / "/usr/lib/mailman/cgi-bin/listinfo" </IfModule> <Directory "/usr/lib/mailman/cgi-bin/"> AllowOverride None Options Indexes FollowSymlinks ExecCGI Require all granted </Directory> <Directory "/usr/lib/mailman/icons/"> Require all granted </Directory> <Directory "/var/lib/mailman/archives/public/"> Require all granted </Directory> }} httpd [[systemd]] サービスを再起動してください。 == その後の設定 == === Site-wide メーリングリスト === To create this specific list requested by Mailman for its proper operation (between other things, it is used for password reminders), run: # /usr/lib/mailman/bin/newlist mailman This will create a list called "mailman" under the default domain (''mailman@a.org'' in the example). You do not have to do it for the other domains (i.e. ''b.org'' and ''c.org''). Later you should also subscribe yourself to the site list. === タイマーの設定 === 定期的に実行される Mailman の機能があるため、[[systemd/タイマー|タイマー]]を設定して適切なプログラムを適切な時に実行させる必要があります: # cd /usr/lib/systemd/system # for X in mailman-*.timer ; do systemctl enable $X && systemctl start $X ; done === Mailman の起動 === [[systemd#ユニットを使う|systemctl]] で {{ic|mailman}} が起動されるまで、Mailman は処理を開始してメールを送ることはありません。 何か問題が発生したら、より多くの情報を出力させることでトラブルシューティングに役立ちます: # /usr/lib/mailman/bin/mailmanctl start === パスワードの作成 === There are two type of passwords that you can create from the command line. The first is the "general password" which can be used anywhere a password is required in the system. The site password will get you into the administration page for any list, and it can be used to log in as any user. The second password is a site-wide "list creator" password. You can use this to delegate the ability to create new mailing lists without providing all the privileges of the site password. Of course, the owner of the site password can also create new mailing lists, but the list creator password is limited to just that special role. To set the general password, use this command: # /usr/lib/mailman/bin/mmsitepass <general-password> To set the list creator password, this: # /usr/lib/mailman/bin/mmsitepass -c <list-creator-password> It is okay not to set a list creator password, but you probably do want a general password. == Mailman を使う == リストを管理 (リストを作成・設定、ユーザーを管理など) するときはウェブインターフェイスを使います。それぞれのドメインごとに別々のインターフェイスが作られます。例えば、組織 "a" の URL は ''http://lists.a.org'' という具合です。 コマンドラインから Mailman を管理することもできます。例えばリストを作成するには: # newlist --urlhost=lists.b.org --emailhost=b.org list_name == Mailman 3 == Mailman 3 はモジュール形式で設計されています: * {{AUR|mailman-core}} は Mailman のコアコンポーネントを提供します。 * {{AUR|python2-django-postorius}} は Mailman の管理インターフェイスを提供します。 * {{AUR|python2-django-hyperkitty}} はメーリングリストのアーカイブのインターフェイスです。 * {{AUR|python-mailmanclient}} と {{AUR|python2-mailmanclient}} は Mailman の REST API の python バインディングを提供します。 * {{AUR|python-mailman-hyperkitty-plugin}} はメールを hyperkitty に転送するのに使われるプラグインです。 postorius や hyperkitty をデプロイするには django が必要になります。{{AUR|mailman-suite-git}} にデプロイするのに使える django のプロジェクトスケルトンが入っています。付属している README.md を読んで postorius や hyperkitty をデプロイしてください。 mailman-core は {{ic|/var/lib/mailman/var/etc/mailman.cfg}} で設定でき、次のコマンドで起動できます: # systemctl start mailman.service 詳しくはプロジェクトの公式ドキュメントを参照してください。 == トラブルシューティング == You should check that your installation has all the correct permissions and group ownerships by running the '''check_perms''' script: # /usr/lib/mailman/bin/check_perms . If it reports problems, then you can either fix them manually or use the same program to fix them (probably the easiest solution): # /usr/lib/mailman/bin/check_perms -f . Repeat previous steps until no more errors are reported! === Postfix === Make sure that the files in {{ic|/var/lib/mailman/data/}}: * aliases.db, * aliases, * virtual-mailman, * virtual-mailman.db, are '''user''' and '''group''' owned by ''mailman'' and that are '''group writable'''. === UTF-8 === http://www.divideandconquer.se/2009/08/17/convert-mailman-translation-to-utf-8. == 参照 == * [http://list.org/mailman-install/index.html GNU Mailman インストールマニュアル]
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Mailman
に戻る。
検索
検索
Mailmanのソースを表示
話題を追加