<?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=Teasoak</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=Teasoak"/>
	<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/Teasoak"/>
	<updated>2026-04-13T18:45:00Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=ISCSI/LIO&amp;diff=37650</id>
		<title>ISCSI/LIO</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=ISCSI/LIO&amp;diff=37650"/>
		<updated>2024-06-08T08:13:43Z</updated>

		<summary type="html">&lt;p&gt;Teasoak: python-configshell-fbがaurからExtra入りしていたためリンクを変更&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
[[Category:ストレージ]]&lt;br /&gt;
[[Category:ネットワーク]]&lt;br /&gt;
[[en:ISCSI/LIO]]&lt;br /&gt;
[[zh-hans:ISCSI Target]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|iSCSI イニシエータ}}&lt;br /&gt;
{{Related|iSCSI ブート}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[http://linux-iscsi.org/ LIO]{{Dead link|2022|12|31|接続不可; 3週間前の Web アーカイブ版}} (LinuxIO) は、カーネル内の [[iSCSI]] ターゲットです（Linux 2.6.38 以降）。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
iSCSI ターゲットファブリックは Linux 3.1 から含まれています。&lt;br /&gt;
&lt;br /&gt;
重要なカーネルモジュールは &#039;&#039;target_core_mod&#039;&#039; と &#039;&#039;iscsi_target_mod&#039;&#039; であり、これらはカーネルに組み込まれており、自動的にロードされるべきです。&lt;br /&gt;
&lt;br /&gt;
フリーブランチのパッケージ {{AUR|targetcli-fb}}、{{AUR|python-rtslib-fb}}、および {{Pkg|python-configshell-fb}} の使用が強く推奨されます。&lt;br /&gt;
&lt;br /&gt;
必要なモジュールをロードし、configfs をマウントし、以前に保存された iSCSI ターゲット設定をロードするために、{{AUR|python-rtslib-fb}} に含まれる {{ic|target.service}} を[[開始/有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
== targetcli ==&lt;br /&gt;
外部マニュアルは&#039;&#039;フリーブランチ&#039;&#039;にしか存在しません。[https://github.com/agrover/targetd targetd] は AUR に存在しませんが、フリーブランチに依存しています。&lt;br /&gt;
&lt;br /&gt;
設定シェルはほとんどの名前と数字を自動的に作成しますが、自分で設定することもできます。シェルの中で {{ic|help}} と入力することで実行できるコマンドを確認できます。&lt;br /&gt;
{{Tip|&lt;br /&gt;
* シェルではタブ補完が利用できます。シェルに {{ic|cd}} と入力するとパスが表示・選択されます。}}&lt;br /&gt;
&lt;br /&gt;
ターゲットの起動後、以下のコマンドで設定シェルを開くことができます:&lt;br /&gt;
 # targetcli&lt;br /&gt;
シェルの中では以下のようにして使用するブロックデバイスを指定できます (例: {{ic|/dev/disk/by-id/md-name-nas:iscsi}}):&lt;br /&gt;
 /&amp;gt; cd backstores/block&lt;br /&gt;
 /backstores/block&amp;gt; create md_block0 /dev/disk/by-id/md-name-nas:iscsi&lt;br /&gt;
{{Note|ブロックデバイスであれば [[RAID]] や [[LVM]] でも使用できます。block ではなく fileio を使用するのであればファイルも使えます。}}&lt;br /&gt;
&lt;br /&gt;
iSCSI Qualified Name (IQN) とターゲットポータルグループ (TPG) を作成するには:&lt;br /&gt;
 ...&amp;gt; cd /iscsi&lt;br /&gt;
 /iscsi&amp;gt; create&lt;br /&gt;
{{Note|{{ic|create}} にお好きな IQN を付けることで targetcli で自動的に IQN を作成することができます。}}&lt;br /&gt;
&lt;br /&gt;
ターゲットの&#039;&#039;バックストア&#039;&#039;としてブロックデバイスを使用することを LIO に伝えるには以下を実行:&lt;br /&gt;
{{Note|{{ic|cd}} で {{ic|&amp;lt;iqn&amp;gt;/tpg1}} のパスを選択できます。}}&lt;br /&gt;
 .../tpg1&amp;gt; cd luns&lt;br /&gt;
 .../tpg1/luns&amp;gt; create /backstores/block/md_block0&lt;br /&gt;
&lt;br /&gt;
それから&#039;&#039;ポータル&#039;&#039;を作成して、デーモンが接続を待機するようにしてください:&lt;br /&gt;
 .../luns/lun0&amp;gt; cd ../../portals&lt;br /&gt;
 .../portals&amp;gt; create&lt;br /&gt;
targetcli は LIO が接続を listen する IP とポートを表示します (デフォルトは 0.0.0.0 (all) です)。最低でもクライアントの IP が必要です。ポートは標準ポートの 3260 にするべきです。&lt;br /&gt;
&lt;br /&gt;
クライアント/[[iSCSI イニシエータ|イニシエータ]]から接続するにはターゲットの設定にイニシエータの IQN を記述する必要があります:&lt;br /&gt;
 ...&amp;gt; cd ../../acls&lt;br /&gt;
 .../acls&amp;gt; create iqn.2005-03.org.open-iscsi:SERIAL&lt;br /&gt;
{{ic|iqn.2005-03.org.open-iscsi:SERIAL}} はイニシエータの IQN に置き換えてください。通常は {{ic|/etc/iscsi/initiatorname.iscsi}} で確認できます。接続する全てのイニシエータを設定してください。targetcli は作成済みの LUN を新しく作成した ACL に自動的にマッピングします。&lt;br /&gt;
{{Note|マッピング済みの LUN を変更したり読み書きアクセスから読み取り専用に変えることができます。詳しくは targetcli シェルで {{ic|help create}} を実行してください。}}&lt;br /&gt;
&lt;br /&gt;
最後に設定を保存します:&lt;br /&gt;
 ...&amp;gt; cd /&lt;br /&gt;
 /&amp;gt; saveconfig&lt;br /&gt;
上記のコマンドで {{ic|/etc/target/saveconfig.json}} に設定が作成されます。これで設定を失うことなく {{ic|target.service}} を安全に起動・停止することが可能になります。&lt;br /&gt;
{{Tip|{{ic|saveconfig}} にパラメータとしてファイル名を指定することができます。また、{{ic|clearconfig}} で設定を消去できます。}}&lt;br /&gt;
&lt;br /&gt;
==== 認証 ====&lt;br /&gt;
デフォルトで CHAP によるターゲットの認証が有効になっています。パスワードを設定したり、逆に認証を無効化することができます。&lt;br /&gt;
&lt;br /&gt;
===== 認証の無効化 =====&lt;br /&gt;
targetcli でターゲットまで移動して ({{ic|/iscsi/iqn.../tpg1}})、以下のコマンドを実行してください:&lt;br /&gt;
 .../tpg1&amp;gt; set attribute authentication=0&lt;br /&gt;
{{Warning|認証を無効化するとクライアント (イニシエータ) の IQN を知っていれば誰でもターゲットにアクセスできるようになります。あくまでテストあるいは家庭環境で行ってください。}}&lt;br /&gt;
===== 認証情報の設定 =====&lt;br /&gt;
ターゲットの ACL に移動して ({{ic|/iscsi/iqn.../tpg1/acls/iqn.../}})、以下のコマンドを実行すると現在の認証情報が表示されます:&lt;br /&gt;
 ...&amp;gt; get auth&lt;br /&gt;
以下のようにして認証情報を設定してください:&lt;br /&gt;
 ...&amp;gt; set auth userid=&amp;lt;username in target&amp;gt;&lt;br /&gt;
 ...&amp;gt; set auth password=&amp;lt;password in target&amp;gt;&lt;br /&gt;
 ...&amp;gt; set auth mutual_userid=&amp;lt;username in initiator&amp;gt;  (optional)&lt;br /&gt;
 ...&amp;gt; set auth mutual_password=&amp;lt;password in initiator&amp;gt;  (optional)&lt;br /&gt;
&lt;br /&gt;
最初の2つはターゲットのユーザー名とパスワードです。設定したユーザー名とパスワードを使用してイニシエータはターゲットにログインします。(&amp;quot;mutual_&amp;quot; と付いている) 残りの2つはイニシエータのユーザー名とパスワードです (全てのイニシエータは同じユーザー名とパスワードを使います)。イニシエータのユーザー名とパスワードは任意のパラメータであり、イニシエータは許可されたターゲットからの接続だけを通すようになります。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
* {{ic|targetcli sessions}} で現在開いているセッションを確認できます。このコマンドは {{AUR|targetcli-fb}} パッケージには含まれていますが &#039;&#039;lio-utils&#039;&#039; やオリジナルの &#039;&#039;targetcli&#039;&#039; には存在しません。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [http://www.linux-iscsi.org/wiki/Targetcli targetcli]&lt;br /&gt;
* [[永続的なブロックデバイスの命名]]: 適切なターゲットのブロックデバイスを使用。&lt;/div&gt;</summary>
		<author><name>Teasoak</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E4%BB%AE%E6%83%B3%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&amp;diff=31237</id>
		<title>仮想ユーザーメールシステム</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E4%BB%AE%E6%83%B3%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&amp;diff=31237"/>
		<updated>2023-04-14T15:09:04Z</updated>

		<summary type="html">&lt;p&gt;Teasoak: 必要なインストールパッケージを追記&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:メールサーバー]]&lt;br /&gt;
[[en:Virtual user mail system]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Courier MTA}}&lt;br /&gt;
{{Related|OpenDKIM}}&lt;br /&gt;
{{Related|Postfix}}&lt;br /&gt;
{{Related|SOGo}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
この記事では Arch Linux 環境に完全な仮想ユーザーメールシステムを出来る限りシンプルにセットアップする方法を説明しています。シンプルとはいえ、メールシステムは多数の複雑なコンポーネントによって構成されるため、必要な設定の数は大量です。&lt;br /&gt;
&lt;br /&gt;
この記事で使用するコンポーネントを並べると、メールサーバーは Postfix、IMAP サーバーは Dovecot、ウェブメールインターフェイスは Roundcube、全てを管理する管理インターフェイスは PostfixAdmin です。&lt;br /&gt;
&lt;br /&gt;
最新のセキュリティを利用して SMTP と SMTPS を使ってメールを送ったり POP3, POP3S, IMAP, IMAPS を使ってメールを受信できるようになるのが最終的な目標です。PostfixAdmin を利用することで設定は最小限に留め、ユーザーは Roundcube を使ってログインできるようにします。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
まず最初に、[[MySQL]] の記事に書かれているように MySQL サーバーをセットアップして、[[Postfix]] の記事に従って Postfix サーバーを設定してください。&lt;br /&gt;
&lt;br /&gt;
そして {{Pkg|dovecot}} と {{Pkg|roundcubemail}} パッケージを[[インストール]]します。また、postfixからmysqlにアクセスするため {{Pkg|postfix-mysql}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
=== ユーザー ===&lt;br /&gt;
セキュリティの観点から、メールを保存するための新しいユーザーを作成します:&lt;br /&gt;
 # groupadd -g 5000 vmail&lt;br /&gt;
 # useradd -u 5000 -g vmail -s /usr/bin/nologin -d /home/vmail -m vmail&lt;br /&gt;
通常ユーザーと衝突が発生しないように gid と uid は5000にしています。メールは全て {{ic|/home/vmail}} に保存されます。ホームディレクトリから {{ic|/var/mail/vmail}} などに変更することはできますが、以下で設定を作成するときに注意してください。&lt;br /&gt;
&lt;br /&gt;
=== データベース ===&lt;br /&gt;
空のデータベースとユーザーを作成する必要があります。この記事では、例としてユーザー &#039;&#039;postfix_user&#039;&#039; がデータベース &#039;&#039;postfix_db&#039;&#039; にパスワード &#039;&#039;hunter2&#039;&#039; で読み書きアクセスできるようにします。データベースとユーザーを作成したら、以下のようにデータベースを使用する権限を与えます:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ mysql -u root -p|&lt;br /&gt;
CREATE DATABASE postfix_db;&lt;br /&gt;
GRANT ALL ON postfix_db.* TO &#039;postfix_user&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;hunter2&#039;;&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に PostfixAdmin のセットアップページを開きます。PostfixAdmin で必要なテーブルとユーザーを作成してください。&lt;br /&gt;
&lt;br /&gt;
==== PostfixAdmin ====&lt;br /&gt;
[[Postfix#PostfixAdmin]] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== SSL 証明書 ===&lt;br /&gt;
メール通信を暗号化させるために SSL 証明書が必要になります (SMTPS/IMAPS/POP3S)。証明書を持っていない場合、作成してください:&lt;br /&gt;
 # cd /etc/ssl/private/&lt;br /&gt;
 # openssl req -new -x509 -nodes -newkey rsa:4096 -keyout vmail.key -out vmail.crt -days 1460 #days are optional&lt;br /&gt;
 # chmod 400 vmail.key&lt;br /&gt;
 # chmod 444 vmail.crt&lt;br /&gt;
&lt;br /&gt;
Alternatively, create a free trusted certificate using [[Let&#039;s Encrypt]]. The private key will be in {{ic|/etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/privkey.pem}}, the certificate in {{ic|/etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/fullchain.pem}}. Either change the configuration accordingly, or symlink the keys to {{ic|/etc/ssl/private}}:&lt;br /&gt;
 # ln -s /etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/privkey.pem /etc/ssl/private/vmail.key&lt;br /&gt;
 # ln -s /etc/letsencrypt/live/&#039;&#039;yourdomain&#039;&#039;/fullchain.pem /etc/ssl/private/vmail.crt&lt;br /&gt;
&lt;br /&gt;
=== Postfix ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
以下の設定をコピーアンドペーストする前に、{{ic|relay_domains}} が設定されていることを確認してください。複数のドメインを設定している場合、実行時に警告が表示されます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{ic|&amp;lt;nowiki&amp;gt;relay_domains&amp;lt;/nowiki&amp;gt;}} は危険です。知らない人のメールを Postfix で転送してしまう可能性があります。{{ic|&amp;lt;nowiki&amp;gt;$mydestination&amp;lt;/nowiki&amp;gt;}} は妥当なデフォルト値です。Postfix を起動する前に値をよく確認してください。http://www.postfix.org/BASIC_CONFIGURATION_README.html#relay_to を参照。}} &lt;br /&gt;
&lt;br /&gt;
また、SSL 証明書のパスも正しいか確認してください。&lt;br /&gt;
&lt;br /&gt;
==== Postfix の設定 ====&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/postfix/main.cf}} に以下を追加:&lt;br /&gt;
 relay_domains = $mydestination&lt;br /&gt;
 virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf&lt;br /&gt;
 virtual_mailbox_domains = proxy:mysql:/etc/postfix/virtual_mailbox_domains.cf&lt;br /&gt;
 virtual_mailbox_maps = proxy:mysql:/etc/postfix/virtual_mailbox_maps.cf&lt;br /&gt;
 virtual_mailbox_base = /home/vmail&lt;br /&gt;
 virtual_mailbox_limit = 512000000&lt;br /&gt;
 virtual_minimum_uid = 5000&lt;br /&gt;
 virtual_transport = virtual&lt;br /&gt;
 virtual_uid_maps = static:5000&lt;br /&gt;
 virtual_gid_maps = static:5000&lt;br /&gt;
 local_transport = virtual&lt;br /&gt;
 local_recipient_maps = $virtual_mailbox_maps&lt;br /&gt;
 transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
 &lt;br /&gt;
 smtpd_sasl_auth_enable = yes&lt;br /&gt;
 smtpd_sasl_type = dovecot&lt;br /&gt;
 smtpd_sasl_path = /var/run/dovecot/auth-client&lt;br /&gt;
 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination&lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination&lt;br /&gt;
 smtpd_sasl_security_options = noanonymous&lt;br /&gt;
 smtpd_sasl_tls_security_options = $smtpd_sasl_security_options&lt;br /&gt;
 smtpd_tls_security_level = may&lt;br /&gt;
 smtpd_tls_auth_only = yes&lt;br /&gt;
 smtpd_tls_received_header = yes&lt;br /&gt;
 smtpd_tls_cert_file = /etc/ssl/private/vmail.crt&lt;br /&gt;
 smtpd_tls_key_file = /etc/ssl/private/vmail.key&lt;br /&gt;
 smtpd_sasl_local_domain = $mydomain&lt;br /&gt;
 broken_sasl_auth_clients = yes&lt;br /&gt;
 smtpd_tls_loglevel = 1&lt;br /&gt;
 smtp_tls_security_level = may&lt;br /&gt;
 smtp_tls_loglevel = 1&lt;br /&gt;
&lt;br /&gt;
* 上記の設定で {{ic|virtual_mailbox_domains}} はメールを受信したいドメインのリストになります。{{ic|mydestination}} に設定したドメインを含めてはいけません。{{ic|mydestination}} はローカルホストだけで使うからです。&lt;br /&gt;
&lt;br /&gt;
* {{ic|virtual_mailbox_maps}} には仮想ユーザーとメールボックスのディレクトリの情報を記述します。ハッシュファイルを使って永続的なマップを保存することで、MySQL データベースの転送を上書きします。&lt;br /&gt;
&lt;br /&gt;
* {{ic|virtual_mailbox_base}} は仮想メールボックスを保存するベースディレクトリになります。&lt;br /&gt;
&lt;br /&gt;
{{ic|virtual_uid_maps}} と {{ic|virtual_gid_maps}} は仮想メールを所有する実際のシステムユーザーの ID になります。ストレージ目的に使用します。&lt;br /&gt;
&lt;br /&gt;
{{note|ウェブインターフェイス (Roundcube) を使用するため、他の方法でアクセスできないようにし、ログイン権限を与えずにアカウントを作成します。}}&lt;br /&gt;
&lt;br /&gt;
==== 設定ファイルの作成 ====&lt;br /&gt;
&lt;br /&gt;
以下の新しい設定では、まだ存在しない大量のファイルを参照しています。それらのファイルは次のステップから作成していきます。&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin でデータベースを設定して PostfixAdmin でデータベーススキーマを作成した場合、以下のファイルが作成できます。パスワードは必ず変更するようにしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = alias&lt;br /&gt;
select_field = goto&lt;br /&gt;
where_field = address&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_domains.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = mailbox&lt;br /&gt;
select_field = maildir&lt;br /&gt;
where_field = username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For alias domains functionality adjust the following files:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/main.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf,proxy:mysql:/etc/postfix/virtual_alias_domains_maps.cf&lt;br /&gt;
virtual_alias_domains = proxy:mysql:/etc/postfix/virtual_alias_domains.cf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_domains_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = &#039;%d&#039; and alias.address = CONCAT(&#039;%u&#039;, &#039;@&#039;, alias_domain.target_domain) AND alias.active = &#039;1&#039; AND alias_domain.active=&#039;1&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_domains.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
query = SELECT alias_domain FROM alias_domain WHERE alias_domain=&#039;%s&#039; AND active = &#039;1&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Note|PostfixAdmin を使わずにセットアップする場合、以下のファイルを作成してください。}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_alias_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = domains&lt;br /&gt;
select_field = virtual&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_domains.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = forwardings&lt;br /&gt;
select_field = destination&lt;br /&gt;
where_field = source&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfix/virtual_mailbox_maps.cf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
user = postfix_user&lt;br /&gt;
password = hunter2&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = postfix_db&lt;br /&gt;
table = users&lt;br /&gt;
select_field = concat(domain,&#039;/&#039;,email,&#039;/&#039;)&lt;br /&gt;
where_field = email&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;transport&#039;&#039; で &#039;&#039;postmap&#039;&#039; を実行してデータベースを生成:&lt;br /&gt;
 # postmap /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
=== Dovecot ===&lt;br /&gt;
&lt;br /&gt;
Dovecot のサンプル設定ファイルは使わずに、{{ic|/etc/dovecot/dovecot.conf}} を作成します。ユーザーとグループは postfix ではなく vmail になるので注意してください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
protocols = imap pop3&lt;br /&gt;
auth_mechanisms = plain&lt;br /&gt;
passdb {&lt;br /&gt;
    driver = sql&lt;br /&gt;
    args = /etc/dovecot/dovecot-sql.conf&lt;br /&gt;
}&lt;br /&gt;
userdb {&lt;br /&gt;
    driver = sql&lt;br /&gt;
    args = /etc/dovecot/dovecot-sql.conf&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
service auth {&lt;br /&gt;
    unix_listener auth-client {&lt;br /&gt;
        group = postfix&lt;br /&gt;
        mode = 0660&lt;br /&gt;
        user = postfix&lt;br /&gt;
    }&lt;br /&gt;
    user = root&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mail_home = /home/vmail/%d/%n&lt;br /&gt;
mail_location = maildir:~&lt;br /&gt;
&lt;br /&gt;
ssl_cert = &amp;lt;/etc/ssl/private/vmail.crt&lt;br /&gt;
ssl_key = &amp;lt;/etc/ssl/private/vmail.key&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{note|{{ic|dovecot.conf.sample}} を修正して使いたい場合、デフォルト設定ファイルでは {{ic|conf.d/*.conf}} の中身がインポートされていることに注意してください。上記の設定例では存在しない他のファイルが使われることになります。}}&lt;br /&gt;
&lt;br /&gt;
次に上の設定で参照した {{ic|/etc/dovecot/dovecot-sql.conf}} を作成します。あなたのシステム設定にあわせて以下の設定が正しいか確認してください。&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin を使用する場合、以下を追加:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot-sql.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
driver = mysql&lt;br /&gt;
connect = host=localhost dbname=postfix_db user=postfix_user password=hunter2&lt;br /&gt;
# It is highly recommended to not use deprecated MD5-CRYPT. Read more at https://wiki2.dovecot.org/Authentication/PasswordSchemes&lt;br /&gt;
default_pass_scheme = SHA512-CRYPT&lt;br /&gt;
# Get the mailbox&lt;br /&gt;
user_query = SELECT &#039;/home/vmail/%d/%n&#039; as home, &#039;maildir:/home/vmail/%d/%n&#039; as mail, 5000 AS uid, 5000 AS gid, concat(&#039;dirsize:storage=&#039;,  quota) AS quota FROM mailbox WHERE username = &#039;%u&#039; AND active = &#039;1&#039;&lt;br /&gt;
# Get the password&lt;br /&gt;
password_query = SELECT username as user, password, &#039;/home/vmail/%d/%n&#039; as userdb_home, &#039;maildir:/home/vmail/%d/%n&#039; as userdb_mail, 5000 as  userdb_uid, 5000 as userdb_gid FROM mailbox WHERE username = &#039;%u&#039; AND active = &#039;1&#039;&lt;br /&gt;
# If using client certificates for authentication, comment the above and uncomment the following&lt;br /&gt;
#password_query = SELECT null AS password, ‘%u’ AS user&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
PostfixAdmin を使用しない場合、以下を使用:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dovecot/dovecot-sql.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
driver = mysql&lt;br /&gt;
connect = host=localhost dbname=postfix_db user=postfix_user password=hunter2&lt;br /&gt;
# It is highly recommended to not use deprecated MD5-CRYPT. Read more at https://wiki2.dovecot.org/Authentication/PasswordSchemes&lt;br /&gt;
default_pass_scheme = SHA512-CRYPT&lt;br /&gt;
# Get the mailbox&lt;br /&gt;
user_query = SELECT &#039;/home/vmail/%d/%n&#039; as home, &#039;maildir:/home/vmail/%d/%n&#039; as mail, 5000 AS uid, 5000 AS gid, concat(&#039;dirsize:storage=&#039;,  quota) AS quota FROM users WHERE email = &#039;%u&#039;&lt;br /&gt;
# Get the password&lt;br /&gt;
password_query = SELECT email as user, password, &#039;/home/vmail/%d/%n&#039; as userdb_home, &#039;maildir:/home/vmail/%d/%n&#039; as userdb_mail, 5000 as  userdb_uid, 5000 as userdb_gid FROM users WHERE email = &#039;%u&#039;&lt;br /&gt;
# If using client certificates for authentication, comment the above and uncomment the following&lt;br /&gt;
#password_query = SELECT null AS password, ‘%u’ AS user&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{tip |Dovecot の変数に関する詳細は https://wiki2.dovecot.org/Variables を参照。}}&lt;br /&gt;
&lt;br /&gt;
==== DH parameters ====&lt;br /&gt;
&lt;br /&gt;
With v2.3 you are required to provide {{ic|1=ssl_dh = &amp;lt;/path/to/dh.pem}} yourself.&lt;br /&gt;
&lt;br /&gt;
To generate a new DH parameters file (this will take very long):&lt;br /&gt;
&lt;br /&gt;
 # openssl dhparam -out /etc/dovecot/dh.pem 4096&lt;br /&gt;
&lt;br /&gt;
then add the file to {{ic|/etc/dovecot/dovecot.conf}}&lt;br /&gt;
&lt;br /&gt;
 ssl_dh = &amp;lt;/etc/dovecot/dh.pem&lt;br /&gt;
&lt;br /&gt;
=== PostfixAdmin ===&lt;br /&gt;
[[Postfix#PostfixAdmin]] を見てください。&lt;br /&gt;
&lt;br /&gt;
{{ic|config.inc.php}} には以下の設定が必要です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/postfixadmin/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&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;
...&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Roundcube ===&lt;br /&gt;
&lt;br /&gt;
{{ic|php.ini}} ファイルで {{ic|pdo_mysql.so}} と {{ic|iconv.so}} 拡張をアンコメントしてください。また、{{ic|.htaccess}} のアクセス制限も確認してください。ブラウザで {{ic|http://localhost/roundcube/installer/}} を開いて指示に従います。&lt;br /&gt;
&lt;br /&gt;
Roundcube には別個にデータベースが必要になります。Roundcube と PostfixAdmin で同じデータベースを使うことはできません。新しいデータベース {{ic|roundcube_db}} と新しいユーザー {{ic|roundcube_user}} を作成してください。&lt;br /&gt;
&lt;br /&gt;
インストーラーの実行時は以下の事柄に注意してください:&lt;br /&gt;
&lt;br /&gt;
* IMAP ホストのアドレスは {{ic|ssl://localhost/}} あるいは {{ic|tls://localhost/}} になります。{{ic|localhost}} ではありません。&lt;br /&gt;
* ポートは {{ic|993}} を使ってください。SMTP と同じです。&lt;br /&gt;
* ラッパーモードを使用する場合は {{ic|ssl://localhost/}} でポートは {{ic|465}} にしてください。&lt;br /&gt;
* プロパー TLS モードを使用する場合は {{ic|tls://localhost/}} でポートは {{ic|587}} にしてください。&lt;br /&gt;
* 上記設定に関する説明は[[#Postfix|こちら]]を参照。&lt;br /&gt;
&lt;br /&gt;
インストール後の作業は [[PhpMyAdmin]] や PostFixAdmin などのウェブアプリと同じです。設定ファイルは {{ic|/etc/webapps/roundcubemail/config/config.inc.php}} にあり、{{ic|default.inc.php}} を上書きします。&lt;br /&gt;
&lt;br /&gt;
==== Apache の設定 ====&lt;br /&gt;
&lt;br /&gt;
Apache を使用する場合、サンプル設定ファイルをウェブサーバーの設定ディレクトリにコピーしてください:&lt;br /&gt;
&lt;br /&gt;
 # cp /etc/webapps/roundcubemail/apache.conf /etc/httpd/conf/extra/httpd-roundcubemail.conf&lt;br /&gt;
&lt;br /&gt;
そして以下を追加:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/httpd/conf/httpd.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Include conf/extra/httpd-roundcubemail.conf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==== Roundcube: パスワード変更プラグイン ====&lt;br /&gt;
&lt;br /&gt;
Roundcube からユーザーのパスワードを変更できるようにするには、以下を実行:&lt;br /&gt;
&lt;br /&gt;
以下の行を追加して password プラグインを有効化:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/roundcubemail/config/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$rcmail_config[&#039;plugins&#039;] = array(&#039;password&#039;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
password プラグインを設定して設定を変更できることを確認:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{hc|/usr/share/webapps/roundcubemail/plugins/password/config.inc.php|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$config[&#039;password_driver&#039;] = &#039;sql&#039;;&lt;br /&gt;
$config[&#039;password_db_dsn&#039;] = &#039;mysql://&amp;lt;postfix_database_user&amp;gt;:&amp;lt;password&amp;gt;@localhost/&amp;lt;postfix_database_name&amp;gt;&#039;;&lt;br /&gt;
// If you are not using dovecot specify another algorithm explicitly e.g &#039;sha256-crypt&#039;&lt;br /&gt;
$config[&#039;password_algorithm&#039;] = &#039;dovecot&#039;;&lt;br /&gt;
// For dovecot salted passwords only (above must be set to &#039;dovecot&#039;)&lt;br /&gt;
// $config[&#039;password_algorithm_prefix&#039;] = &#039;true&#039;;&lt;br /&gt;
// $config[&#039;password_dovecotpw&#039;] = &#039;doveadm pw&#039;;&lt;br /&gt;
// $config[&#039;password_dovecotpw_method&#039;] = &#039;SHA512-CRYPT&#039;;&lt;br /&gt;
// $config[&#039;password_dovecotpw_with_method&#039;] = true;&lt;br /&gt;
$config[&#039;password_query&#039;] = &#039;UPDATE mailbox SET password=%P WHERE username=%u&#039;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== 起動 ==&lt;br /&gt;
必要なデーモン全てを起動して設定をテストしてください。{{ic|postfix}} と {{ic|dovecot}} の両方を[[起動]]します。&lt;br /&gt;
&lt;br /&gt;
テスト用に、PostfixAdmin でドメインとメールアカウントを作成してください。作成したアカウントに Roundcube でログインして、自分自身にメールを送ってください。&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
{{Style|Needs some cleanup. There are probably more general ways to write this.}}&lt;br /&gt;
&lt;br /&gt;
Now lets see if Postfix is going to deliver mail for our test user.&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;
=== Error response ===&lt;br /&gt;
&lt;br /&gt;
 451 4.3.0 &amp;lt;lisi@test.com&amp;gt;:Temporary lookup failure&lt;br /&gt;
Maybe you have entered the wrong user/password for MySQL or the MySQL socket is not in the right place.&lt;br /&gt;
&lt;br /&gt;
This error will also occur if you neglect to run newaliases at least once before starting postfix. MySQL is not required for local only usage of postfix.&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;
Double check content of mysql_virtual_mailboxes.cf and check the main.cf for mydestination&lt;br /&gt;
&lt;br /&gt;
=== See that you have received a email ===&lt;br /&gt;
&lt;br /&gt;
Now type {{ic|$ find /home/vmailer}}.&lt;br /&gt;
&lt;br /&gt;
You should see something like the following:&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;
The key is the last entry. This is an actual email, if you see that, it is working.&lt;br /&gt;
&lt;br /&gt;
== 任意設定 ==&lt;br /&gt;
以下の設定は必須ではありませんが、セットアップを完全にします。&lt;br /&gt;
&lt;br /&gt;
=== クォータ ===&lt;br /&gt;
Dovecot によるメールボックスのクォータを有効にするには、以下を実行:&lt;br /&gt;
*まずは {{ic|/etc/dovecot/dovecot.conf}} に以下の行を追加:&lt;br /&gt;
 dict {&lt;br /&gt;
 	quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext&lt;br /&gt;
 }&lt;br /&gt;
 service dict {&lt;br /&gt;
 	unix_listener dict {&lt;br /&gt;
 		group = vmail&lt;br /&gt;
 		mode = 0660&lt;br /&gt;
 		user = vmail&lt;br /&gt;
 	}&lt;br /&gt;
 	user = root&lt;br /&gt;
 }&lt;br /&gt;
 service quota-warning {&lt;br /&gt;
 	executable = script /usr/local/bin/quota-warning.sh&lt;br /&gt;
 	user = vmail&lt;br /&gt;
 	unix_listener quota-warning {&lt;br /&gt;
 		group = vmail&lt;br /&gt;
 		mode = 0660&lt;br /&gt;
 		user = vmail&lt;br /&gt;
 	}&lt;br /&gt;
 }	&lt;br /&gt;
 mail_plugins=quota&lt;br /&gt;
 protocol pop3 {&lt;br /&gt;
 	 mail_plugins = quota&lt;br /&gt;
 	 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh&lt;br /&gt;
 	 pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;
 }&lt;br /&gt;
 protocol lda {&lt;br /&gt;
 	mail_plugins = quota&lt;br /&gt;
 	postmaster_address = postmaster@yourdomain.com&lt;br /&gt;
 }&lt;br /&gt;
 protocol imap {&lt;br /&gt;
 	mail_plugins = $mail_plugins imap_quota&lt;br /&gt;
 	mail_plugin_dir = /usr/lib/dovecot/modules&lt;br /&gt;
 }&lt;br /&gt;
 plugin {&lt;br /&gt;
        quota = dict:User quota::proxy::quotadict&lt;br /&gt;
        quota_rule2 = Trash:storage=+10%%&lt;br /&gt;
        quota_warning = storage=100%% quota-warning +100 %u&lt;br /&gt;
        quota_warning2 = storage=95%% quota-warning +95 %u&lt;br /&gt;
        quota_warning3 = storage=80%% quota-warning +80 %u&lt;br /&gt;
        quota_warning4 = -storage=100%% quota-warning -100 %u # user is no longer over quota&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
*{{ic|/etc/dovecot/dovecot-dict-sql.conf.ext}} を以下の内容で作成:&lt;br /&gt;
 connect = host=localhost dbname=yourdb user=youruser password=yourpassword&lt;br /&gt;
 map {&lt;br /&gt;
 	pattern = priv/quota/storage&lt;br /&gt;
 	table = quota2&lt;br /&gt;
 	username_field = username&lt;br /&gt;
 	value_field = bytes&lt;br /&gt;
 }&lt;br /&gt;
 map {&lt;br /&gt;
 	pattern = priv/quota/messages&lt;br /&gt;
 	table = quota2&lt;br /&gt;
 	username_field = username&lt;br /&gt;
 	value_field = messages&lt;br /&gt;
 }&lt;br /&gt;
*警告スクリプト {{ic|/usr/local/bin/quota-warning.sh}} を作成して実行可能属性を付与。警告スクリプトは postfix の lmtp 設定で動作します。&lt;br /&gt;
&amp;lt;pre&amp;gt; #!/bin/sh&lt;br /&gt;
 BOUNDARY=&amp;quot;$1&amp;quot;&lt;br /&gt;
 USER=&amp;quot;$2&amp;quot;&lt;br /&gt;
 MSG=&amp;quot;&amp;quot;&lt;br /&gt;
 if [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;+100&amp;quot; ]]; then&lt;br /&gt;
    MSG=&amp;quot;Your mailbox is now overfull (&amp;gt;100%). In order for your account to continue functioning properly, you need to remove some emails NOW.&amp;quot;&lt;br /&gt;
 elif [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;+95&amp;quot; ]]; then&lt;br /&gt;
    MSG=&amp;quot;Your mailbox is now over 95% full. Please remove some emails ASAP.&amp;quot;&lt;br /&gt;
 elif [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;+80&amp;quot; ]]; then&lt;br /&gt;
    MSG=&amp;quot;Your mailbox is now over 80% full. Please consider removing some emails to save space.&amp;quot;&lt;br /&gt;
 elif [[ &amp;quot;$BOUNDARY&amp;quot; = &amp;quot;-100&amp;quot; ]]; then&lt;br /&gt;
    MSG=&amp;quot;Your mailbox is now back to normal (&amp;lt;100%).&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o &amp;quot;plugin/quota=maildir:User quota:noenforcing&amp;quot;&lt;br /&gt;
 From: postmaster@yourdomain.com&lt;br /&gt;
 Subject: Email Account Quota Warning&lt;br /&gt;
 &lt;br /&gt;
 Dear User,&lt;br /&gt;
 &lt;br /&gt;
 $MSG&lt;br /&gt;
 &lt;br /&gt;
 Best regards,&lt;br /&gt;
 Your Mail System&lt;br /&gt;
 EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*以下のように {{ic|dovecot-sql.conf}} の user_query を変更して iterat_query を追加:&lt;br /&gt;
  user_query = SELECT &#039;/home/vmail/%d/%n&#039; as home, &#039;maildir:/home/vmail/%d/%n&#039; as mail, 5000 AS uid, 5000 AS gid, concat(&#039;*:bytes=&#039;, quota) AS quota_rule FROM mailbox WHERE username = &#039;%u&#039; AND active = &#039;1&#039;&lt;br /&gt;
  iterate_query = SELECT username AS user FROM mailbox&lt;br /&gt;
*上記と同じように SpamAssassin で LDA を設定。SpamAssassin を使っていない場合、{{ic|/etc/postfix/master.cf}} のパイプは以下のようになります:&lt;br /&gt;
  dovecot    unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}&lt;br /&gt;
上と同じように Postfix の {{ic|main.cf}} で有効にしてください:&lt;br /&gt;
  virtual_transport = dovecot&lt;br /&gt;
*postfixadmin のメールボックスごとにクォータを設定することができます。{{ic|config.inc.php}} に以下のような行を設定してください:&lt;br /&gt;
 $CONF[&#039;quota&#039;] = &#039;YES&#039;;&lt;br /&gt;
 $CONF[&#039;quota_multiplier&#039;] = &#039;1024000&#039;;&lt;br /&gt;
&lt;br /&gt;
postfix と dovecot サービスを再起動してください。問題がなければ、以下のコマンドで全てのユーザーのクォータと使用率を確認できます:&lt;br /&gt;
 doveadm quota get -A&lt;br /&gt;
roundcube でもクォータを確認できるはずです。&lt;br /&gt;
&lt;br /&gt;
== 注記 ==&lt;br /&gt;
&lt;br /&gt;
=== vmail フォルダの構造を変更する ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/home/vmail/example.com/user@example.com}} のようなディレクトリを使う代わりに {{ic|select_field}} と {{ic|where_field}} を以下のように置き換えることで (ドメイン名が付かない) わかりやすいサブディレクトリを使えます:&lt;br /&gt;
{{bc|1=query = SELECT CONCAT(SUBSTRING_INDEX(email,&#039;@&#039;,-1),&#039;/&#039;,SUBSTRING_INDEX(email,&#039;@&#039;,1),&#039;/&#039;) FROM users WHERE email=&#039;%s&#039;}}&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== IMAP/POP3 クライアントがメールを受け取れない ===&lt;br /&gt;
&lt;br /&gt;
エラーが表示される場合、{{ic|/var/log/mail.log}} を確認したり {{ic|journalctl -xn --unit postfix.service}} で詳しく出力をチェックしてください。&lt;br /&gt;
&lt;br /&gt;
待機中のメールが存在する場合 Maildir の {{ic|/home/vmail/mail@domain.tld}} が作成中ということもあります。そうでない場合は先にディレクトリを作成する必要はありません。&lt;br /&gt;
&lt;br /&gt;
=== Roundcube でメールを削除したり &#039;standard&#039; フォルダを表示できない ===&lt;br /&gt;
&lt;br /&gt;
Roundcube の {{ic|config.inc.php}} ファイルに以下が記述されていることを確認してください:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
$rcmail_config[&#039;default_imap_folders&#039;] = array(&#039;INBOX&#039;, &#039;Drafts&#039;, &#039;Sent&#039;, &#039;Junk&#039;, &#039;Trash&#039;);&lt;br /&gt;
$rcmail_config[&#039;create_default_folders&#039;] = true;&lt;br /&gt;
$rcmail_config[&#039;protect_default_folders&#039;] = true;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server/ja| Gentoo 完璧な仮想メールサーバ]&lt;/div&gt;</summary>
		<author><name>Teasoak</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=AUR_%E6%8A%95%E7%A8%BF%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3&amp;diff=30633</id>
		<title>AUR 投稿ガイドライン</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=AUR_%E6%8A%95%E7%A8%BF%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3&amp;diff=30633"/>
		<updated>2023-03-16T15:43:12Z</updated>

		<summary type="html">&lt;p&gt;Teasoak: 誤字の修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Arch について]]&lt;br /&gt;
[[Category:パッケージ開発]]&lt;br /&gt;
[[Category:パッケージ管理]]&lt;br /&gt;
[[en:AUR submission guidelines]]&lt;br /&gt;
[[pt:AUR submission guidelines]]&lt;br /&gt;
[[ru:AUR submission guidelines]]&lt;br /&gt;
[[zh-hans:AUR submission guidelines]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Arch User Repository}}&lt;br /&gt;
{{Related|Arch パッケージガイドライン}}&lt;br /&gt;
{{Related|AUR Trusted User ガイドライン}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
ユーザーは [[Arch User Repository]] を使って PKGBUILD を&#039;&#039;&#039;シェア&#039;&#039;&#039;することができます。AUR にはバイナリパッケージはありませんが、他のユーザがダウンロードできる PKGBUILD をアップロードできます。これらの PKGBUILD は完全に非公式なものであり、徹底して管理されてはいないので、自己責任において使うことになります。&lt;br /&gt;
&lt;br /&gt;
== パッケージを投稿する ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|パッケージを投稿する前に、[[Arch パッケージングスタンダード]] や「関連記事」の記事すべてを熟知していることが期待されます。あなたのアップロードしようとしているものが正しいことを &#039;&#039;&#039;慎重に検証してください&#039;&#039;&#039;。規則に違反するパッケージは、警告も無く &#039;&#039;&#039;削除される&#039;&#039;&#039; 場合があります。}}&lt;br /&gt;
&lt;br /&gt;
このセクションを2度読んでもパッケージやビルド/投稿のプロセスに分からないことがあれば、AUR に投稿する前に、[https://lists.archlinux.org/mailman3/lists/aur-general.lists.archlinux.org/ AUR メーリングリスト]や Arch フォーラムの [https://bbs.archlinux.org/viewforum.php?id=4 AUR フォーラム]に PKGBUILD を投稿するか、[[IRC チャンネル]] で公開レビューを依頼してください。&lt;br /&gt;
&lt;br /&gt;
=== 投稿の規則 ===&lt;br /&gt;
&lt;br /&gt;
パッケージを AUR に投稿する際には、以下のルールを守りましょう:&lt;br /&gt;
&lt;br /&gt;
* 投稿する PKGBUILD は、いかなる状況であっても、&#039;&#039;&#039;公式&#039;&#039;&#039; バイナリ &#039;&#039;&#039;リポジトリ&#039;&#039;&#039;に &#039;&#039;&#039;すでに存在する&#039;&#039;&#039; アプリケーションをビルドするものであってはいけません。[https://archlinux.org/packages/ 公式パッケージデータベース]でパッケージをチェックしてください。そのパッケージの任意のバージョンが存在する場合、そのパッケージを投稿&#039;&#039;&#039;しないでください&#039;&#039;&#039;。公式のパッケージが out-of-date である場合、そのフラグを立ててください。公式のパッケージが壊れている、あるいは機能不足である場合、[https://bugs.archlinux.org/ バグレポート]を提出してください。&lt;br /&gt;
&lt;br /&gt;
:この厳格な規則の&#039;&#039;&#039;例外&#039;&#039;&#039;は、パッケージが公式のパッケージと比べて &#039;&#039;&#039;追加の機能&#039;&#039;&#039; が有効化されていたり &#039;&#039;&#039;パッチ&#039;&#039;&#039; が当てられていたりする場合のみです。そのような場合は、{{ic|pkgname}} が、その違いを表すように異なっているべきです。例えば、サイドバーのパッチを適用した GNU screen のパッケージは {{ic|screen-sidebar}} などと名前を付けます。さらに、公式パッケージと衝突しないようにするため {{ic|1=provides=(&#039;screen&#039;)}} を使ってください。&lt;br /&gt;
&lt;br /&gt;
* そのパッケージが&#039;&#039;&#039;すでに存在してないか&#039;&#039;&#039; &#039;&#039;&#039;AUR をチェックしてください&#039;&#039;&#039;。メンテナンスされているパッケージがあるのならば、コメントからメンテナに修正を求めることができます。パッケージがメンテナンスされておらず、かつメンテナが応答しないならば、必要に応じてそのパッケージを継承し、更新することができます。重複したパッケージを作成しないでください。&lt;br /&gt;
&lt;br /&gt;
* 投稿するパッケージが皆の&#039;&#039;&#039;役に立つ&#039;&#039;&#039;か考えて下さい。他の誰かがそのパッケージを使おうと考えるでしょうか？あまりにも特殊化しすぎていませんか？少なからぬ人が役に立つと思うようなパッケージであれば、投稿するのにふさわしいでしょう。&lt;br /&gt;
&lt;br /&gt;
:AUR と公式リポジトリは、一般的にソフトウェアやソフトウェアに関連するコンテンツをインストールするパッケージのために存在します。該当するコンテンツとしては次のものが含まれます: 実行可能ファイル、設定ファイル、特定のソフトウェアもしくは Arch Linux ディストリビューション全体のオンライン・オフラインのドキュメント、ソフトウェアによって直接使用されるメディア。&lt;br /&gt;
&lt;br /&gt;
* AUR の PKGBUILD で {{ic|replaces}} を使うのはパッケージの名前を変更したいときです。例えば &#039;&#039;Ethereal&#039;&#039; から &#039;&#039;Wireshark&#039;&#039; に名前が変更されたときのようにです。&#039;&#039;&#039;既存のパッケージの別バージョン&#039;&#039;&#039;としてパッケージを作成する場合、{{ic|conflicts}} を使ってください (他のパッケージから必要とされる場合は {{ic|provides}} も使ってください)。{{ic|conflicts}} と {{ic|replaces}} は、同期後 (-Sy) に pacman が即座にパッケージを置き換えるかどうかが違います。{{ic|conflicts}} はパッケージのインストール時にしか評価されません。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ビルド済み&#039;&#039;&#039;の[[Wikipedia:ja:成果物|成果物]]を使うパッケージには、ソースコードが利用可能な場合は、{{ic|-bin}} サフィックスを付けなければなりません。この規則の例外として、[[Java パッケージガイドライン#パッケージング|Java]] を使う場合です。AUR には、makepkg によって作成されたバイナリ tarball や、filelist が含まれているべきではありません。&lt;br /&gt;
&lt;br /&gt;
* {{ic|PKGBUILD}} ファイルのトップには、現在の &#039;&#039;&#039;メンテナ&#039;&#039;&#039; と以前の &#039;&#039;&#039;貢献者&#039;&#039;&#039; の情報を含む &#039;&#039;&#039;コメント行&#039;&#039;&#039; を、以下の形式に沿って追加してください。スパムから身を守るためにメールアドレスをぼかしましょう。追加/不必要な行は任意です。&lt;br /&gt;
:もしあなたが既存の PKGBUILD のメンテナの役割を引き受けるのであれば、以下のようにあなたの名前をトップに追加してください。&lt;br /&gt;
:{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Maintainer: Your Name &amp;lt;address at domain dot tld&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:以前のメンテナがいたのであれば、彼らを貢献者として追加してください。これがあなたでなければ、オリジナルの投稿者に対しても同様です。あなたが共同メンテナであるならば、現在の他のメンテナの名前も追加してください。&lt;br /&gt;
:{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Maintainer: Your name &amp;lt;address at domain dot tld&amp;gt;&lt;br /&gt;
# Maintainer: Other maintainer&#039;s name &amp;lt;address at domain dot tld&amp;gt;&lt;br /&gt;
# Contributor: Previous maintainer&#039;s name &amp;lt;address at domain dot tld&amp;gt;&lt;br /&gt;
# Contributor: Original submitter&#039;s name &amp;lt;address at domain dot tld&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== 認証 ===&lt;br /&gt;
&lt;br /&gt;
AUR への書き込みアクセス権を得るには、[[SSH 鍵|SSH 鍵のペア]]が必要です。公開鍵の内容は &#039;&#039;My Account&#039;&#039; のプロファイルにコピーする必要があります。対応する秘密鍵は {{ic|aur.archlinux.org}} ホスト用に設定してください。例えば:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.ssh/config|&lt;br /&gt;
Host aur.archlinux.org&lt;br /&gt;
  IdentityFile ~/.ssh/aur&lt;br /&gt;
  User aur}}&lt;br /&gt;
&lt;br /&gt;
何かが起こった時に SSH 鍵を選択的に無効化できるように、既存の SSH 鍵を使うのではなく、[[SSH 鍵#SSH 鍵のペアを生成|新しく鍵のペアを作成]]するべきです:&lt;br /&gt;
&lt;br /&gt;
 $ ssh-keygen -f ~/.ssh/aur&lt;br /&gt;
&lt;br /&gt;
{{Tip|入力フィールドで改行することで複数の公開鍵をプロフィールに追加することができます。}}&lt;br /&gt;
&lt;br /&gt;
=== パッケージのリポジトリを作成する ===&lt;br /&gt;
&lt;br /&gt;
ゼロから[[パッケージの作成|新しいパッケージを作成]]しているのであれば、目的の [[PKGBUILD#pkgbase|pkgbase]] を[[Git|クローン]]して、ローカルの Git リポジトリと AUR リモートリポジトリを作る必要があります。パッケージがまだ存在しない場合、以下の警告が表示されるでしょう:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ git clone &amp;lt;nowiki&amp;gt;ssh://&amp;lt;/nowiki&amp;gt;aur@aur.archlinux.org/&#039;&#039;pkgbase&#039;&#039;.git|&lt;br /&gt;
Cloning into &amp;amp;apos;&#039;&#039;pkgbase&#039;&#039;&amp;amp;apos;...&lt;br /&gt;
warning: You appear to have cloned an empty repository.&lt;br /&gt;
Checking connectivity... done.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|&#039;&#039;pkgbase&#039;&#039;}} が[[#リクエスト|削除された]]パッケージとマッチする場合、リポジトリは空にはなりません。}}&lt;br /&gt;
&lt;br /&gt;
すでにパッケージを持っている場合、それが Git リポジトリでないならば、Git リポジトリとして[[Git|初期化]]してください。そして AUR リモートリポジトリを追加してください:&lt;br /&gt;
&lt;br /&gt;
 $ git remote add &#039;&#039;label&#039;&#039; &amp;lt;nowiki&amp;gt;ssh://&amp;lt;/nowiki&amp;gt;aur@aur.archlinux.org/&#039;&#039;pkgbase&#039;&#039;.git&lt;br /&gt;
&lt;br /&gt;
次に、このリモートリポジトリを[[Git#リモートの使用|フェッチ]]して初期化してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|&#039;&#039;pkgbase&#039;&#039;}} が削除されたパッケージとマッチする場合、衝突を解決するために [https://git-scm.com/docs/git-pull#git-pull---rebasefalsetruemergespreserveinteractive pull、rebase] してください。}}&lt;br /&gt;
&lt;br /&gt;
=== 新しいパッケージコンテンツを公開する ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|あなたのコミットは、あなたの[[Git#設定|グローバルな Git の名前と email アドレス]]によって認証されます。コミットを、push した後に変更するのは非常に困難です ({{Bug|45425}})。別の認証情報を使って AUR に push したい場合、パッケージごとに {{ic|git config user.name &amp;quot;...&amp;quot;}} と {{ic|git config user.email &amp;quot;...&amp;quot;}} を使って認証情報を変更することができます。}}&lt;br /&gt;
&lt;br /&gt;
パッケージングされたソフトウェアの新しいバージョンをリリースする際は、[[pkgver]] 変数か [[PKGBUILD#pkgrel|pkgrel]] 変数を更新して、すべてのユーザにアップグレードが必要であることを通知してください。typo の修正など、[[PKGBUILD]] のマイナーな変更だけの場合は、これらの値を更新しないでください。&lt;br /&gt;
&lt;br /&gt;
[[VCS パッケージガイドライン|VSC パッケージ]]の単なる {{ic|pkgver}} バージョンアップはコミットしないでください。それらは、上流に新しいコミットがある場合に、out-of-date とみなされません。新しいコミットをするのは、他の変更 (ビルドプロセスの変更など) が発生した場合に限ります。&lt;br /&gt;
&lt;br /&gt;
{{ic|PKGBUILD}} メタデータが変更された際 ({{ic|pkgver()}} が更新されたときなど) は必ず [[.SRCINFO]] を再生成してください。さもないと、AUR は更新後のバージョン番号を表示しません。&lt;br /&gt;
&lt;br /&gt;
パッケージをアップロード/アップデートするには、&#039;&#039;少なくとも&#039;&#039; {{ic|PKGBUILD}} と {{ic|.SRCINFO}} を、次に追加の新しい/変更された補助ファイル ([[PKGBUILD#install|&#039;&#039;.install&#039;&#039;]] ファイルや、[[パッケージにパッチを適用|パッチ]]などの[[PKGBUILD#source|ローカルのソースファイル]]) [[Git#ステージング|追加]]してください。そして、意味のあるコミットメッセージを付けて[[Git#変更をコミット|コミット]]し、最後に変更を AUR に[[Git#リポジトリにプッシュ|プッシュ]]してください。&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
&lt;br /&gt;
 $ makepkg --printsrcinfo &amp;gt; .SRCINFO&lt;br /&gt;
 $ git add PKGBUILD .SRCINFO&lt;br /&gt;
 $ git commit -m &amp;quot;&#039;&#039;useful commit message&#039;&#039;&amp;quot;&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|.SRCINFO}} が最初のコミットに含まれていなかった場合、[https://git-scm.com/docs/git-rebase#git-rebase---root --root で rebase する]か[https://git-scm.com/docs/git-filter-branch#git-filter-branch---tree-filterltcommandgt ツリーをフィルタリング]して追加してください。そうすれば、AUR は初期のプッシュを受け入れます。&lt;br /&gt;
* AUR は、{{ic|master}} ブランチへのプッシュのみを許可します。ローカルのブランチに他の名前をつけている場合、[https://git-scm.com/docs/git-branch 名前を変更し]、再びプッシュしてください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|作業ディレクトリとコミットもを可能な限り綺麗に保つには、すべてのファイルを除外する {{man|5|gitignore}} を作成し、必要に応じてファイルを force-add してください。}}&lt;br /&gt;
&lt;br /&gt;
== パッケージをメンテナンスする ==&lt;br /&gt;
&lt;br /&gt;
* 他のユーザーからのコメントやフィードバックをチェックして、ときには提案を汲み上げるようにしましょう。学習過程だと考えて下さい。&lt;br /&gt;
* パッケージを更新する度にバージョン番号を含むコメントを投稿するのはやめてください。コメント欄は、上記で説明したような意味ある内容のために使って下さい。&lt;br /&gt;
* パッケージを投稿したらそのまま放置するのはやめてください。アップデートをチェックし、PKGBUILD を修正してパッケージをメンテナンスするのがメンテナの仕事です。&lt;br /&gt;
* 何らかの理由でパッケージのメンテナンスが続けられない場合は、AUR ウェブインタフェースでパッケージを {{ic|disown}} するか、メーリングリストにメッセージを投稿してください。AUR パッケージのメンテナがパッケージを放棄すると、パッケージは[https://aur.archlinux.org/packages/?SB=n&amp;amp;do_Orphans=Orphans &amp;quot;孤児&amp;quot;]パッケージになります。&lt;br /&gt;
&lt;br /&gt;
== リクエスト ==&lt;br /&gt;
&lt;br /&gt;
孤児リクエスト、消去リクエスト、マージリクエストは右側の &amp;quot;パッケージアクション&amp;quot; の下にある &amp;quot;リクエストを送る&amp;quot; リンクをクリックして作成することができます。リクエストが作成されると自動的に通知メールがパッケージの現在のメンテナと [https://lists.archlinux.org/mailman3/lists/aur-requests.lists.archlinux.org/ aur-requests メーリングリスト] に送信されます。その後 [[Trusted Users]] がリクエストの承認・却下を行います。&lt;br /&gt;
* 孤児リクエストは、現在のメンテナが応答しない場合、通るのに2週間掛かります。例外は、180 日間以上パッケージに out-of-date フラグが立てられている場合です。この場合、孤児リクエストは自動的に受理されます。&lt;br /&gt;
* マージリクエストは、パッケージベースを削除し、票とコメントを他のパッケージベースに転送します。マージ先のパッケージベースの名前が必要です。これは &#039;git merge&#039; や GitLab のマージリクエストとは関係ないことに注意してください。&lt;br /&gt;
* 消去リクエストには以下の情報が必要です:&lt;br /&gt;
** 削除の理由を説明する短いノート。パッケージのコメント欄は、パッケージを削除する理由を説明するのに十分でないことに注意してください。TU が行動を起こしてすぐにそのような情報を入手できる場所は aur-requests メーリングリストだけだからです。&lt;br /&gt;
** 補足事項を加えて下さい。仮にあなたがメンテナならば、他のパッケージで提供されるようになった、パッケージ名を変えて元の管理者が認めた、など。&lt;br /&gt;
** パッケージが削除されたあとも、その Git リポジトリは AUR で利用可能なままです。&lt;br /&gt;
&lt;br /&gt;
{{TranslationStatus|AUR submission guidelines|2022-10-29|754975}}&lt;/div&gt;</summary>
		<author><name>Teasoak</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Misskey&amp;diff=30601</id>
		<title>Misskey</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Misskey&amp;diff=30601"/>
		<updated>2023-03-15T21:13:27Z</updated>

		<summary type="html">&lt;p&gt;Teasoak: 英語版をもとに、翻訳記事を新規作成しました。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ウェブアプリケーション]]&lt;br /&gt;
[[en:Misskey]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|nginx}}&lt;br /&gt;
{{Related|PostgreSQL}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
[https://github.com/misskey-dev/misskey Misskey] は分散型ソーシャル・ネットワーキングプラットフォームです。[[Wikipedia:Mastodon|Mastodon]] のように、メッセージや写真、映像をを共有したり、他のサービスと接続できます。インスタンス間は [[Wikipedia:ActivityPub|ActivityPub]] で通信します。&lt;br /&gt;
&lt;br /&gt;
この記事では、Misskeyのインストール方法とシンプルな設定について説明しています。詳細については [https://misskey-hub.net Misskey-Hub] を御覧ください。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{AUR|misskey}} と、リバースプロキシとなるウェブサーバーを [[インストール]] してください。&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|nginx}} (推奨) リバースプロキシ及びウェブサーバー&lt;br /&gt;
* {{Pkg|ffmpeg}} メディアのエンコードのため&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
=== default.conf ===&lt;br /&gt;
&lt;br /&gt;
最初のステップは、 {{ic|default.conf}} を編集してサーバーを反映させることです。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/webapps/misskey/default.conf|url: https://example.tld/}}&lt;br /&gt;
&lt;br /&gt;
設定値は、インターネットから到達可能なパブリックなURLである必要があります。推奨はしませんが、IPアドレスを使用することもできます。&lt;br /&gt;
{{Warning|変更するには、データベースをリセットする必要があります。}}&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL ===&lt;br /&gt;
&lt;br /&gt;
[[PostgreSQL]] を [[PostgreSQL#PostgreSQL_.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB|初期設定]]、 [[Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86|起動]] します。&lt;br /&gt;
デフォルトでは、Misskeyが使用する5432ポートを使ってlocalhostに到達できる必要があります。他のポートを使う場合は、 {{ic|default.conf}} を修正する必要があります。&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、 {{AUR|misskey}} はシステムユーザー &#039;&#039;misskey&#039;&#039; を使ってデータベースに接続します。 [[PostgreSQL#.E6.9C.80.E5.88.9D.E3.81.AE.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9.2F.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.81.AE.E4.BD.9C.E6.88.90|PostgreSQL 最初のデータベース/ユーザーの作成]] を参照して、PostgreSQLのユーザー &#039;&#039;misskey&#039;&#039; とデータベース &#039;&#039;misskey&#039;&#039; を作成します。&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
&lt;br /&gt;
[[redis]] サービスを [[Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86|起動]] します。&lt;br /&gt;
&lt;br /&gt;
=== Misskeyデータベースの初期化 ===&lt;br /&gt;
&lt;br /&gt;
Misskeyを開始する前に、データベースを初期化する必要があります。&lt;br /&gt;
&lt;br /&gt;
 # /usr/bin/misskey -i&lt;br /&gt;
{{Note|外部のデータベースサーバーの場合は、ヘルパースクリプトのパラメータを {{ic|-I}} に変更して、PostgreSQLとRedisの可用性チェックを実施しないようにします。}}&lt;br /&gt;
&lt;br /&gt;
== 起動 ==&lt;br /&gt;
&lt;br /&gt;
[[misskey]] サービスを [[Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86|起動]] します。&lt;br /&gt;
&lt;br /&gt;
サーバーの {{ic|:3000}} ポートでサービスが利用可能になります。&lt;br /&gt;
&lt;br /&gt;
最後のステップは、 [[Nginx]] のようなリバースプロキシを設定することです。 [https://misskey-hub.net Misskey-Hub] では [https://misskey-hub.net/en/docs/admin/nginx.html テンプレート] が提供されています。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
=== データベースの手動アップデート（マイグレーション） ===&lt;br /&gt;
場合によっては、データベースが停止していたり、ローカルに利用可能なPostgreSQLデータベースが存在しないことがあるでしょう。そのようなときには、パッケージアップデートの際にマイグレーションが実行されないため、手動による実施が必要になります。PostgreSQLとRedisに到達できる状態になってから、ヘルパースクリプトからマイグレーションを実施します。&lt;br /&gt;
 # /usr/bin/misskey -m&lt;br /&gt;
{{Note|外部のデータベースサーバーの場合は、ヘルパースクリプトのパラメータを {{ic|-M}} に変更して、PostgreSQLとRedisの可用性チェックを実施しないようにします。}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TranslationStatus|Misskey|2023-03-16|749820}}&lt;/div&gt;</summary>
		<author><name>Teasoak</name></author>
	</entry>
</feed>