<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trileg</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trileg"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Trileg"/>
	<updated>2026-06-09T08:44:25Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6374</id>
		<title>OpenDMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6374"/>
		<updated>2016-11-13T04:59:48Z</updated>

		<summary type="html">&lt;p&gt;Trileg: ArchWikiのスタイルに沿うように，微細な修正をしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:OpenDMARC]]&lt;br /&gt;
Domain-based Message Authentication, Reporting and Conformance (DMARC) はメール転送のポリシーです。一般的なメールプロバイダによってサポートされています。DMARC は [[SPF]] と [[openDKIM|DKIM]] に依存します。DMARC は送信されるメールのポリシーを提供し、受信したメールがポリシーに適合しているか確認します。ポリシーは DNS TXT レコードを使って公開されます。TXT レコードについては[[#レコード|レコード]]セクションで説明しています。ポリシーの検証はデーモンで行います。デーモンの設定については[[#バリデータ|バリデータ]]セクションで説明しています。詳しい情報は [https://datatracker.ietf.org/doc/draft-kucherawy-dmarc-base/ ドラフト] を見てください。&lt;br /&gt;
&lt;br /&gt;
== レコード ==&lt;br /&gt;
レコードは {{ic|&amp;lt;nowiki&amp;gt;v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@example.org;ruf=mailto:forensik@example.org;adkim=s;aspf=r&amp;lt;/nowiki&amp;gt;}} のように、メインドメインの {{ic|_dmarc}} サブドメインとして TXT レコードに入力します。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! タグ名 !! 目的 !! 例&lt;br /&gt;
|-&lt;br /&gt;
|v	|| プロトコルのバージョン || v=DMARC1&lt;br /&gt;
|-&lt;br /&gt;
|pct	|| フィルタリングするメッセージの割合 || pct=20&lt;br /&gt;
|-&lt;br /&gt;
|ruf	|| フォレンジックレポートを報告するための URI || ruf=mailto:authfail@example.com&lt;br /&gt;
|-&lt;br /&gt;
|rua	|| アグリゲートレポートを報告するための URI || rua=mailto:aggrep@example.com&lt;br /&gt;
|-&lt;br /&gt;
|p	|| 組織的ドメインのポリシー || p=quarantine&lt;br /&gt;
|-&lt;br /&gt;
|sp	|| サブドメインのポリシー || sp=reject&lt;br /&gt;
|-&lt;br /&gt;
|adkim	|| DKIM のアライメントモード　|| adkim=s&lt;br /&gt;
|-&lt;br /&gt;
|aspf	|| SPF のアライメントモード || aspf=r&lt;br /&gt;
|-&lt;br /&gt;
|fo     || フォレンジックレポートのオプション || fo=1&lt;br /&gt;
|-&lt;br /&gt;
|rf     || レポートの形式。afrf または iodef。 || rf=afrf&lt;br /&gt;
|-&lt;br /&gt;
|ri     || アグリゲートレポートを報告する間隔。 || ri=86400&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DKIM と SPF のアライメントモードは s (strict) と r (relaxed) が指定できます。後者の場合は From ヘッダにサブドメインを使用することができますが前者では使用できません。ドメインとサブドメインのポリシー (p) には {{ic|monitor}}, {{ic|quarantine}}, {{ic|reject}} が指定できます。フォレンジックレポートのオプションが &amp;quot;0&amp;quot; の場合、全ての認証メカニズムが DMARC を通過しなかった場合にレポートを作成し、&amp;quot;1&amp;quot; の場合はどれかの認証が失敗した場合にレポートを作成し、&amp;quot;d&amp;quot; の場合は DKIM 署名が検証できなかった場合にレポートを作成し、&amp;quot;s&amp;quot; の場合は SPF が失敗した場合にレポートを作成します。&lt;br /&gt;
&lt;br /&gt;
== バリデータ ==&lt;br /&gt;
=== インストール ===&lt;br /&gt;
{{Pkg|opendmarc}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
=== 基本設定 ===&lt;br /&gt;
メインの設定ファイルは {{ic|/etc/opendmarc/opendmarc.conf}} です。&lt;br /&gt;
&lt;br /&gt;
* サンプル設定ファイル {{ic|/etc/opendmarc/opendmarc.conf.sample}} を {{ic|/etc/opendmarc/opendmarc.conf}} にコピーして以下のオプションを変更してください:&lt;br /&gt;
{{hc|/etc/opendmarc/opendmarc.conf|&lt;br /&gt;
Socket                  unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
UMask                   007&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
別のマシンで DMARC バリデータを動作させたい場合、Socket フィールドを {{ic|inet:9999@10.0.0.4}} などに変更する必要があります (IP アドレスは省略すると 0.0.0.0 を使うようになります)。UMaskフィールドの変更は、PostfixからOpenDMARCを使うために必要となります。 {{ic|007}} とすることで、Socketフィールドで指定したUNIXドメインソケットを所有者と所有グループが読み・書き・実行できるようになります。&lt;br /&gt;
&lt;br /&gt;
* 以下の systemd ユニットファイルを作成してください:&lt;br /&gt;
{{hc|/etc/systemd/system/opendmarc.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenDMARC daemon&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=opendmarc&lt;br /&gt;
Group=postfix&lt;br /&gt;
RuntimeDirectory=opendmarc&lt;br /&gt;
ExecStart=/usr/bin/opendmarc -c /etc/opendmarc/opendmarc.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
デーモンを動かすのに root 権限は必要ないため、systemd ユニットファイル内で起動するユーザとグループを適切なものに指定し、権限を落としています。また、{{ic|RuntimeDirectory}} オプションを利用することで、前述した UNIX ドメインソケットの親ディレクトリである {{ic|/run/opendmarc}} が systemd ユニットファイル内で指定したユーザとグループでデーモン起動時に自動的に作成され、デーモン終了時に自動的に削除されるように設定できます。&lt;br /&gt;
&lt;br /&gt;
* {{ic|opendmarc.service}} を起動・有効化してください。詳しくは[[デーモン]]を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== Postfix の統合 ===&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 non_smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
 smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
DMARC の milter は DKIM の milter よりも後に宣言する必要があります。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://dmarcian.com/dmarc-inspector/ DMARC Inspector]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Postfix&amp;diff=6373</id>
		<title>Postfix</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Postfix&amp;diff=6373"/>
		<updated>2016-11-13T04:41:17Z</updated>

		<summary type="html">&lt;p&gt;Trileg: SpamAssassinのマッチパターン自動更新について，.serviceファイルでなく.timerファイルを起動・有効化するように修正しました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:Postfix]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Postfix と SASL}}&lt;br /&gt;
{{Related|Amavis}}&lt;br /&gt;
{{Related|仮想ユーザーメールシステム}}&lt;br /&gt;
{{Related4|Courier MTA}}&lt;br /&gt;
{{Related|Exim}}&lt;br /&gt;
{{Related4|OpenSMTPD}}&lt;br /&gt;
{{Related|OpenDMARC}}&lt;br /&gt;
{{Related|OpenDKIM}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[http://www.postfix.org/ Postfix のサイト] より:&lt;br /&gt;
:&#039;&#039;Postfix は高速で管理しやすくセキュアでありながら、同時に既存のユーザーを使えるように sendmail と互換性を保っています。そのため、外から見ると sendmail のようですが、中身は完全に別物です。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
この記事では Postfix をセットアップする方法と基本的な設定ファイルの説明をします。ローカルのシステムユーザーだけが使える設定の手順と、仮想ユーザーを使う方法のリンクが存在します。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|postfix}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
=== master.cf ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/master.cf}} は利用するプロトコルの種類を指定できるマスター設定ファイルです。また、パイプを設定することでスパムのチェックなどを行うこともできます。&lt;br /&gt;
&lt;br /&gt;
[[#Secure SMTP]] に書かれているように Secure SMTP を有効化することを推奨します。&lt;br /&gt;
&lt;br /&gt;
送受信されるメールの暗号化については [http://www.postfix.org/TLS_README.html このページ] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== main.cf ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/main.cf}} はあらゆることを設定できるメイン設定ファイルです。仮想ローカルのみの配送をする場合、以下の設定を推奨します。&lt;br /&gt;
&lt;br /&gt;
*{{ic|myhostname}} はメールサーバーが複数のドメインを持っている場合に、プライマリドメインをメールホストにしたくないときに設定してください。DNS の A レコードと MX レコードの両方がこのホスト名を指定している必要があります。&lt;br /&gt;
:{{bc|1=myhostname = mail.nospam.net}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|mydomain}} は通常 {{ic|myhostname}} の値から最初の部分を除いた部分になります。ドメインが信頼できないときは、手動で設定してください。&lt;br /&gt;
:{{bc|1=mydomain = nospam.net}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|myorigin}} はメールの送信元になります。通常は {{ic|mydomain}} の値に設定します。単純なサーバーなら、これで十分です。ローカルアカウントからのメール用です。ローカル転送はしないため (送信は除く)、基本的にあまり重要ではありません。&lt;br /&gt;
:{{bc|1=myorigin = $mydomain}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|mydestination}} はローカルユーザーのルックアップです。&lt;br /&gt;
:{{bc|1=mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|mynetworks}} と {{ic|mynetworks_style}} はリレーを制御し、許可するユーザーを指定します。リレーは設定しません。&lt;br /&gt;
:{{ic|mynetwork_style}} は host に設定して、スタンドアロンの Postfix ホストを作成し、ウェブメールを利用できるようにします。リレーは行わず、他の MTA も使いません。ただのウェブメールです。&lt;br /&gt;
:{{bc|1=mynetworks_style = host}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|relaydomains}} は Postfix のリレー先を指定します。デフォルトの値は空です。空のままでかまいません。&lt;br /&gt;
:{{bc|1=relay_domains = }}&lt;br /&gt;
&lt;br /&gt;
*{{ic|home_mailbox}} や {{ic|mail_spool_directory}} はユーザーのメールの保存場所を指定します。&lt;br /&gt;
:設定する場合、{{ic|mail_spool_directory}} にはメールを保存するディレクトリを絶対パスで指定します。デフォルトでは Postfix は {{ic|/var/spool/mail}} にメールを保存します。&lt;br /&gt;
&lt;br /&gt;
:{{bc|1=mail_spool_directory = /home/vmailer}}&lt;br /&gt;
&lt;br /&gt;
:また、{{ic|home_mailbox}} はメールが配達されるメールボックスをユーザーのホームディレクトリからの相対パスで指定します (例: {{ic|/home/vmailer}})。&lt;br /&gt;
&lt;br /&gt;
:Courier-IMAP は &amp;quot;Maildir&amp;quot; フォーマットを必要とするため、以下のように末尾にスラッシュを付ける必要があります:&lt;br /&gt;
:{{bc|1=home_mailbox = Maildir/}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSL/TLS を使用する場合、設定に以下を追加して [http://disablessl3.com/ POODLE] や [https://weakdh.org/sysadmin.html FREAK/Logjam] に正しく対応してください:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtpd_tls_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtp_tls_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA}}&lt;br /&gt;
&lt;br /&gt;
そして [https://weakdh.org/sysadmin.html こちらの手順] に従って [https://www.openssl.org/docs/apps/dhparam.html dhparam ファイル] を生成して、設定に以下を追加してください:&lt;br /&gt;
{{bc|1=smtpd_tls_dh1024_param_file = ${config_directory}/dhparams.pem}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== メッセージとメールボックスの容量制限 ====&lt;br /&gt;
&lt;br /&gt;
Postfix はデフォルトでメッセージとメールボックスの容量を制限します。{{ic|message_size_limit}} にはメッセージの最大容量をバイト数で指定します (デフォルトは 10240000 です)。{{ic|mailbox_size_limit}} はローカルのメールボックスや maildir ファイルの最大容量を決めます (デフォルトは 51200000 で、制限したくない場合は 0 に設定します)。配達時に書き出されるあらゆるファイルの容量を制限します。ローカルの配達エージェントによって実行された外部コマンド (procmail) で書き出されるファイルも含みます。バウンスメッセージの通知が生成される場合、{{ic|/var/spool/mail}} 下のローカルのメールボックスの容量を確認して、postconf を使って容量制限を確認してください:&lt;br /&gt;
&lt;br /&gt;
 # postconf mailbox_size_limit&lt;br /&gt;
 mailbox_size_limit = 51200000&lt;br /&gt;
 # postconf message_size_limit&lt;br /&gt;
 message_size_limit = 10240000&lt;br /&gt;
&lt;br /&gt;
=== エイリアス ===&lt;br /&gt;
&lt;br /&gt;
エイリアス (別名フォワーダー) は {{ic|/etc/postfix/aliases}} で指定できます。&lt;br /&gt;
&lt;br /&gt;
root でメールを読むのはよろしくないので &#039;&#039;root&#039;&#039; に届いたメールは全て他のアカウントにマッピングするべきでしょう。&lt;br /&gt;
&lt;br /&gt;
以下の行をアンコメントして、{{ic|you}} を実際のアカウントに置き換えてください:&lt;br /&gt;
 root: you&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/aliases}} の編集を終えたら {{ic|postalias}} コマンドを実行してください:&lt;br /&gt;
 postalias /etc/postfix/aliases&lt;br /&gt;
後で変更するときは:&lt;br /&gt;
 newaliases&lt;br /&gt;
&lt;br /&gt;
{{Tip|Alternatively you can create the file {{ic|~/.forward}}, e.g. {{ic|/root/.forward}} for root. Specify the user to whom root mail should be forwarded, e.g. &#039;&#039;user@localhost&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{hc|/root/.forward|&lt;br /&gt;
user@localhost&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
=== ローカルメール ===&lt;br /&gt;
&lt;br /&gt;
({{ic|/etc/passwd}} に記述されている) ローカルのシステムユーザーにしかメールを配達しないようにするには、{{ic|/etc/postfix/main.cf}} を以下のように変更してください:&lt;br /&gt;
&lt;br /&gt;
 myhostname = localhost&lt;br /&gt;
 mydomain = localdomain&lt;br /&gt;
 mydestination = $myhostname, localhost.$mydomain, localhost&lt;br /&gt;
 inet_interfaces = $myhostname, localhost&lt;br /&gt;
 mynetworks_style = host&lt;br /&gt;
 default_transport = error: outside mail is not deliverable&lt;br /&gt;
&lt;br /&gt;
他の設定を変更する必要はありません。上記のように設定したら、[[#エイリアス|エイリアス]]を設定して [[#Postfix の起動|Postfix を起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== バーチャルメール ===&lt;br /&gt;
バーチャルメールはユーザーアカウントにマッピングされないメールです ({{ic|/etc/passwd}})。&lt;br /&gt;
&lt;br /&gt;
セットアップする方法は[[仮想ユーザーメールシステム]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== DNS レコード ===&lt;br /&gt;
&lt;br /&gt;
メールホストを MX レコードに設定する必要があります。通常はドメインプロバイダの設定インターフェイスから設定できます。&lt;br /&gt;
&lt;br /&gt;
メール交換レコード (MX レコード) は Domain Name System におけるリソースレコードの一つで、受取人のドメインを代表してメールメッセージを受け取るメールサーバーを指定します。&lt;br /&gt;
&lt;br /&gt;
メールメッセージがインターネットから送られると、メール転送エージェントが Domain Name System から受取人のドメイン名の MX レコードを聞き出します。このクエリに対して、メール交換サーバーのホスト名のリストが返ってきます。次に、エージェントはそれらのサーバーのどれか一つと (設定番号が一番若いサーバーから順番に) SMTP 接続を確立して、接続が出来た最初のサーバーにメールを配送します。&lt;br /&gt;
&lt;br /&gt;
{{Note|Some mail servers will not deliver mail to you if your MX record points to a CNAME. For best results, always point an MX record to an A record definition. For more information, see e.g. [[Wikipedia:List of DNS record types|Wikipedia&#039;s List of DNS Record Types]].}}&lt;br /&gt;
&lt;br /&gt;
=== 設定のチェック ===&lt;br /&gt;
&lt;br /&gt;
{{ic|postfix check}} コマンドを実行してください。設定ファイルで間違っている部分が出力されます。&lt;br /&gt;
&lt;br /&gt;
全ての設定を確認したいときは、{{ic|postconf}} と入力します。デフォルト設定との差異点を確認したいときは、{{ic|postconf -n}} を実行してみてください。&lt;br /&gt;
&lt;br /&gt;
== Postfix の起動 ==&lt;br /&gt;
&lt;br /&gt;
{{Note|[[#エイリアス|エイリアス]]を全く設定していない場合でも Postfix を起動するには最低でも1回は {{ic|newaliases}} を実行する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
{{ic|postfix.service}} を[[systemd#ユニットを使う|起動・有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
== テスト ==&lt;br /&gt;
&lt;br /&gt;
Postfix がテストユーザーにメールを配達できるかどうか確認してみましょう:&lt;br /&gt;
{{bc|&lt;br /&gt;
nc servername 25&lt;br /&gt;
helo testmail.org&lt;br /&gt;
mail from:&amp;lt;test@testmail.org&amp;gt;&lt;br /&gt;
rcpt to:&amp;lt;cactus@virtualdomain.tld&amp;gt;&lt;br /&gt;
data&lt;br /&gt;
This is a test email.&lt;br /&gt;
.&lt;br /&gt;
quit&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== エラーレスポンス ===&lt;br /&gt;
&lt;br /&gt;
 451 4.3.0 &amp;lt;lisi@test.com&amp;gt;:Temporary lookup failure&lt;br /&gt;
MySQL のユーザー名やパスワードが間違っているか、あるいは MySQL のソケットが正しい場所に存在しません。&lt;br /&gt;
&lt;br /&gt;
Postfix を起動する前に newaliases を実行していなかった場合も上記のエラーが発生します。Postfix をローカルのみで使用するのであれば MySQL は不要です。&lt;br /&gt;
&lt;br /&gt;
 550 5.1.1 &amp;lt;email@spam.me&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table.&lt;br /&gt;
{{ic|mysql_virtual_mailboxes.cf}} の中身や {{ic|main.cf}} の {{ic|mydestination}} をチェックしてください。&lt;br /&gt;
&lt;br /&gt;
=== メールを受け取ったことを確認 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|$ find /home/vmailer}} と入力してください。&lt;br /&gt;
&lt;br /&gt;
以下のように表示されるはずです:&lt;br /&gt;
{{bc|&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/tmp&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/cur&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new/1102974226.2704_0.bonk.testmail.org&lt;br /&gt;
}}&lt;br /&gt;
最後のエントリが実際のメールです。これで動作していることが確認できます。&lt;br /&gt;
&lt;br /&gt;
== Tips and tricks ==&lt;br /&gt;
&lt;br /&gt;
=== PostfixAdmin ===&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin を使うには、[[Apache HTTP Server]] に書かれているように Apache/MySQL/PHP のセットアップが必要です。&lt;br /&gt;
&lt;br /&gt;
IMAP を機能させるには、{{Pkg|php-imap}} をインストールして {{ic|/etc/php/php.ini}} の {{ic|imap.so}} をアンコメントしてください。&lt;br /&gt;
&lt;br /&gt;
そして、{{Pkg|postfixadmin}} を[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin の設定ファイルを編集:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$CONF[&#039;configured&#039;] = true;&lt;br /&gt;
// correspond to dovecot maildir path /home/vmail/%d/%u &lt;br /&gt;
$CONF[&#039;domain_path&#039;] = &#039;YES&#039;;&lt;br /&gt;
$CONF[&#039;domain_in_mailbox&#039;] = &#039;NO&#039;;&lt;br /&gt;
$CONF[&#039;database_type&#039;] = &#039;mysql&#039;;&lt;br /&gt;
$CONF[&#039;database_host&#039;] = &#039;localhost&#039;;&lt;br /&gt;
$CONF[&#039;database_user&#039;] = &#039;postfix_user&#039;;&lt;br /&gt;
$CONF[&#039;database_password&#039;] = &#039;hunter2&#039;;&lt;br /&gt;
$CONF[&#039;database_name&#039;] = &#039;postfix_db&#039;;&lt;br /&gt;
&lt;br /&gt;
// globally change all instances of &#039;&#039;change-this-to-your.domain.tld&#039;&#039; &lt;br /&gt;
// to an appropriate value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Dovecot をインストールするときにパスワードの認証方式を変更した場合 (例: SHA512-CRYPT)、Postfix の設定もそれにあわせてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$CONF[&#039;encrypt&#039;] = &#039;dovecot:SHA512-CRYPT&#039;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
As of dovecot 2, dovecotpw has been deprecated.  You will also want to ensure that your config reflects the new binary name.&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$CONF[&#039;dovecotpw&#039;] = &amp;quot;/usr/sbin/doveadm pw&amp;quot;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Apache の設定ファイルを作成:&lt;br /&gt;
{{hc|/etc/httpd/conf/extra/httpd-postfixadmin.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Alias /postfixadmin &amp;quot;/usr/share/webapps/postfixAdmin&amp;quot;&lt;br /&gt;
&amp;lt;Directory &amp;quot;/usr/share/webapps/postfixAdmin&amp;quot;&amp;gt;&lt;br /&gt;
    DirectoryIndex index.html index.php&lt;br /&gt;
    AllowOverride All&lt;br /&gt;
    Options FollowSymlinks&lt;br /&gt;
    Require all granted&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To only allow localhost access to postfixadmin (for heightened security), add this to the previous &amp;lt;Directory&amp;gt; directive:&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
    Allow from 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/httpd/conf/httpd.conf}} から {{ic|httpd-postfixadmin.conf}} をインクルードしてください:&lt;br /&gt;
 # PostfixAdmin configuration&lt;br /&gt;
 Include conf/extra/httpd-postfixadmin.conf&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* If you go to yourdomain/postfixadmin/setup.php and it says do not find config.inc.php, add {{ic|/etc/webapps/postfixadmin}} to the {{ic|open_basedir}} line in {{ic|/etc/php/php.ini}}.&lt;br /&gt;
* If you get a blank page check the syntax of the file with {{ic|php -l /etc/webapps/postfixadmin/config.inc.php}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Secure SMTP ===&lt;br /&gt;
&lt;br /&gt;
詳しくは [http://www.postfix.org/TLS_README.html Postfix TLS Support] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== STARTTLS over SMTP (ポート 587) ====&lt;br /&gt;
&lt;br /&gt;
STARTTLS over SMTP (ポート 587, SMTP をセキュア化するプロトコル) を有効にするには、以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/main.cf|2=&lt;br /&gt;
smtpd_tls_security_level = may&lt;br /&gt;
smtpd_tls_cert_file = &#039;&#039;&#039;/path/to/cert.pem&#039;&#039;&#039;&lt;br /&gt;
smtpd_tls_key_file = &#039;&#039;&#039;/path/to/key.pem&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
また {{ic|master.cf}} から以下の行のコメントを取り外してサービスを有効にしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/master.cf|2=&lt;br /&gt;
submission inet n       -       n       -       -       smtpd&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
古い SMTPS ポートの 465 を使う必要がある場合、次のセクションを読んでください。&lt;br /&gt;
&lt;br /&gt;
==== SMTPS (ポート 465) ====&lt;br /&gt;
&lt;br /&gt;
The deprecated method of securing SMTP is using the &#039;&#039;&#039;wrapper mode&#039;&#039;&#039; which uses the system service &#039;&#039;&#039;smtps&#039;&#039;&#039; as a non-standard service and runs on port 465.&lt;br /&gt;
&lt;br /&gt;
To enable it uncomment the following lines in&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/master.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
smtps     inet  n       -       n       -       -       smtpd&lt;br /&gt;
  -o smtpd_tls_wrappermode=yes&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
And verify that these lines are in {{ic|/etc/services}}:&lt;br /&gt;
 smtps 465/tcp # Secure SMTP&lt;br /&gt;
 smtps 465/udp # Secure SMTP&lt;br /&gt;
&lt;br /&gt;
If they are not there, go ahead and add them (replace the other listing for port 465). Otherwise Postfix will not start and you will get the following error:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;postfix/master[5309]: fatal: 0.0.0.0:smtps: Servname not supported for ai_socktype&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SpamAssassin ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|spamassassin}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mail/spamassassin/local.cf}} を開いて必要に応じて設定して下さい。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin のルールの更新 ====&lt;br /&gt;
&lt;br /&gt;
SpamAssassin のマッチパターンを更新してコンパイル:&lt;br /&gt;
 # sa-update&lt;br /&gt;
 # sa-compile&lt;br /&gt;
&lt;br /&gt;
上記のコマンドを定期的に実行したい場合、[[Systemd/タイマー]]を使用するのが良いでしょう。&lt;br /&gt;
&lt;br /&gt;
以下のサービスを作成してください:&lt;br /&gt;
{{hc|1=/etc/systemd/system/spamassassin-update.service|2=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=spamassassin housekeeping stuff&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=spamd&lt;br /&gt;
Group=spamd&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=-/usr/bin/vendor_perl/sa-update --allowplugins #You can remove the allowplugins options if you do not want direct plugin updates from SA.&lt;br /&gt;
ExecStart=-/usr/bin/vendor_perl/sa-compile&lt;br /&gt;
# You can automatically train SA&#039;s bayes filter by uncommenting this line and specifying the path to a mailbox where you store email that is spam (for ex this could be yours or your users manually reported spam)&lt;br /&gt;
#ExecStart=-/usr/bin/vendor_perl/sa-learn --spam &amp;lt;path to your spam&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして、上記のサービスを毎日実行するタイマーを作成してください:&lt;br /&gt;
{{hc|1=/etc/systemd/system/spamassassin-update.timer|2=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=spamassassin house keeping&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=daily&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
最後に SpamAssassin の systemd サービスを修正して新しいルールを読み込むために再起動するように設定してください。パッケージに含まれているサービスファイルをカスタムサービスファイルにコピー:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
# cp /usr/lib/systemd/system/spamassassin.service /etc/systemd/system&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして新しく作成した {{ic|/etc/systemd/system/spamassassin.service}} に以下を記述してください:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
[Unit]&lt;br /&gt;
PartOf=spamassassin-update.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記の設定でタイマーが起動する前に Spamassassin の spamd が再起動されます。タイマーが毎日起動している場合、次の日にルールが使えるようになります。ルールのコンパイルにはしばらく時間がかかるため、{{ic|sa.service}} が実行している間にサービスが中断することはありません。&lt;br /&gt;
&lt;br /&gt;
タイマーを起動する前に、先ほど {{ic|spamassassin-update.service}} で指定した {{ic|spamd}} ユーザと {{ic|spamd}} グループが SpamAssassin のマッチパターン更新に関係するディレクトリに書き込めるように所有権を変更します:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
# chown -R spamd:spamd /etc/mail/spamassassin/sa-update-keys&lt;br /&gt;
# chown -R spamd:spamd /var/lib/spamassassin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして {{ic|spamassassin-update.timer}} を[[起動]]・[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin のスタンドアロン設定 ====&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to combine SpamAssassin and Dovecot Mail Filtering, ignore the next two lines and continue further down instead.}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/master.cf}} を編集して smtp の下にコンテンツ・フィルタを追加:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
smtp      inet  n       -       n       -       -       smtpd&lt;br /&gt;
  -o content_filter=spamassassin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
以下の SpamAssassin のサービスエントリも追加:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
  flags=R user=spamd argv=/usr/bin/vendor_perl/spamc -e /usr/bin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記の設定をしたら {{ic|spamassassin.service}} を[[起動]]できます。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin と Dovecot LDA / Sieve を組み合わせる (メールフィルタリング) ====&lt;br /&gt;
[[Dovecot#Sieve]] に書かれているように LDA と Sieve-Plugin をセットアップします。ただし最後の行 {{ic|mailbox_command... }} は無視してください。&lt;br /&gt;
&lt;br /&gt;
代わりに {{ic|/etc/postfix/master.cf}} にパイプを追加:&lt;br /&gt;
 dovecot   unix  -       n       n       -       -       pipe&lt;br /&gt;
       flags=DRhu user=vmail:vmail argv=/usr/bin/vendor_perl/spamc -u spamd -e /usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}&lt;br /&gt;
&lt;br /&gt;
そして {{ic|/etc/postfix/main.cf}} で有効化:&lt;br /&gt;
 virtual_transport = dovecot&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin と Dovecot LMTP / Sieve を組み合わせる ====&lt;br /&gt;
[[Dovecot#Sieve]] に書かれているように LMTP と Sieve をセットアップします。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/dovecot/conf.d/90-plugins.conf}} を編集して以下を追加:&lt;br /&gt;
&lt;br /&gt;
 sieve_before = /etc/dovecot/sieve.before.d/&lt;br /&gt;
 sieve_extensions = +vnd.dovecot.filter&lt;br /&gt;
 sieve_plugins = sieve_extprograms&lt;br /&gt;
 sieve_filter_bin_dir = /etc/dovecot/sieve-filter&lt;br /&gt;
 sieve_filter_exec_timeout = 120s #this is often needed for the long running spamassassin scans, default is otherwise 10s&lt;br /&gt;
&lt;br /&gt;
ディレクトリを作成して dovecot が実行できるように spamassassin をバイナリとして配置:&lt;br /&gt;
&lt;br /&gt;
 # mkdir /etc/dovecot/sieve-filter&lt;br /&gt;
 # ln -s /usr/bin/vendor_perl/spamc /etc/dovecot/sieve-filter/spamc&lt;br /&gt;
&lt;br /&gt;
新しいファイル {{ic|/etc/dovecot/sieve.before.d/spamassassin.sieve}} を以下の内容で作成:&lt;br /&gt;
&lt;br /&gt;
 require [ &amp;quot;vnd.dovecot.filter&amp;quot; ];&lt;br /&gt;
 filter &amp;quot;spamc&amp;quot; [ &amp;quot;-d&amp;quot;, &amp;quot;127.0.0.1&amp;quot;, &amp;quot;--no-safe-fallback&amp;quot; ];&lt;br /&gt;
&lt;br /&gt;
sieve ルール {{ic|spamassassin.svbin}} をコンパイル:&lt;br /&gt;
&lt;br /&gt;
 # cd /etc/dovecot/sieve.before.d&lt;br /&gt;
 # sievec spamassassin.sieve&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|dovecot.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin から ClamAV を実行 ====&lt;br /&gt;
&lt;br /&gt;
[[ClamAV]] に書かれているように clamd をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
上記の設定のどれかにしたがってメールシステムから SpamAssassin が呼び出されるようにしてください。&lt;br /&gt;
&lt;br /&gt;
{{pkg|perl-cpanplus-dist-arch}} パッケージを[[インストール]]して、以下のように ClamAV の perl ライブラリをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
 # /usr/bin/vendor_perl/cpanp -i File::Scan::ClamAV&lt;br /&gt;
&lt;br /&gt;
http://wiki.apache.org/spamassassin/ClamAVPlugin から2つのファイルを {{ic|/etc/mail/spamassassin/}} に追加してください。{{ic|/etc/mail/spamassassin/clamav.pm}} を編集して {{ic|$CLAM_SOCK}} で clamd のソケットを指定してください (デフォルトでは {{ic|/var/lib/clamav/clamd.sock}} です)。&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|spamassassin.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== Razor を使う ===&lt;br /&gt;
&lt;br /&gt;
先に SpamAssassin をインストールしてから、{{Pkg|razor}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
Razor の登録:&lt;br /&gt;
&lt;br /&gt;
 # mkdir /etc/mail/spamassassin/razor&lt;br /&gt;
 # chown spamd:spamd /etc/mail/spamassassin/razor&lt;br /&gt;
 # sudo -u spamd -s&lt;br /&gt;
 $ razor-admin -home=/etc/mail/spamassassin/razor -register&lt;br /&gt;
 $ razor-admin -home=/etc/mail/spamassassin/razor -create&lt;br /&gt;
 $ razor-admin -home=/etc/mail/spamassassin/razor -discover&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mail/spamassassin/local.cf}} に以下を追加:&lt;br /&gt;
&lt;br /&gt;
 razor_config /etc/mail/spamassassin/razor/razor-agent.conf&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mail/spamassassin/razor/razor-agent.conf}} に以下を追加:&lt;br /&gt;
&lt;br /&gt;
 razorhome = /etc/mail/spamassassin/razor/&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|spamassassin.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
===送信者の IP とユーザーエージェントを Received ヘッダに載せない===&lt;br /&gt;
[[Thunderbird]] を使ってメールを送信している場合、プライバシーに関する懸念になります。Received ヘッダーには LAN や WAN の IP、使用しているメールクライアントの情報などが書かれています [http://askubuntu.com/questions/78163/when-sending-email-with-postfix-how-can-i-hide-the-senders-ip-and-username-in]。送信するメールから Received ヘッダを削除するには以下の手順に従ってください:&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 smtp_header_checks = regexp:/etc/postfix/smtp_header_checks&lt;br /&gt;
以下の内容で {{ic|/etc/postfix/smtp_header_checks}} を作成してください:&lt;br /&gt;
 /^Received: .*/     IGNORE&lt;br /&gt;
 /^User-Agent: .*/   IGNORE&lt;br /&gt;
最後に {{ic|postfix.service}} を再起動してください。&lt;br /&gt;
&lt;br /&gt;
===ルールベースのメール処理===&lt;br /&gt;
ポリシーサービスを使うことで Postfix のメール処理を簡単に設定できます。{{Pkg|postfwd}} と {{AUR|policyd}} はそのようなポリシーサービスを提供して、[[SPF]] のポリシーチェックに加えて送信者や受信者のグレイリスト・ブラックリストを簡単に作ることができます。&lt;br /&gt;
&lt;br /&gt;
ポリシーサービスはスタンドアロンなサービスであり、以下のようにして Postfix に接続します:&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
smtpd_recipient_restrictions =&lt;br /&gt;
  ...&lt;br /&gt;
  check_policy_service unix:/run/policyd.sock&lt;br /&gt;
  check_policy_service inet:127.0.0.1:10040&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
最後にポリシーサービスを配置することで正当なメールだけでが処理されるようになり、負担が減ります。受信されたメッセージ全てが通るように permit ステートメントよりも前に配置してください。&lt;br /&gt;
&lt;br /&gt;
=== DANE (DNSSEC) ===&lt;br /&gt;
==== リソースレコード ====&lt;br /&gt;
&lt;br /&gt;
{{warning|This is not a trivial section. Be aware that you make sure you know what you are doing. You better read [https://dane.sys4.de/common_mistakes Common Mistakes] before.}}&lt;br /&gt;
&lt;br /&gt;
DANE は複数のタイプのレコードをサポートしていますが、全てが Postfix で使われるわけではありません。&lt;br /&gt;
&lt;br /&gt;
Certificate Usage Field の0はサポートされておらず、1は3にマッピングされていて、2はオプションです。したがって &amp;quot;3&amp;quot; レコードを使用することが推奨されます。詳しくは [[DANE#リソースレコード]]を見てください。&lt;br /&gt;
&lt;br /&gt;
==== 設定 ====&lt;br /&gt;
Opportunistic DANE is configured this way:&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
smtpd_use_tls = yes&lt;br /&gt;
smtp_dns_support_level = dnssec&lt;br /&gt;
smtp_tls_security_level = dane&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{hc|/etc/postfix/master.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
dane       unix  -       -       n       -       -       smtp&lt;br /&gt;
  -o smtp_dns_support_level=dnssec&lt;br /&gt;
  -o smtp_tls_security_level=dane&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To use per-domain policies, e.g. opportunistic DANE for example.org and mandatory DANE for example.com,&lt;br /&gt;
use something like this:&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
indexed = ${default_database_type}:${config_directory}/&lt;br /&gt;
&lt;br /&gt;
# Per-destination TLS policy&lt;br /&gt;
#&lt;br /&gt;
smtp_tls_policy_maps = ${indexed}tls_policy&lt;br /&gt;
&lt;br /&gt;
# default_transport = smtp, but some destinations are special:&lt;br /&gt;
#&lt;br /&gt;
transport_maps = ${indexed}transport&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|transport|&lt;br /&gt;
example.com dane&lt;br /&gt;
example.org dane&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{hc|tls_policy|&lt;br /&gt;
example.com dane-only&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|For global mandatory DANE, change {{ic|smtp_tls_security_level}} to {{ic|dane-only}}. Be aware that this makes postfix tempfail on all delivieres that do not use DANE at all!}}&lt;br /&gt;
&lt;br /&gt;
完全なドキュメントは [http://www.postfix.org/TLS_README.html#client_tls_dane こちら] にあります。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://linox.be/index.php/2005/07/13/44/ Out of Office] for Squirrelmail&lt;br /&gt;
* [https://help.ubuntu.com/community/Postfix Postfix Ubuntu documentation]&lt;br /&gt;
* [http://sherlock.heroku.com/blog/2012/02/03/setting-up-postfix-to-use-gmail-as-an-smtp-relay-host-in-archlinux/ Use Gmail as an SMTP relay]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Postfix&amp;diff=6372</id>
		<title>Postfix</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Postfix&amp;diff=6372"/>
		<updated>2016-11-13T04:36:06Z</updated>

		<summary type="html">&lt;p&gt;Trileg: SpamAssassinのマッチパターン自動更新について，関連するディレクトリをspamdユーザ・グループが書き込めるよう権限変更する記述を追加しました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:Postfix]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Postfix と SASL}}&lt;br /&gt;
{{Related|Amavis}}&lt;br /&gt;
{{Related|仮想ユーザーメールシステム}}&lt;br /&gt;
{{Related4|Courier MTA}}&lt;br /&gt;
{{Related|Exim}}&lt;br /&gt;
{{Related4|OpenSMTPD}}&lt;br /&gt;
{{Related|OpenDMARC}}&lt;br /&gt;
{{Related|OpenDKIM}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[http://www.postfix.org/ Postfix のサイト] より:&lt;br /&gt;
:&#039;&#039;Postfix は高速で管理しやすくセキュアでありながら、同時に既存のユーザーを使えるように sendmail と互換性を保っています。そのため、外から見ると sendmail のようですが、中身は完全に別物です。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
この記事では Postfix をセットアップする方法と基本的な設定ファイルの説明をします。ローカルのシステムユーザーだけが使える設定の手順と、仮想ユーザーを使う方法のリンクが存在します。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|postfix}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
=== master.cf ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/master.cf}} は利用するプロトコルの種類を指定できるマスター設定ファイルです。また、パイプを設定することでスパムのチェックなどを行うこともできます。&lt;br /&gt;
&lt;br /&gt;
[[#Secure SMTP]] に書かれているように Secure SMTP を有効化することを推奨します。&lt;br /&gt;
&lt;br /&gt;
送受信されるメールの暗号化については [http://www.postfix.org/TLS_README.html このページ] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== main.cf ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/main.cf}} はあらゆることを設定できるメイン設定ファイルです。仮想ローカルのみの配送をする場合、以下の設定を推奨します。&lt;br /&gt;
&lt;br /&gt;
*{{ic|myhostname}} はメールサーバーが複数のドメインを持っている場合に、プライマリドメインをメールホストにしたくないときに設定してください。DNS の A レコードと MX レコードの両方がこのホスト名を指定している必要があります。&lt;br /&gt;
:{{bc|1=myhostname = mail.nospam.net}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|mydomain}} は通常 {{ic|myhostname}} の値から最初の部分を除いた部分になります。ドメインが信頼できないときは、手動で設定してください。&lt;br /&gt;
:{{bc|1=mydomain = nospam.net}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|myorigin}} はメールの送信元になります。通常は {{ic|mydomain}} の値に設定します。単純なサーバーなら、これで十分です。ローカルアカウントからのメール用です。ローカル転送はしないため (送信は除く)、基本的にあまり重要ではありません。&lt;br /&gt;
:{{bc|1=myorigin = $mydomain}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|mydestination}} はローカルユーザーのルックアップです。&lt;br /&gt;
:{{bc|1=mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|mynetworks}} と {{ic|mynetworks_style}} はリレーを制御し、許可するユーザーを指定します。リレーは設定しません。&lt;br /&gt;
:{{ic|mynetwork_style}} は host に設定して、スタンドアロンの Postfix ホストを作成し、ウェブメールを利用できるようにします。リレーは行わず、他の MTA も使いません。ただのウェブメールです。&lt;br /&gt;
:{{bc|1=mynetworks_style = host}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|relaydomains}} は Postfix のリレー先を指定します。デフォルトの値は空です。空のままでかまいません。&lt;br /&gt;
:{{bc|1=relay_domains = }}&lt;br /&gt;
&lt;br /&gt;
*{{ic|home_mailbox}} や {{ic|mail_spool_directory}} はユーザーのメールの保存場所を指定します。&lt;br /&gt;
:設定する場合、{{ic|mail_spool_directory}} にはメールを保存するディレクトリを絶対パスで指定します。デフォルトでは Postfix は {{ic|/var/spool/mail}} にメールを保存します。&lt;br /&gt;
&lt;br /&gt;
:{{bc|1=mail_spool_directory = /home/vmailer}}&lt;br /&gt;
&lt;br /&gt;
:また、{{ic|home_mailbox}} はメールが配達されるメールボックスをユーザーのホームディレクトリからの相対パスで指定します (例: {{ic|/home/vmailer}})。&lt;br /&gt;
&lt;br /&gt;
:Courier-IMAP は &amp;quot;Maildir&amp;quot; フォーマットを必要とするため、以下のように末尾にスラッシュを付ける必要があります:&lt;br /&gt;
:{{bc|1=home_mailbox = Maildir/}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSL/TLS を使用する場合、設定に以下を追加して [http://disablessl3.com/ POODLE] や [https://weakdh.org/sysadmin.html FREAK/Logjam] に正しく対応してください:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtpd_tls_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtp_tls_protocols=!SSLv2,!SSLv3&lt;br /&gt;
smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA}}&lt;br /&gt;
&lt;br /&gt;
そして [https://weakdh.org/sysadmin.html こちらの手順] に従って [https://www.openssl.org/docs/apps/dhparam.html dhparam ファイル] を生成して、設定に以下を追加してください:&lt;br /&gt;
{{bc|1=smtpd_tls_dh1024_param_file = ${config_directory}/dhparams.pem}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== メッセージとメールボックスの容量制限 ====&lt;br /&gt;
&lt;br /&gt;
Postfix はデフォルトでメッセージとメールボックスの容量を制限します。{{ic|message_size_limit}} にはメッセージの最大容量をバイト数で指定します (デフォルトは 10240000 です)。{{ic|mailbox_size_limit}} はローカルのメールボックスや maildir ファイルの最大容量を決めます (デフォルトは 51200000 で、制限したくない場合は 0 に設定します)。配達時に書き出されるあらゆるファイルの容量を制限します。ローカルの配達エージェントによって実行された外部コマンド (procmail) で書き出されるファイルも含みます。バウンスメッセージの通知が生成される場合、{{ic|/var/spool/mail}} 下のローカルのメールボックスの容量を確認して、postconf を使って容量制限を確認してください:&lt;br /&gt;
&lt;br /&gt;
 # postconf mailbox_size_limit&lt;br /&gt;
 mailbox_size_limit = 51200000&lt;br /&gt;
 # postconf message_size_limit&lt;br /&gt;
 message_size_limit = 10240000&lt;br /&gt;
&lt;br /&gt;
=== エイリアス ===&lt;br /&gt;
&lt;br /&gt;
エイリアス (別名フォワーダー) は {{ic|/etc/postfix/aliases}} で指定できます。&lt;br /&gt;
&lt;br /&gt;
root でメールを読むのはよろしくないので &#039;&#039;root&#039;&#039; に届いたメールは全て他のアカウントにマッピングするべきでしょう。&lt;br /&gt;
&lt;br /&gt;
以下の行をアンコメントして、{{ic|you}} を実際のアカウントに置き換えてください:&lt;br /&gt;
 root: you&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/aliases}} の編集を終えたら {{ic|postalias}} コマンドを実行してください:&lt;br /&gt;
 postalias /etc/postfix/aliases&lt;br /&gt;
後で変更するときは:&lt;br /&gt;
 newaliases&lt;br /&gt;
&lt;br /&gt;
{{Tip|Alternatively you can create the file {{ic|~/.forward}}, e.g. {{ic|/root/.forward}} for root. Specify the user to whom root mail should be forwarded, e.g. &#039;&#039;user@localhost&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{hc|/root/.forward|&lt;br /&gt;
user@localhost&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
=== ローカルメール ===&lt;br /&gt;
&lt;br /&gt;
({{ic|/etc/passwd}} に記述されている) ローカルのシステムユーザーにしかメールを配達しないようにするには、{{ic|/etc/postfix/main.cf}} を以下のように変更してください:&lt;br /&gt;
&lt;br /&gt;
 myhostname = localhost&lt;br /&gt;
 mydomain = localdomain&lt;br /&gt;
 mydestination = $myhostname, localhost.$mydomain, localhost&lt;br /&gt;
 inet_interfaces = $myhostname, localhost&lt;br /&gt;
 mynetworks_style = host&lt;br /&gt;
 default_transport = error: outside mail is not deliverable&lt;br /&gt;
&lt;br /&gt;
他の設定を変更する必要はありません。上記のように設定したら、[[#エイリアス|エイリアス]]を設定して [[#Postfix の起動|Postfix を起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== バーチャルメール ===&lt;br /&gt;
バーチャルメールはユーザーアカウントにマッピングされないメールです ({{ic|/etc/passwd}})。&lt;br /&gt;
&lt;br /&gt;
セットアップする方法は[[仮想ユーザーメールシステム]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== DNS レコード ===&lt;br /&gt;
&lt;br /&gt;
メールホストを MX レコードに設定する必要があります。通常はドメインプロバイダの設定インターフェイスから設定できます。&lt;br /&gt;
&lt;br /&gt;
メール交換レコード (MX レコード) は Domain Name System におけるリソースレコードの一つで、受取人のドメインを代表してメールメッセージを受け取るメールサーバーを指定します。&lt;br /&gt;
&lt;br /&gt;
メールメッセージがインターネットから送られると、メール転送エージェントが Domain Name System から受取人のドメイン名の MX レコードを聞き出します。このクエリに対して、メール交換サーバーのホスト名のリストが返ってきます。次に、エージェントはそれらのサーバーのどれか一つと (設定番号が一番若いサーバーから順番に) SMTP 接続を確立して、接続が出来た最初のサーバーにメールを配送します。&lt;br /&gt;
&lt;br /&gt;
{{Note|Some mail servers will not deliver mail to you if your MX record points to a CNAME. For best results, always point an MX record to an A record definition. For more information, see e.g. [[Wikipedia:List of DNS record types|Wikipedia&#039;s List of DNS Record Types]].}}&lt;br /&gt;
&lt;br /&gt;
=== 設定のチェック ===&lt;br /&gt;
&lt;br /&gt;
{{ic|postfix check}} コマンドを実行してください。設定ファイルで間違っている部分が出力されます。&lt;br /&gt;
&lt;br /&gt;
全ての設定を確認したいときは、{{ic|postconf}} と入力します。デフォルト設定との差異点を確認したいときは、{{ic|postconf -n}} を実行してみてください。&lt;br /&gt;
&lt;br /&gt;
== Postfix の起動 ==&lt;br /&gt;
&lt;br /&gt;
{{Note|[[#エイリアス|エイリアス]]を全く設定していない場合でも Postfix を起動するには最低でも1回は {{ic|newaliases}} を実行する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
{{ic|postfix.service}} を[[systemd#ユニットを使う|起動・有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
== テスト ==&lt;br /&gt;
&lt;br /&gt;
Postfix がテストユーザーにメールを配達できるかどうか確認してみましょう:&lt;br /&gt;
{{bc|&lt;br /&gt;
nc servername 25&lt;br /&gt;
helo testmail.org&lt;br /&gt;
mail from:&amp;lt;test@testmail.org&amp;gt;&lt;br /&gt;
rcpt to:&amp;lt;cactus@virtualdomain.tld&amp;gt;&lt;br /&gt;
data&lt;br /&gt;
This is a test email.&lt;br /&gt;
.&lt;br /&gt;
quit&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== エラーレスポンス ===&lt;br /&gt;
&lt;br /&gt;
 451 4.3.0 &amp;lt;lisi@test.com&amp;gt;:Temporary lookup failure&lt;br /&gt;
MySQL のユーザー名やパスワードが間違っているか、あるいは MySQL のソケットが正しい場所に存在しません。&lt;br /&gt;
&lt;br /&gt;
Postfix を起動する前に newaliases を実行していなかった場合も上記のエラーが発生します。Postfix をローカルのみで使用するのであれば MySQL は不要です。&lt;br /&gt;
&lt;br /&gt;
 550 5.1.1 &amp;lt;email@spam.me&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table.&lt;br /&gt;
{{ic|mysql_virtual_mailboxes.cf}} の中身や {{ic|main.cf}} の {{ic|mydestination}} をチェックしてください。&lt;br /&gt;
&lt;br /&gt;
=== メールを受け取ったことを確認 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|$ find /home/vmailer}} と入力してください。&lt;br /&gt;
&lt;br /&gt;
以下のように表示されるはずです:&lt;br /&gt;
{{bc|&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/tmp&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/cur&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new&lt;br /&gt;
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new/1102974226.2704_0.bonk.testmail.org&lt;br /&gt;
}}&lt;br /&gt;
最後のエントリが実際のメールです。これで動作していることが確認できます。&lt;br /&gt;
&lt;br /&gt;
== Tips and tricks ==&lt;br /&gt;
&lt;br /&gt;
=== PostfixAdmin ===&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin を使うには、[[Apache HTTP Server]] に書かれているように Apache/MySQL/PHP のセットアップが必要です。&lt;br /&gt;
&lt;br /&gt;
IMAP を機能させるには、{{Pkg|php-imap}} をインストールして {{ic|/etc/php/php.ini}} の {{ic|imap.so}} をアンコメントしてください。&lt;br /&gt;
&lt;br /&gt;
そして、{{Pkg|postfixadmin}} を[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin の設定ファイルを編集:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$CONF[&#039;configured&#039;] = true;&lt;br /&gt;
// correspond to dovecot maildir path /home/vmail/%d/%u &lt;br /&gt;
$CONF[&#039;domain_path&#039;] = &#039;YES&#039;;&lt;br /&gt;
$CONF[&#039;domain_in_mailbox&#039;] = &#039;NO&#039;;&lt;br /&gt;
$CONF[&#039;database_type&#039;] = &#039;mysql&#039;;&lt;br /&gt;
$CONF[&#039;database_host&#039;] = &#039;localhost&#039;;&lt;br /&gt;
$CONF[&#039;database_user&#039;] = &#039;postfix_user&#039;;&lt;br /&gt;
$CONF[&#039;database_password&#039;] = &#039;hunter2&#039;;&lt;br /&gt;
$CONF[&#039;database_name&#039;] = &#039;postfix_db&#039;;&lt;br /&gt;
&lt;br /&gt;
// globally change all instances of &#039;&#039;change-this-to-your.domain.tld&#039;&#039; &lt;br /&gt;
// to an appropriate value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Dovecot をインストールするときにパスワードの認証方式を変更した場合 (例: SHA512-CRYPT)、Postfix の設定もそれにあわせてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$CONF[&#039;encrypt&#039;] = &#039;dovecot:SHA512-CRYPT&#039;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
As of dovecot 2, dovecotpw has been deprecated.  You will also want to ensure that your config reflects the new binary name.&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$CONF[&#039;dovecotpw&#039;] = &amp;quot;/usr/sbin/doveadm pw&amp;quot;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Apache の設定ファイルを作成:&lt;br /&gt;
{{hc|/etc/httpd/conf/extra/httpd-postfixadmin.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Alias /postfixadmin &amp;quot;/usr/share/webapps/postfixAdmin&amp;quot;&lt;br /&gt;
&amp;lt;Directory &amp;quot;/usr/share/webapps/postfixAdmin&amp;quot;&amp;gt;&lt;br /&gt;
    DirectoryIndex index.html index.php&lt;br /&gt;
    AllowOverride All&lt;br /&gt;
    Options FollowSymlinks&lt;br /&gt;
    Require all granted&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To only allow localhost access to postfixadmin (for heightened security), add this to the previous &amp;lt;Directory&amp;gt; directive:&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
    Allow from 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/httpd/conf/httpd.conf}} から {{ic|httpd-postfixadmin.conf}} をインクルードしてください:&lt;br /&gt;
 # PostfixAdmin configuration&lt;br /&gt;
 Include conf/extra/httpd-postfixadmin.conf&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* If you go to yourdomain/postfixadmin/setup.php and it says do not find config.inc.php, add {{ic|/etc/webapps/postfixadmin}} to the {{ic|open_basedir}} line in {{ic|/etc/php/php.ini}}.&lt;br /&gt;
* If you get a blank page check the syntax of the file with {{ic|php -l /etc/webapps/postfixadmin/config.inc.php}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Secure SMTP ===&lt;br /&gt;
&lt;br /&gt;
詳しくは [http://www.postfix.org/TLS_README.html Postfix TLS Support] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== STARTTLS over SMTP (ポート 587) ====&lt;br /&gt;
&lt;br /&gt;
STARTTLS over SMTP (ポート 587, SMTP をセキュア化するプロトコル) を有効にするには、以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/main.cf|2=&lt;br /&gt;
smtpd_tls_security_level = may&lt;br /&gt;
smtpd_tls_cert_file = &#039;&#039;&#039;/path/to/cert.pem&#039;&#039;&#039;&lt;br /&gt;
smtpd_tls_key_file = &#039;&#039;&#039;/path/to/key.pem&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
また {{ic|master.cf}} から以下の行のコメントを取り外してサービスを有効にしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/master.cf|2=&lt;br /&gt;
submission inet n       -       n       -       -       smtpd&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
古い SMTPS ポートの 465 を使う必要がある場合、次のセクションを読んでください。&lt;br /&gt;
&lt;br /&gt;
==== SMTPS (ポート 465) ====&lt;br /&gt;
&lt;br /&gt;
The deprecated method of securing SMTP is using the &#039;&#039;&#039;wrapper mode&#039;&#039;&#039; which uses the system service &#039;&#039;&#039;smtps&#039;&#039;&#039; as a non-standard service and runs on port 465.&lt;br /&gt;
&lt;br /&gt;
To enable it uncomment the following lines in&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/master.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
smtps     inet  n       -       n       -       -       smtpd&lt;br /&gt;
  -o smtpd_tls_wrappermode=yes&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
And verify that these lines are in {{ic|/etc/services}}:&lt;br /&gt;
 smtps 465/tcp # Secure SMTP&lt;br /&gt;
 smtps 465/udp # Secure SMTP&lt;br /&gt;
&lt;br /&gt;
If they are not there, go ahead and add them (replace the other listing for port 465). Otherwise Postfix will not start and you will get the following error:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;postfix/master[5309]: fatal: 0.0.0.0:smtps: Servname not supported for ai_socktype&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SpamAssassin ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|spamassassin}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mail/spamassassin/local.cf}} を開いて必要に応じて設定して下さい。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin のルールの更新 ====&lt;br /&gt;
&lt;br /&gt;
SpamAssassin のマッチパターンを更新してコンパイル:&lt;br /&gt;
 # sa-update&lt;br /&gt;
 # sa-compile&lt;br /&gt;
&lt;br /&gt;
上記のコマンドを定期的に実行したい場合、[[Systemd/タイマー]]を使用するのが良いでしょう。&lt;br /&gt;
&lt;br /&gt;
以下のサービスを作成してください:&lt;br /&gt;
{{hc|1=/etc/systemd/system/spamassassin-update.service|2=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=spamassassin housekeeping stuff&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=spamd&lt;br /&gt;
Group=spamd&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=-/usr/bin/vendor_perl/sa-update --allowplugins #You can remove the allowplugins options if you do not want direct plugin updates from SA.&lt;br /&gt;
ExecStart=-/usr/bin/vendor_perl/sa-compile&lt;br /&gt;
# You can automatically train SA&#039;s bayes filter by uncommenting this line and specifying the path to a mailbox where you store email that is spam (for ex this could be yours or your users manually reported spam)&lt;br /&gt;
#ExecStart=-/usr/bin/vendor_perl/sa-learn --spam &amp;lt;path to your spam&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして、上記のサービスを毎日実行するタイマーを作成してください:&lt;br /&gt;
{{hc|1=/etc/systemd/system/spamassassin-update.timer|2=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=spamassassin house keeping&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=daily&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
最後に SpamAssassin の systemd サービスを修正して新しいルールを読み込むために再起動するように設定してください。パッケージに含まれているサービスファイルをカスタムサービスファイルにコピー:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
# cp /usr/lib/systemd/system/spamassassin.service /etc/systemd/system&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして新しく作成した {{ic|/etc/systemd/system/spamassassin.service}} に以下を記述してください:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
[Unit]&lt;br /&gt;
PartOf=spamassassin-update.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記の設定でタイマーが起動する前に Spamassassin の spamd が再起動されます。タイマーが毎日起動している場合、次の日にルールが使えるようになります。ルールのコンパイルにはしばらく時間がかかるため、{{ic|sa.service}} が実行している間にサービスが中断することはありません。&lt;br /&gt;
&lt;br /&gt;
タイマーを起動する前に、先ほど {{ic|spamassassin-update.service}} で指定した {{ic|spamd}} ユーザと {{ic|spamd}} グループが SpamAssassin のマッチパターン更新に関係するディレクトリに書き込めるように所有権を変更します:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
# chown -R spamd:spamd /etc/mail/spamassassin/sa-update-keys&lt;br /&gt;
# chown -R spamd:spamd /var/lib/spamassassin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして {{ic|spamassassin-update.service}} を[[起動]]・[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin のスタンドアロン設定 ====&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to combine SpamAssassin and Dovecot Mail Filtering, ignore the next two lines and continue further down instead.}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/master.cf}} を編集して smtp の下にコンテンツ・フィルタを追加:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
smtp      inet  n       -       n       -       -       smtpd&lt;br /&gt;
  -o content_filter=spamassassin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
以下の SpamAssassin のサービスエントリも追加:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
  flags=R user=spamd argv=/usr/bin/vendor_perl/spamc -e /usr/bin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記の設定をしたら {{ic|spamassassin.service}} を[[起動]]できます。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin と Dovecot LDA / Sieve を組み合わせる (メールフィルタリング) ====&lt;br /&gt;
[[Dovecot#Sieve]] に書かれているように LDA と Sieve-Plugin をセットアップします。ただし最後の行 {{ic|mailbox_command... }} は無視してください。&lt;br /&gt;
&lt;br /&gt;
代わりに {{ic|/etc/postfix/master.cf}} にパイプを追加:&lt;br /&gt;
 dovecot   unix  -       n       n       -       -       pipe&lt;br /&gt;
       flags=DRhu user=vmail:vmail argv=/usr/bin/vendor_perl/spamc -u spamd -e /usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}&lt;br /&gt;
&lt;br /&gt;
そして {{ic|/etc/postfix/main.cf}} で有効化:&lt;br /&gt;
 virtual_transport = dovecot&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin と Dovecot LMTP / Sieve を組み合わせる ====&lt;br /&gt;
[[Dovecot#Sieve]] に書かれているように LMTP と Sieve をセットアップします。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/dovecot/conf.d/90-plugins.conf}} を編集して以下を追加:&lt;br /&gt;
&lt;br /&gt;
 sieve_before = /etc/dovecot/sieve.before.d/&lt;br /&gt;
 sieve_extensions = +vnd.dovecot.filter&lt;br /&gt;
 sieve_plugins = sieve_extprograms&lt;br /&gt;
 sieve_filter_bin_dir = /etc/dovecot/sieve-filter&lt;br /&gt;
 sieve_filter_exec_timeout = 120s #this is often needed for the long running spamassassin scans, default is otherwise 10s&lt;br /&gt;
&lt;br /&gt;
ディレクトリを作成して dovecot が実行できるように spamassassin をバイナリとして配置:&lt;br /&gt;
&lt;br /&gt;
 # mkdir /etc/dovecot/sieve-filter&lt;br /&gt;
 # ln -s /usr/bin/vendor_perl/spamc /etc/dovecot/sieve-filter/spamc&lt;br /&gt;
&lt;br /&gt;
新しいファイル {{ic|/etc/dovecot/sieve.before.d/spamassassin.sieve}} を以下の内容で作成:&lt;br /&gt;
&lt;br /&gt;
 require [ &amp;quot;vnd.dovecot.filter&amp;quot; ];&lt;br /&gt;
 filter &amp;quot;spamc&amp;quot; [ &amp;quot;-d&amp;quot;, &amp;quot;127.0.0.1&amp;quot;, &amp;quot;--no-safe-fallback&amp;quot; ];&lt;br /&gt;
&lt;br /&gt;
sieve ルール {{ic|spamassassin.svbin}} をコンパイル:&lt;br /&gt;
&lt;br /&gt;
 # cd /etc/dovecot/sieve.before.d&lt;br /&gt;
 # sievec spamassassin.sieve&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|dovecot.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
==== SpamAssassin から ClamAV を実行 ====&lt;br /&gt;
&lt;br /&gt;
[[ClamAV]] に書かれているように clamd をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
上記の設定のどれかにしたがってメールシステムから SpamAssassin が呼び出されるようにしてください。&lt;br /&gt;
&lt;br /&gt;
{{pkg|perl-cpanplus-dist-arch}} パッケージを[[インストール]]して、以下のように ClamAV の perl ライブラリをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
 # /usr/bin/vendor_perl/cpanp -i File::Scan::ClamAV&lt;br /&gt;
&lt;br /&gt;
http://wiki.apache.org/spamassassin/ClamAVPlugin から2つのファイルを {{ic|/etc/mail/spamassassin/}} に追加してください。{{ic|/etc/mail/spamassassin/clamav.pm}} を編集して {{ic|$CLAM_SOCK}} で clamd のソケットを指定してください (デフォルトでは {{ic|/var/lib/clamav/clamd.sock}} です)。&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|spamassassin.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== Razor を使う ===&lt;br /&gt;
&lt;br /&gt;
先に SpamAssassin をインストールしてから、{{Pkg|razor}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
Razor の登録:&lt;br /&gt;
&lt;br /&gt;
 # mkdir /etc/mail/spamassassin/razor&lt;br /&gt;
 # chown spamd:spamd /etc/mail/spamassassin/razor&lt;br /&gt;
 # sudo -u spamd -s&lt;br /&gt;
 $ razor-admin -home=/etc/mail/spamassassin/razor -register&lt;br /&gt;
 $ razor-admin -home=/etc/mail/spamassassin/razor -create&lt;br /&gt;
 $ razor-admin -home=/etc/mail/spamassassin/razor -discover&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mail/spamassassin/local.cf}} に以下を追加:&lt;br /&gt;
&lt;br /&gt;
 razor_config /etc/mail/spamassassin/razor/razor-agent.conf&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mail/spamassassin/razor/razor-agent.conf}} に以下を追加:&lt;br /&gt;
&lt;br /&gt;
 razorhome = /etc/mail/spamassassin/razor/&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|spamassassin.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
===送信者の IP とユーザーエージェントを Received ヘッダに載せない===&lt;br /&gt;
[[Thunderbird]] を使ってメールを送信している場合、プライバシーに関する懸念になります。Received ヘッダーには LAN や WAN の IP、使用しているメールクライアントの情報などが書かれています [http://askubuntu.com/questions/78163/when-sending-email-with-postfix-how-can-i-hide-the-senders-ip-and-username-in]。送信するメールから Received ヘッダを削除するには以下の手順に従ってください:&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 smtp_header_checks = regexp:/etc/postfix/smtp_header_checks&lt;br /&gt;
以下の内容で {{ic|/etc/postfix/smtp_header_checks}} を作成してください:&lt;br /&gt;
 /^Received: .*/     IGNORE&lt;br /&gt;
 /^User-Agent: .*/   IGNORE&lt;br /&gt;
最後に {{ic|postfix.service}} を再起動してください。&lt;br /&gt;
&lt;br /&gt;
===ルールベースのメール処理===&lt;br /&gt;
ポリシーサービスを使うことで Postfix のメール処理を簡単に設定できます。{{Pkg|postfwd}} と {{AUR|policyd}} はそのようなポリシーサービスを提供して、[[SPF]] のポリシーチェックに加えて送信者や受信者のグレイリスト・ブラックリストを簡単に作ることができます。&lt;br /&gt;
&lt;br /&gt;
ポリシーサービスはスタンドアロンなサービスであり、以下のようにして Postfix に接続します:&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
smtpd_recipient_restrictions =&lt;br /&gt;
  ...&lt;br /&gt;
  check_policy_service unix:/run/policyd.sock&lt;br /&gt;
  check_policy_service inet:127.0.0.1:10040&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
最後にポリシーサービスを配置することで正当なメールだけでが処理されるようになり、負担が減ります。受信されたメッセージ全てが通るように permit ステートメントよりも前に配置してください。&lt;br /&gt;
&lt;br /&gt;
=== DANE (DNSSEC) ===&lt;br /&gt;
==== リソースレコード ====&lt;br /&gt;
&lt;br /&gt;
{{warning|This is not a trivial section. Be aware that you make sure you know what you are doing. You better read [https://dane.sys4.de/common_mistakes Common Mistakes] before.}}&lt;br /&gt;
&lt;br /&gt;
DANE は複数のタイプのレコードをサポートしていますが、全てが Postfix で使われるわけではありません。&lt;br /&gt;
&lt;br /&gt;
Certificate Usage Field の0はサポートされておらず、1は3にマッピングされていて、2はオプションです。したがって &amp;quot;3&amp;quot; レコードを使用することが推奨されます。詳しくは [[DANE#リソースレコード]]を見てください。&lt;br /&gt;
&lt;br /&gt;
==== 設定 ====&lt;br /&gt;
Opportunistic DANE is configured this way:&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
smtpd_use_tls = yes&lt;br /&gt;
smtp_dns_support_level = dnssec&lt;br /&gt;
smtp_tls_security_level = dane&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{hc|/etc/postfix/master.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
dane       unix  -       -       n       -       -       smtp&lt;br /&gt;
  -o smtp_dns_support_level=dnssec&lt;br /&gt;
  -o smtp_tls_security_level=dane&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To use per-domain policies, e.g. opportunistic DANE for example.org and mandatory DANE for example.com,&lt;br /&gt;
use something like this:&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
indexed = ${default_database_type}:${config_directory}/&lt;br /&gt;
&lt;br /&gt;
# Per-destination TLS policy&lt;br /&gt;
#&lt;br /&gt;
smtp_tls_policy_maps = ${indexed}tls_policy&lt;br /&gt;
&lt;br /&gt;
# default_transport = smtp, but some destinations are special:&lt;br /&gt;
#&lt;br /&gt;
transport_maps = ${indexed}transport&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|transport|&lt;br /&gt;
example.com dane&lt;br /&gt;
example.org dane&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{hc|tls_policy|&lt;br /&gt;
example.com dane-only&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|For global mandatory DANE, change {{ic|smtp_tls_security_level}} to {{ic|dane-only}}. Be aware that this makes postfix tempfail on all delivieres that do not use DANE at all!}}&lt;br /&gt;
&lt;br /&gt;
完全なドキュメントは [http://www.postfix.org/TLS_README.html#client_tls_dane こちら] にあります。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://linox.be/index.php/2005/07/13/44/ Out of Office] for Squirrelmail&lt;br /&gt;
* [https://help.ubuntu.com/community/Postfix Postfix Ubuntu documentation]&lt;br /&gt;
* [http://sherlock.heroku.com/blog/2012/02/03/setting-up-postfix-to-use-gmail-as-an-smtp-relay-host-in-archlinux/ Use Gmail as an SMTP relay]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6371</id>
		<title>OpenDMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6371"/>
		<updated>2016-11-13T03:13:23Z</updated>

		<summary type="html">&lt;p&gt;Trileg: systemdユニットファイルにRuntimeDirectoryを追加し，これの利用にユーザとグループを指定しないとソケット作成時に権限エラーが発生するため，セキュリティの内容を統合しました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:OpenDMARC]]&lt;br /&gt;
Domain-based Message Authentication, Reporting and Conformance (DMARC) はメール転送のポリシーです。一般的なメールプロバイダによってサポートされています。DMARC は [[SPF]] と [[openDKIM|DKIM]] に依存します。DMARC は送信されるメールのポリシーを提供し、受信したメールがポリシーに適合しているか確認します。ポリシーは DNS TXT レコードを使って公開されます。TXT レコードについては[[#レコード|レコード]]セクションで説明しています。ポリシーの検証はデーモンで行います。デーモンの設定については[[#バリデータ|バリデータ]]セクションで説明しています。詳しい情報は [https://datatracker.ietf.org/doc/draft-kucherawy-dmarc-base/ ドラフト] を見てください。&lt;br /&gt;
&lt;br /&gt;
== レコード ==&lt;br /&gt;
レコードは {{ic|&amp;lt;nowiki&amp;gt;v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@example.org;ruf=mailto:forensik@example.org;adkim=s;aspf=r&amp;lt;/nowiki&amp;gt;}} のように、メインドメインの {{ic|_dmarc}} サブドメインとして TXT レコードに入力します。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! タグ名 !! 目的 !! 例&lt;br /&gt;
|-&lt;br /&gt;
|v	|| プロトコルのバージョン || v=DMARC1&lt;br /&gt;
|-&lt;br /&gt;
|pct	|| フィルタリングするメッセージの割合 || pct=20&lt;br /&gt;
|-&lt;br /&gt;
|ruf	|| フォレンジックレポートを報告するための URI || ruf=mailto:authfail@example.com&lt;br /&gt;
|-&lt;br /&gt;
|rua	|| アグリゲートレポートを報告するための URI || rua=mailto:aggrep@example.com&lt;br /&gt;
|-&lt;br /&gt;
|p	|| 組織的ドメインのポリシー || p=quarantine&lt;br /&gt;
|-&lt;br /&gt;
|sp	|| サブドメインのポリシー || sp=reject&lt;br /&gt;
|-&lt;br /&gt;
|adkim	|| DKIM のアライメントモード　|| adkim=s&lt;br /&gt;
|-&lt;br /&gt;
|aspf	|| SPF のアライメントモード || aspf=r&lt;br /&gt;
|-&lt;br /&gt;
|fo     || フォレンジックレポートのオプション || fo=1&lt;br /&gt;
|-&lt;br /&gt;
|rf     || レポートの形式。afrf または iodef。 || rf=afrf&lt;br /&gt;
|-&lt;br /&gt;
|ri     || アグリゲートレポートを報告する間隔。 || ri=86400&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DKIM と SPF のアライメントモードは s (strict) と r (relaxed) が指定できます。後者の場合は From ヘッダにサブドメインを使用することができますが前者では使用できません。ドメインとサブドメインのポリシー (p) には {{ic|monitor}}, {{ic|quarantine}}, {{ic|reject}} が指定できます。フォレンジックレポートのオプションが &amp;quot;0&amp;quot; の場合、全ての認証メカニズムが DMARC を通過しなかった場合にレポートを作成し、&amp;quot;1&amp;quot; の場合はどれかの認証が失敗した場合にレポートを作成し、&amp;quot;d&amp;quot; の場合は DKIM 署名が検証できなかった場合にレポートを作成し、&amp;quot;s&amp;quot; の場合は SPF が失敗した場合にレポートを作成します。&lt;br /&gt;
&lt;br /&gt;
== バリデータ ==&lt;br /&gt;
=== インストール ===&lt;br /&gt;
{{Pkg|opendmarc}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
=== 基本設定 ===&lt;br /&gt;
メインの設定ファイルは {{ic|/etc/opendmarc/opendmarc.conf}} です。&lt;br /&gt;
&lt;br /&gt;
* サンプル設定ファイル {{ic|/etc/opendmarc/opendmarc.conf.sample}} を {{ic|/etc/opendmarc/opendmarc.conf}} にコピーして以下のオプションを変更してください:&lt;br /&gt;
{{hc|/etc/opendmarc/opendmarc.conf|&lt;br /&gt;
Socket                  unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
UMask                   007&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
別のマシンで DMARC バリデータを動作させたい場合、Socket フィールドを {{ic|inet:9999@10.0.0.4}} などに変更する必要があります (IP アドレスは省略すると 0.0.0.0 を使うようになります)。UMaskフィールドの変更は、PostfixからOpenDMARCを使うために必要となります。 {{ic|007}} とすることで、Socketフィールドで指定したUNIXドメインソケットを所有者と所有グループが読み・書き・実行できるようになります。&lt;br /&gt;
&lt;br /&gt;
* 以下の systemd ユニットファイルを作成してください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/opendmarc.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenDMARC daemon&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=opendmarc&lt;br /&gt;
Group=postfix&lt;br /&gt;
RuntimeDirectory=opendmarc&lt;br /&gt;
ExecStart=/usr/bin/opendmarc -c /etc/opendmarc/opendmarc.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
デーモンを動かすのに root 権限は必要ないため、systemd ユニットファイル内で起動するユーザとグループを適切なものに指定し、権限を落としています。また、{{ic|RuntimeDirectory}} オプションを利用することで、前述した UNIX ドメインソケットの親ディレクトリである {{ic|/run/opendmarc}} が systemd ユニットファイル内で指定したユーザとグループでデーモン起動時に自動的に作成され、デーモン終了時に自動的に削除されるように設定できます。&lt;br /&gt;
&lt;br /&gt;
* {{ic|opendmarc.service}} を起動・有効化してください。詳しくは[[デーモン]]を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== Postfix の統合 ===&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 non_smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
 smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
DMARC の milter は DKIM の milter よりも後に宣言する必要があります。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://dmarcian.com/dmarc-inspector/ DMARC Inspector]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6370</id>
		<title>OpenDMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6370"/>
		<updated>2016-11-13T03:02:27Z</updated>

		<summary type="html">&lt;p&gt;Trileg: 要約執筆中に誤ってページを保存してしまったため，取り消します．&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:OpenDMARC]]&lt;br /&gt;
Domain-based Message Authentication, Reporting and Conformance (DMARC) はメール転送のポリシーです。一般的なメールプロバイダによってサポートされています。DMARC は [[SPF]] と [[openDKIM|DKIM]] に依存します。DMARC は送信されるメールのポリシーを提供し、受信したメールがポリシーに適合しているか確認します。ポリシーは DNS TXT レコードを使って公開されます。TXT レコードについては[[#レコード|レコード]]セクションで説明しています。ポリシーの検証はデーモンで行います。デーモンの設定については[[#バリデータ|バリデータ]]セクションで説明しています。詳しい情報は [https://datatracker.ietf.org/doc/draft-kucherawy-dmarc-base/ ドラフト] を見てください。&lt;br /&gt;
&lt;br /&gt;
== レコード ==&lt;br /&gt;
レコードは {{ic|&amp;lt;nowiki&amp;gt;v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@example.org;ruf=mailto:forensik@example.org;adkim=s;aspf=r&amp;lt;/nowiki&amp;gt;}} のように、メインドメインの {{ic|_dmarc}} サブドメインとして TXT レコードに入力します。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! タグ名 !! 目的 !! 例&lt;br /&gt;
|-&lt;br /&gt;
|v	|| プロトコルのバージョン || v=DMARC1&lt;br /&gt;
|-&lt;br /&gt;
|pct	|| フィルタリングするメッセージの割合 || pct=20&lt;br /&gt;
|-&lt;br /&gt;
|ruf	|| フォレンジックレポートを報告するための URI || ruf=mailto:authfail@example.com&lt;br /&gt;
|-&lt;br /&gt;
|rua	|| アグリゲートレポートを報告するための URI || rua=mailto:aggrep@example.com&lt;br /&gt;
|-&lt;br /&gt;
|p	|| 組織的ドメインのポリシー || p=quarantine&lt;br /&gt;
|-&lt;br /&gt;
|sp	|| サブドメインのポリシー || sp=reject&lt;br /&gt;
|-&lt;br /&gt;
|adkim	|| DKIM のアライメントモード　|| adkim=s&lt;br /&gt;
|-&lt;br /&gt;
|aspf	|| SPF のアライメントモード || aspf=r&lt;br /&gt;
|-&lt;br /&gt;
|fo     || フォレンジックレポートのオプション || fo=1&lt;br /&gt;
|-&lt;br /&gt;
|rf     || レポートの形式。afrf または iodef。 || rf=afrf&lt;br /&gt;
|-&lt;br /&gt;
|ri     || アグリゲートレポートを報告する間隔。 || ri=86400&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DKIM と SPF のアライメントモードは s (strict) と r (relaxed) が指定できます。後者の場合は From ヘッダにサブドメインを使用することができますが前者では使用できません。ドメインとサブドメインのポリシー (p) には {{ic|monitor}}, {{ic|quarantine}}, {{ic|reject}} が指定できます。フォレンジックレポートのオプションが &amp;quot;0&amp;quot; の場合、全ての認証メカニズムが DMARC を通過しなかった場合にレポートを作成し、&amp;quot;1&amp;quot; の場合はどれかの認証が失敗した場合にレポートを作成し、&amp;quot;d&amp;quot; の場合は DKIM 署名が検証できなかった場合にレポートを作成し、&amp;quot;s&amp;quot; の場合は SPF が失敗した場合にレポートを作成します。&lt;br /&gt;
&lt;br /&gt;
== バリデータ ==&lt;br /&gt;
=== インストール ===&lt;br /&gt;
{{Pkg|opendmarc}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
=== 基本設定 ===&lt;br /&gt;
メインの設定ファイルは {{ic|/etc/opendmarc/opendmarc.conf}} です。&lt;br /&gt;
&lt;br /&gt;
* サンプル設定ファイル {{ic|/etc/opendmarc/opendmarc.conf.sample}} を {{ic|/etc/opendmarc/opendmarc.conf}} にコピーして以下のオプションを変更してください:&lt;br /&gt;
{{hc|/etc/opendmarc/opendmarc.conf|&lt;br /&gt;
Socket                  unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
UserID                  opendmarc&lt;br /&gt;
UMask                   007&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
別のマシンで DMARC バリデータを動作させたい場合、Socket フィールドを {{ic|inet:9999@10.0.0.4}} などに変更する必要があります (IP アドレスは省略すると 0.0.0.0 を使うようになります)。UMaskフィールドの変更は、PostfixからOpenDMARCを使うために必要となります。 {{ic|007}} とすることで、Socketフィールドで指定したUNIXドメインソケットを所有者と所有グループが読み・書き・実行できるようになります。&lt;br /&gt;
&lt;br /&gt;
* {{ic|opendmarc.service}} を起動・有効化してください。詳しくは[[デーモン]]を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== Postfix の統合 ===&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 non_smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
 smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
DMARC の milter は DKIM の milter よりも後に宣言する必要があります。&lt;br /&gt;
&lt;br /&gt;
== セキュリティ ==&lt;br /&gt;
上の {{ic|UserID}} の設定によってデーモンの権限を落とすことができます。デーモンを動かすのに root 権限は必要ないため、適切なユーザーで起動することができます。その場合、以下の systemd ユニットファイルを使ってください。そして設定の {{ic|UserID}} をコメントアウトしてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/opendmarc.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenDMARC daemon&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=opendmarc&lt;br /&gt;
Group=postfix&lt;br /&gt;
ExecStart=/usr/bin/opendmarc -c /etc/opendkim/opendmarc.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://dmarcian.com/dmarc-inspector/ DMARC Inspector]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6369</id>
		<title>OpenDMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6369"/>
		<updated>2016-11-13T02:57:29Z</updated>

		<summary type="html">&lt;p&gt;Trileg: UNIXドメインソケットの親ディレクトリである/run/opendmarcがデーモン起動時に自動作成されるようにsystemdユニットファイルを書き換え，作成時の権限の都合でユニットファイル内でのユーザ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:OpenDMARC]]&lt;br /&gt;
Domain-based Message Authentication, Reporting and Conformance (DMARC) はメール転送のポリシーです。一般的なメールプロバイダによってサポートされています。DMARC は [[SPF]] と [[openDKIM|DKIM]] に依存します。DMARC は送信されるメールのポリシーを提供し、受信したメールがポリシーに適合しているか確認します。ポリシーは DNS TXT レコードを使って公開されます。TXT レコードについては[[#レコード|レコード]]セクションで説明しています。ポリシーの検証はデーモンで行います。デーモンの設定については[[#バリデータ|バリデータ]]セクションで説明しています。詳しい情報は [https://datatracker.ietf.org/doc/draft-kucherawy-dmarc-base/ ドラフト] を見てください。&lt;br /&gt;
&lt;br /&gt;
== レコード ==&lt;br /&gt;
レコードは {{ic|&amp;lt;nowiki&amp;gt;v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@example.org;ruf=mailto:forensik@example.org;adkim=s;aspf=r&amp;lt;/nowiki&amp;gt;}} のように、メインドメインの {{ic|_dmarc}} サブドメインとして TXT レコードに入力します。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! タグ名 !! 目的 !! 例&lt;br /&gt;
|-&lt;br /&gt;
|v	|| プロトコルのバージョン || v=DMARC1&lt;br /&gt;
|-&lt;br /&gt;
|pct	|| フィルタリングするメッセージの割合 || pct=20&lt;br /&gt;
|-&lt;br /&gt;
|ruf	|| フォレンジックレポートを報告するための URI || ruf=mailto:authfail@example.com&lt;br /&gt;
|-&lt;br /&gt;
|rua	|| アグリゲートレポートを報告するための URI || rua=mailto:aggrep@example.com&lt;br /&gt;
|-&lt;br /&gt;
|p	|| 組織的ドメインのポリシー || p=quarantine&lt;br /&gt;
|-&lt;br /&gt;
|sp	|| サブドメインのポリシー || sp=reject&lt;br /&gt;
|-&lt;br /&gt;
|adkim	|| DKIM のアライメントモード　|| adkim=s&lt;br /&gt;
|-&lt;br /&gt;
|aspf	|| SPF のアライメントモード || aspf=r&lt;br /&gt;
|-&lt;br /&gt;
|fo     || フォレンジックレポートのオプション || fo=1&lt;br /&gt;
|-&lt;br /&gt;
|rf     || レポートの形式。afrf または iodef。 || rf=afrf&lt;br /&gt;
|-&lt;br /&gt;
|ri     || アグリゲートレポートを報告する間隔。 || ri=86400&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DKIM と SPF のアライメントモードは s (strict) と r (relaxed) が指定できます。後者の場合は From ヘッダにサブドメインを使用することができますが前者では使用できません。ドメインとサブドメインのポリシー (p) には {{ic|monitor}}, {{ic|quarantine}}, {{ic|reject}} が指定できます。フォレンジックレポートのオプションが &amp;quot;0&amp;quot; の場合、全ての認証メカニズムが DMARC を通過しなかった場合にレポートを作成し、&amp;quot;1&amp;quot; の場合はどれかの認証が失敗した場合にレポートを作成し、&amp;quot;d&amp;quot; の場合は DKIM 署名が検証できなかった場合にレポートを作成し、&amp;quot;s&amp;quot; の場合は SPF が失敗した場合にレポートを作成します。&lt;br /&gt;
&lt;br /&gt;
== バリデータ ==&lt;br /&gt;
=== インストール ===&lt;br /&gt;
{{Pkg|opendmarc}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
=== 基本設定 ===&lt;br /&gt;
メインの設定ファイルは {{ic|/etc/opendmarc/opendmarc.conf}} です。&lt;br /&gt;
&lt;br /&gt;
* サンプル設定ファイル {{ic|/etc/opendmarc/opendmarc.conf.sample}} を {{ic|/etc/opendmarc/opendmarc.conf}} にコピーして以下のオプションを変更してください:&lt;br /&gt;
{{hc|/etc/opendmarc/opendmarc.conf|&lt;br /&gt;
Socket                  unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
UMask                   007&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
別のマシンで DMARC バリデータを動作させたい場合、Socket フィールドを {{ic|inet:9999@10.0.0.4}} などに変更する必要があります (IP アドレスは省略すると 0.0.0.0 を使うようになります)。UMask フィールドの変更は、Postfix から OpenDMARC を使うために必要となります。 {{ic|007}} とすることで、Socket フィールドで指定した UNIX ドメインソケットを所有者と所有グループが読み・書き・実行できるようになります。&lt;br /&gt;
&lt;br /&gt;
* 以下の systemd ユニットファイルを作成してください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/opendmarc.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenDMARC daemon&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=opendmarc&lt;br /&gt;
Group=postfix&lt;br /&gt;
RuntimeDirectory=opendmarc&lt;br /&gt;
ExecStart=/usr/bin/opendmarc -c /etc/opendmarc/opendmarc.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
デーモンを動かすのに root 権限は必要ないため、systemd ユニットファイル内で起動するユーザとグループを適切なものに指定し、権限を落としています。また、{{ic|RuntimeDirectory}} オプションを利用することで、前述した UNIX ドメインソケットの親ディレクトリである {{ic|/run/opendmarc}} が systemd ユニットファイル内で指定したユーザとグループでデーモン起動時に自動的に作成され、デーモン終了時に自動的に削除されるように設定できます。&lt;br /&gt;
&lt;br /&gt;
* {{ic|opendmarc.service}} を起動・有効化してください。詳しくは[[デーモン]]を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== Postfix の統合 ===&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 non_smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
 smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
DMARC の milter は DKIM の milter よりも後に宣言する必要があります。&lt;br /&gt;
&lt;br /&gt;
== セキュリティ ==&lt;br /&gt;
上の {{ic|UserID}} の設定によってデーモンの権限を落とすことができます。デーモンを動かすのに root 権限は必要ないため、適切なユーザーで起動することができます。その場合、以下の systemd ユニットファイルを使ってください。そして設定の {{ic|UserID}} をコメントアウトしてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/opendmarc.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenDMARC daemon&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=opendmarc&lt;br /&gt;
Group=postfix&lt;br /&gt;
ExecStart=/usr/bin/opendmarc -c /etc/opendkim/opendmarc.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://dmarcian.com/dmarc-inspector/ DMARC Inspector]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6368</id>
		<title>OpenDMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=OpenDMARC&amp;diff=6368"/>
		<updated>2016-11-13T02:09:15Z</updated>

		<summary type="html">&lt;p&gt;Trileg: OpenDMARC設定でUMaskを変更しない場合，postfixグループからdmarc.sockへのアクセスがPermission Deniedとなるため，UMaskも変更するように加筆しました．&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:OpenDMARC]]&lt;br /&gt;
Domain-based Message Authentication, Reporting and Conformance (DMARC) はメール転送のポリシーです。一般的なメールプロバイダによってサポートされています。DMARC は [[SPF]] と [[openDKIM|DKIM]] に依存します。DMARC は送信されるメールのポリシーを提供し、受信したメールがポリシーに適合しているか確認します。ポリシーは DNS TXT レコードを使って公開されます。TXT レコードについては[[#レコード|レコード]]セクションで説明しています。ポリシーの検証はデーモンで行います。デーモンの設定については[[#バリデータ|バリデータ]]セクションで説明しています。詳しい情報は [https://datatracker.ietf.org/doc/draft-kucherawy-dmarc-base/ ドラフト] を見てください。&lt;br /&gt;
&lt;br /&gt;
== レコード ==&lt;br /&gt;
レコードは {{ic|&amp;lt;nowiki&amp;gt;v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@example.org;ruf=mailto:forensik@example.org;adkim=s;aspf=r&amp;lt;/nowiki&amp;gt;}} のように、メインドメインの {{ic|_dmarc}} サブドメインとして TXT レコードに入力します。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! タグ名 !! 目的 !! 例&lt;br /&gt;
|-&lt;br /&gt;
|v	|| プロトコルのバージョン || v=DMARC1&lt;br /&gt;
|-&lt;br /&gt;
|pct	|| フィルタリングするメッセージの割合 || pct=20&lt;br /&gt;
|-&lt;br /&gt;
|ruf	|| フォレンジックレポートを報告するための URI || ruf=mailto:authfail@example.com&lt;br /&gt;
|-&lt;br /&gt;
|rua	|| アグリゲートレポートを報告するための URI || rua=mailto:aggrep@example.com&lt;br /&gt;
|-&lt;br /&gt;
|p	|| 組織的ドメインのポリシー || p=quarantine&lt;br /&gt;
|-&lt;br /&gt;
|sp	|| サブドメインのポリシー || sp=reject&lt;br /&gt;
|-&lt;br /&gt;
|adkim	|| DKIM のアライメントモード　|| adkim=s&lt;br /&gt;
|-&lt;br /&gt;
|aspf	|| SPF のアライメントモード || aspf=r&lt;br /&gt;
|-&lt;br /&gt;
|fo     || フォレンジックレポートのオプション || fo=1&lt;br /&gt;
|-&lt;br /&gt;
|rf     || レポートの形式。afrf または iodef。 || rf=afrf&lt;br /&gt;
|-&lt;br /&gt;
|ri     || アグリゲートレポートを報告する間隔。 || ri=86400&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DKIM と SPF のアライメントモードは s (strict) と r (relaxed) が指定できます。後者の場合は From ヘッダにサブドメインを使用することができますが前者では使用できません。ドメインとサブドメインのポリシー (p) には {{ic|monitor}}, {{ic|quarantine}}, {{ic|reject}} が指定できます。フォレンジックレポートのオプションが &amp;quot;0&amp;quot; の場合、全ての認証メカニズムが DMARC を通過しなかった場合にレポートを作成し、&amp;quot;1&amp;quot; の場合はどれかの認証が失敗した場合にレポートを作成し、&amp;quot;d&amp;quot; の場合は DKIM 署名が検証できなかった場合にレポートを作成し、&amp;quot;s&amp;quot; の場合は SPF が失敗した場合にレポートを作成します。&lt;br /&gt;
&lt;br /&gt;
== バリデータ ==&lt;br /&gt;
=== インストール ===&lt;br /&gt;
{{Pkg|opendmarc}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
=== 基本設定 ===&lt;br /&gt;
メインの設定ファイルは {{ic|/etc/opendmarc/opendmarc.conf}} です。&lt;br /&gt;
&lt;br /&gt;
* サンプル設定ファイル {{ic|/etc/opendmarc/opendmarc.conf.sample}} を {{ic|/etc/opendmarc/opendmarc.conf}} にコピーして以下のオプションを変更してください:&lt;br /&gt;
{{hc|/etc/opendmarc/opendmarc.conf|&lt;br /&gt;
Socket                  unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
UserID                  opendmarc&lt;br /&gt;
UMask                   007&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
別のマシンで DMARC バリデータを動作させたい場合、Socket フィールドを {{ic|inet:9999@10.0.0.4}} などに変更する必要があります (IP アドレスは省略すると 0.0.0.0 を使うようになります)。UMaskフィールドの変更は、PostfixからOpenDMARCを使うために必要となります。 {{ic|007}} とすることで、Socketフィールドで指定したUNIXドメインソケットを所有者と所有グループが読み・書き・実行できるようになります。&lt;br /&gt;
&lt;br /&gt;
* {{ic|opendmarc.service}} を起動・有効化してください。詳しくは[[デーモン]]を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== Postfix の統合 ===&lt;br /&gt;
以下の行を {{ic|main.cf}} に追加してください:&lt;br /&gt;
 non_smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
 smtpd_milters = unix:/run/opendkim/dkim.sock, unix:/run/opendmarc/dmarc.sock&lt;br /&gt;
DMARC の milter は DKIM の milter よりも後に宣言する必要があります。&lt;br /&gt;
&lt;br /&gt;
== セキュリティ ==&lt;br /&gt;
上の {{ic|UserID}} の設定によってデーモンの権限を落とすことができます。デーモンを動かすのに root 権限は必要ないため、適切なユーザーで起動することができます。その場合、以下の systemd ユニットファイルを使ってください。そして設定の {{ic|UserID}} をコメントアウトしてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/opendmarc.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=OpenDMARC daemon&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=opendmarc&lt;br /&gt;
Group=postfix&lt;br /&gt;
ExecStart=/usr/bin/opendmarc -c /etc/opendkim/opendmarc.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://dmarcian.com/dmarc-inspector/ DMARC Inspector]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Ghost&amp;diff=5456</id>
		<title>Ghost</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Ghost&amp;diff=5456"/>
		<updated>2016-07-16T12:44:16Z</updated>

		<summary type="html">&lt;p&gt;Trileg: ghostユーザの追加において-dオプションでホームディレクトリに/を設定するよう変更しました．これによりshadow.serviceのpwckによるpasswdファイルの整合性チェックでエラーを吐かなくなります&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:インターネットアプリケーション]]&lt;br /&gt;
[[en:Ghost]]&lt;br /&gt;
Ghost はフリーでオープンソースのブログプラットフォームです。JavaScript で書かれており MIT ライセンスで配布されています。個人のブロガーによるオンラインパブリッシングを簡単にするために作られました。&lt;br /&gt;
&lt;br /&gt;
== AUR インストール ==&lt;br /&gt;
&lt;br /&gt;
{{AUR|ghost}} を[[インストール]]して {{ic|/srv/ghost/config.js}} を編集してください。そして {{ic|ghost.service}} を[[起動]]します。気に入ったら、システムの起動時に自動的に実行されるように[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
最終的な設定は http://127.0.0.1:2368/ghost から行います。&lt;br /&gt;
&lt;br /&gt;
== カスタムインストール ==&lt;br /&gt;
&lt;br /&gt;
=== 要件 ===&lt;br /&gt;
[[nginx]] をウェブサーバーとして Ghost をインストールする方法を説明します。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|nginx}}, {{Pkg|npm}}, {{Pkg|sqlite}}, {{Pkg|python2}}, {{Grp|base-devel}}, {{Pkg|unzip}}, {{Pkg|nodejs}} を[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
=== インストール ===&lt;br /&gt;
ウェブサーバーがブログのプロキシとなるように設定します。nginx の設定ファイル ({{ic|/etc/nginx/nginx.conf}}) の server ブロックの、location を以下のように変更します:&lt;br /&gt;
 location / {&lt;br /&gt;
        proxy_set_header   X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header   Host      $http_host;&lt;br /&gt;
        proxy_pass         http://127.0.0.1:2368;&lt;br /&gt;
    }&lt;br /&gt;
ghost 用に ghost ユーザーとディレクトリを作成してください:&lt;br /&gt;
 $ useradd -r -d / -s /bin/false ghost&lt;br /&gt;
 $ mkdir -p /srv/http/example.org&lt;br /&gt;
&lt;br /&gt;
{{ic|nginx.service}} を[[起動]]します。&lt;br /&gt;
&lt;br /&gt;
{{AUR|ghost}} をインストールするか ghost.org から最新版の Ghost を取得して、手動でインストールしてディレクトリを移動してください:&lt;br /&gt;
 $ curl -L https://ghost.org/zip/ghost-latest.zip&lt;br /&gt;
 $ unzip ghost-latest.zip -d /srv/http/example.org&lt;br /&gt;
 $ cd /srv/http/example.org&lt;br /&gt;
&lt;br /&gt;
一時的に python のパスを python 3 から python 2 に変更します:&lt;br /&gt;
&lt;br /&gt;
ダミーフォルダを作成:&lt;br /&gt;
 $ mkdir ~/bin&lt;br /&gt;
python から python2 へのシンボリックリンクと設定スクリプトを追加してください:&lt;br /&gt;
 $ ln -s /usr/bin/python2 ~/bin/python&lt;br /&gt;
 $ ln -s /usr/bin/python2-config ~/bin/python-config&lt;br /&gt;
最後に PATH 変数の最初に新しいフォルダを記述します:&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
{{Note|[[環境変数]]の変更は永続的ではなく、現在のターミナルセッションでのみ有効です。}}&lt;br /&gt;
&lt;br /&gt;
Ghost をインストールします。[[Arch User Repository]] から Ghost をインストールした場合は必要ありません:&lt;br /&gt;
 $ npm install --production&lt;br /&gt;
&lt;br /&gt;
Ghost を起動:&lt;br /&gt;
 $ npm start --production&lt;br /&gt;
&lt;br /&gt;
完了です。ブラウザを起動して 127.0.0.1 または Ghost をインストールしたデバイスの IP を開いて下さい。&lt;br /&gt;
&lt;br /&gt;
=== サービスの作成 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|[[Arch User Repository]] から Ghost をインストールした場合はこの手順は不要です。}}&lt;br /&gt;
&lt;br /&gt;
Ghost をバックグラウンドで実行したい場合、サービスを作成する必要があります。ローカルシステム用に新しいサービスユニットを[[Systemd#カスタム .service ファイルを書く|作成]]してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/ghost-example-com.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ghost blog example.org  &lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple  &lt;br /&gt;
PIDFile=/run/ghost-example-org.pid  &lt;br /&gt;
WorkingDirectory=/srv/http/example.org  &lt;br /&gt;
User=ghost  &lt;br /&gt;
Group=ghost  &lt;br /&gt;
ExecStart=/usr/bin/npm start --production /srv/http/example.org  &lt;br /&gt;
ExecStop=/usr/bin/npm stop /srv/http/example.org  &lt;br /&gt;
StandardOutput=null  &lt;br /&gt;
StandardError=null&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
ブログディレクトリの所有者を変更して Ghost を起動:&lt;br /&gt;
&lt;br /&gt;
 $ chown -R ghost:ghost /srv/http/example.org&lt;br /&gt;
 $ systemctl start ghost-example-com&lt;br /&gt;
&lt;br /&gt;
全てが問題ないようでしたら、新しいユニット {{ic|ghost-example-com}} とウェブサーバー {{ic|nginx.service}} を[[有効化]]します。&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Trileg&amp;diff=3687</id>
		<title>利用者:Trileg</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Trileg&amp;diff=3687"/>
		<updated>2015-09-27T09:12:04Z</updated>

		<summary type="html">&lt;p&gt;Trileg: ページを作成してみました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;noob&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=MariaDB&amp;diff=3686</id>
		<title>MariaDB</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=MariaDB&amp;diff=3686"/>
		<updated>2015-09-27T09:00:40Z</updated>

		<summary type="html">&lt;p&gt;Trileg: mariadbインストール後のmysql_install_dbの作業が抜けており、このままではmysqldサービスが起動できないため、https://wiki.archlinux.org/index.php/MySQL にならい修正をさせていただきました。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:データベース管理システム]]&lt;br /&gt;
[[cs:MySQL]]&lt;br /&gt;
[[de:MySQL]]&lt;br /&gt;
[[en:MySQL]]&lt;br /&gt;
[[es:MySQL]]&lt;br /&gt;
[[fr:MySQL]]&lt;br /&gt;
[[it:MySQL]]&lt;br /&gt;
[[sr:MySQL]]&lt;br /&gt;
[[tr:MySQL]]&lt;br /&gt;
[[zh-CN:MySQL]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|phpMyAdmin}}&lt;br /&gt;
{{Related|Adminer}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
MySQL は幅広く使われている、マルチスレッドの、マルチユーザー SQL データベースです。機能に関する詳細は [http://www.mysql.com/ 公式ホームページ] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
{{Note|現在 MariaDB が Arch Linux における MySQL のデフォルトの実装になっています。全てのユーザーは MariaDB に[[#Oracle MySQL から MariaDB へのアップグレード|アップグレード]]するのが推奨されています。Oracle MySQL は [[AUR]] に移動しました。[https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/ アナウンス]を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
Arch Linux で選ばれている MySQL の実装は [https://mariadb.org/ MariaDB] です。[[公式リポジトリ]]から {{Pkg|mariadb}} を[[pacman|インストール]]してください。他の実装は:&lt;br /&gt;
* {{App|Oracle MySQL|Oracle Corporation による実装。|https://www.mysql.com/|{{AUR|mysql}}}}&lt;br /&gt;
* {{App|Percona Server|Percona LLC による実装。|http://www.percona.com/software/percona-server/|{{Pkg|percona-server}}}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|データベース ({{ic|/var/lib/mysql}}) を [[btrfs]] ファイルシステムに配置する際は、データベースを作成する前にディレクトリの [[Btrfs#コピーオンライト_.28CoW.29|Copy-on-Write]] を無効にすることを考えるべきです:&lt;br /&gt;
{{ic|# chattr +C /var/lib/mysql}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Pkg|mariadb}} をインストールしたら、 {{ic|mysqld.service}} を&#039;&#039;&#039;[[systemd#ユニットを使う|起動]]する前に&#039;&#039;&#039;以下のコマンドを実行してください:&lt;br /&gt;
 # mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql&lt;br /&gt;
そして、 {{ic|mysqld.service}} を[[systemd#ユニットを使う|起動]]して、セットアップスクリプトを実行してください:&lt;br /&gt;
 # mysql_secure_installation&lt;br /&gt;
その後 {{ic|mysqld.service}} を再起動してください。&lt;br /&gt;
&lt;br /&gt;
フロントエンドは {{AUR|mysql-gui-tools}} やその後継の {{AUR|mysql-workbench}} が利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 起動時に有効にする ===&lt;br /&gt;
起動時に MySQL デーモンを実行するには、{{ic|mysqld.service}} ユニットを有効にしてください。&lt;br /&gt;
&lt;br /&gt;
=== Oracle MySQL から MariaDB へのアップグレード ===&lt;br /&gt;
{{Note|デーモンを再起動する前に {{ic|/var/lib/mysql}} の次のファイルを削除する必要があるかもしれません: {{ic|ib_logfile0}}, {{ic|ib_logfile1}}, {{ic|aria_log_control}}。}}&lt;br /&gt;
&lt;br /&gt;
データベースを切り替えるときに環境を移行するには {{ic|mysqld.service}} を停止して {{pkg|mariadb}} をインストールして {{ic|mysqld.service}} を起動し次を実行してください:&lt;br /&gt;
 # mysql_upgrade -u root -p&lt;br /&gt;
&lt;br /&gt;
=== アップデート ===&lt;br /&gt;
メジャーバージョンアップデート (5.5 から 10.0、もしくは 10.0 から 10.1 など) をした後は、次のコマンドを実行して MySQL を再起動すると良いでしょう:&lt;br /&gt;
 # mysql_upgrade -u root -p&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
MySQL サーバーを起動できたら、おそらく MySQL ユーザーとデータベースを管理するための root アカウントを追加したくなるはずです。上記のスクリプトの出力で説明されているように、手動または自動で設定を行えます。root アカウントのパスワードを設定するコマンドを実行するか、セキュアなインストールスクリプトを実行してください。&lt;br /&gt;
&lt;br /&gt;
インストールの後は、好きなインタフェースを使って使用するための設定を行うことができます。例えば MySQL のコマンドラインツールを使って MySQL サーバーに root でログインすることが可能です:&lt;br /&gt;
 $ mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
=== ユーザーを追加する ===&lt;br /&gt;
新しいユーザーの作成は2段階で行います: ユーザーを作って、そのユーザーに権限を与える。以下のレイでは、ユーザー &#039;&#039;monty&#039;&#039; をパスワード &#039;&#039;some_pass&#039;&#039; で作成します。&lt;br /&gt;
&lt;br /&gt;
{{hc|$ mysql -u root -p|&lt;br /&gt;
MariaDB&amp;gt; CREATE USER &#039;monty&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;some_pass&#039;;&lt;br /&gt;
MariaDB&amp;gt; GRANT ALL PRIVILEGES ON *.* TO &#039;monty&#039;@&#039;localhost&#039;&lt;br /&gt;
   -&amp;gt;     WITH GRANT OPTION;&lt;br /&gt;
MariaDB&amp;gt; quit}}&lt;br /&gt;
&lt;br /&gt;
=== リモートアクセスを無効にする ===&lt;br /&gt;
デフォルトで MySQL サーバーはネットワークからアクセスできるようになっています。MySQL をローカルホストからしか使わない場合は、TCP ポート 3306 を使用しないようにすることでセキュリティを向上させることが可能です。リモート接続を拒否させるには、{{ic|/etc/mysql/my.cnf}} にある次の行をアンコメントしてください:&lt;br /&gt;
 skip-networking&lt;br /&gt;
&lt;br /&gt;
この設定をしてもローカルホストからはログインできます。&lt;br /&gt;
&lt;br /&gt;
=== 自動補完を有効にする ===&lt;br /&gt;
{{Note|この機能を有効にするとクライアントの初期化が長くなるかもしれません。}}&lt;br /&gt;
MySQL クライアントの補完機能はデフォルトでは無効になっています。システム全体で有効にするには {{ic|/etc/mysql/my.cnf}} を編集して、{{ic|no-auto-rehash}} を {{ic|auto-rehash}} で置き換えてください。次に MySQL クライアントを実行した時に補完が有効になります。&lt;br /&gt;
&lt;br /&gt;
=== UTF-8 を使う ===&lt;br /&gt;
{{ic|/etc/mysql/my.cnf}} ファイルの {{ic|mysqld}} グループ下のセクションに、以下を追加:&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
init_connect                = &#039;SET collation_connection = utf8_general_ci,NAMES utf8&#039;&lt;br /&gt;
collation_server            = utf8_general_ci&lt;br /&gt;
character_set_client        = utf8&lt;br /&gt;
character_set_server        = utf8&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== tmpdir に TMPFS を使う ===&lt;br /&gt;
MySQL が一時ファイルの保存に使用するディレクトリは &#039;&#039;tmpdir&#039;&#039; という名前が付いています。例えば、ディスクの膨大なソートを行うのに使われたり、内部的または明示的な一時ディレクトリのために使われます。&lt;br /&gt;
&lt;br /&gt;
適切なパーミッションでディレクトリを作成:&lt;br /&gt;
 # mkdir -pv /var/lib/mysqltmp&lt;br /&gt;
 # chown mysql:mysql /var/lib/mysqltmp&lt;br /&gt;
&lt;br /&gt;
{{ic|mysql}} ユーザーとグループの id と gid を確認:&lt;br /&gt;
 $ id mysql&lt;br /&gt;
 uid=27(mysql) gid=27(mysql) groups=27(mysql)&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに追加:&lt;br /&gt;
  tmpfs   /var/lib/mysqltmp   tmpfs   rw,gid=27,uid=27,size=100M,mode=0750,noatime   0 0&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/mysql/my.cnf}} ファイルの {{ic|mysqld}} グループ下に追加:&lt;br /&gt;
  tmpdir      = /var/lib/mysqltmp&lt;br /&gt;
&lt;br /&gt;
その後再起動するか ( shutdown mysql, mount the tmpdir, start mysql )。&lt;br /&gt;
&lt;br /&gt;
=== タイムゾーンテーブル ===&lt;br /&gt;
タイムゾーンテーブルはインストールで作成されますが、ロードが自動では行われません。SQL クエリで CONVERT_TZ() を使う予定ならばロードする必要があります。&lt;br /&gt;
&lt;br /&gt;
全てのタイムゾーンのタイムゾーンテーブルをロードするには:&lt;br /&gt;
 $ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql&lt;br /&gt;
&lt;br /&gt;
また、特定のタイムゾーンファイルを指定してテーブルをロードすることもできます:&lt;br /&gt;
 $ mysql_tzinfo_to_sql &amp;lt;timezone_file&amp;gt; &amp;lt;timezone_name&amp;gt; | mysql -u root -p mysql&lt;br /&gt;
&lt;br /&gt;
== バックアップ ==&lt;br /&gt;
簡易バックアップとしてファイルにデータベースを出力することが可能です。以下のシェルスクリプトは、データベースのダンプが含まれた {{ic|db_backup.gz}} ファイルを、スクリプトと同じディレクトリに作成します:&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
THISDIR=$(dirname $(readlink -f &amp;quot;$0&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
mysqldump --single-transaction --flush-logs --master-data=2 --all-databases \&lt;br /&gt;
 | gzip &amp;gt; $THISDIR/db_backup.gz&lt;br /&gt;
echo &#039;purge master logs before date_sub(now(), interval 7 day);&#039; | mysql&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
MySQL マニュアルにある公式の {{ic|mysqldump}} の [http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html ページ] も参照してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
=== MySQL デーモンが起動しない ===&lt;br /&gt;
MySQL が起動せずログファイルに何も出力されない場合、{{ic|/var/lib/mysql}} や {{ic|/var/lib/mysql/mysql}} ディレクトリ内のファイルのパーミッションを確認してください。ディレクトリ内にあるファイルの所有者が {{ic|mysql:mysql}} ではないときは、次を実行してください:&lt;br /&gt;
 # chown mysql:mysql /var/lib/mysql -R&lt;br /&gt;
上記に従ってもパーミッション問題が発生する場合は、{{ic|my.cnf}} を {{ic|/etc/}} にコピーしてみて下さい:&lt;br /&gt;
 # cp /etc/mysql/my.cnf /etc/my.cnf&lt;br /&gt;
そしてデーモンを起動してみましょう。&lt;br /&gt;
&lt;br /&gt;
{{ic|/var/lib/mysql/hostname.err}} に以下のメッセージが表示される場合:&lt;br /&gt;
 [ERROR] Can&#039;t start server : Bind on unix socket: Permission denied&lt;br /&gt;
 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?&lt;br /&gt;
 [ERROR] Aborting&lt;br /&gt;
おそらく {{ic|/var/run/mysqld}} のパーミッションが原因です。&lt;br /&gt;
 # chown mysql:mysql /var/run/mysqld -R&lt;br /&gt;
&lt;br /&gt;
mysqld を実行すると以下のエラーが表示される場合:&lt;br /&gt;
 Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist&lt;br /&gt;
{{ic|/usr}} ディレクトリから以下のコマンドを実行してデフォルトのテーブルをインストールしてください:&lt;br /&gt;
 # cd /usr&lt;br /&gt;
 # mysql_install_db --user=mysql --ldata=/var/lib/mysql/&lt;br /&gt;
&lt;br /&gt;
=== MySQL が起動しないために mysql_upgrade を実行できない ===&lt;br /&gt;
MySQL をセーフモードで実行して:&lt;br /&gt;
 # mysqld_safe --datadir=/var/lib/mysql/&lt;br /&gt;
次を実行してみて下さい:&lt;br /&gt;
 # mysql_upgrade -u root -p&lt;br /&gt;
&lt;br /&gt;
=== root パスワードをリセットする ===&lt;br /&gt;
{{ic|mysqld.service}} を停止。次のコマンドを実行:&lt;br /&gt;
 # mysqld_safe --skip-grant-tables &amp;amp;&lt;br /&gt;
mysql サーバーに接続。次のコマンドを実行:&lt;br /&gt;
 # mysql -u root mysql&lt;br /&gt;
root パスワードを変更:&lt;br /&gt;
 mysql&amp;gt; use mysql;&lt;br /&gt;
 mysql&amp;gt; UPDATE mysql.user SET Password=PASSWORD(&#039;MyNewPass&#039;) WHERE User=&#039;root&#039;;&lt;br /&gt;
 mysql&amp;gt; FLUSH PRIVILEGES;&lt;br /&gt;
 mysql&amp;gt; exit&lt;br /&gt;
{{ic|mysqld.service}} を起動。&lt;br /&gt;
&lt;br /&gt;
=== 全てのテーブルをチェック・修復する ===&lt;br /&gt;
全てのデータベースの全てのテーブルをチェック・自動修復 [http://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html 詳細]:&lt;br /&gt;
 # mysqlcheck -A --auto-repair -u root -p&lt;br /&gt;
&lt;br /&gt;
=== 全てのテーブルを最適化する ===&lt;br /&gt;
テーブルエラーを自動的に修正して、全てのテーブルを強制的に最適化する。&lt;br /&gt;
 # mysqlcheck -A --auto-repair -f -o -u root -p&lt;br /&gt;
&lt;br /&gt;
=== ZFS での実行時に OS エラー 22 ===&lt;br /&gt;
[[ZFS]] を使っていて、以下のエラーが表示される場合:&lt;br /&gt;
 InnoDB: Operating system error number 22 in a file operation.&lt;br /&gt;
{{ic|/etc/mysql/my.cnf}} の mysqld セクションに次の行を追加して aio_writes を無効にする必要があります:&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 ...&lt;br /&gt;
 innodb_use_native_aio = 0&lt;br /&gt;
&lt;br /&gt;
ただし、上の問題のせいでインストール後のスクリプトが失敗する場合、MySQL/MariaDB が無効状態になっている可能性があります。この状態から復旧するには、以下を実行してください:&lt;br /&gt;
 rm -rf /var/lib/mysql/*&lt;br /&gt;
 mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql&lt;br /&gt;
 chown -R mysql:mysql /var/lib/mysql &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
 /usr/bin/systemd-tmpfiles --create mysql.conf&lt;br /&gt;
&lt;br /&gt;
これで MySQL/MariaDB が正しくインストールされるはずです。&lt;br /&gt;
&lt;br /&gt;
=== CLI でログインできないが、phpmyadmin は問題なく動作する ===&lt;br /&gt;
長い (&amp;gt;70-75) パスワードを使っているとこの問題が発生することがあります。&lt;br /&gt;
5.5.36 現在、何らかの理由で、mysql CLI は readline モードで長い文字列を扱えなくなっています。&lt;br /&gt;
そのため、長いパスワードを使う場合は input モードを使うことを推奨します:&lt;br /&gt;
 $ mysql -u &amp;lt;user&amp;gt; -p&lt;br /&gt;
 Password:&lt;br /&gt;
もしくは短いパスワードに変えてください。&lt;br /&gt;
&lt;br /&gt;
{{Note|mysql コマンドに引数としてパスワードを指定することでログインすることは可能です。&lt;br /&gt;
{{Warning|This behavior considered dangerous, because your password might leak, for example, to the logs. Use it only in case of emergency and don&#039;t forget to change password right afterwards.}}&lt;br /&gt;
 $ mysql -u &amp;lt;user&amp;gt; -p&amp;quot;&amp;lt;some-veryveryveryveryveryveryveryveryveryveryveryveryveryveryvery-long-and-veryveryveryveryveryveryveryveryveryvery-strong-password&amp;gt;&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://mariadb.org/ MariaDB 公式ウェブサイト]&lt;br /&gt;
* [https://mariadb.com/kb/ja/ MariaDB knowledge Base]&lt;br /&gt;
* [http://dev.mysql.com/doc/ MySQL ドキュメント]&lt;br /&gt;
* [[LAMP]] - LAMP (Linux Apache MySQL PHP) サーバーのセットアップに関する ArchWiki の記事&lt;br /&gt;
* [[PhpMyAdmin]] - Apache/PHP フロントエンドを使って MySQL データベースを管理するのに役立つウェブベースのツールに関する ArchWiki の記事。&lt;br /&gt;
* [[PHP]] - PHP に関する ArchWiki の記事。&lt;br /&gt;
* [http://www.askapache.com/mysql/performance-tuning-mysql.html MySQL のパフォーマンスチューニングスクリプトとノウハウ]&lt;/div&gt;</summary>
		<author><name>Trileg</name></author>
	</entry>
</feed>