Help us understand the problem. What is going on with this article?

Dovecotが「Fatal: mkdir(/usr/local/var/run/dovecot) failed: Read-only file system」と言われて起動できない

状況

CentOS8でDovecot(2.3.10.1)をソースからコンパイルしてインストールして、起動しようとすると、「Fatal: mkdir(/usr/local/var/run/dovecot) failed: Read-only file system」と言われて起動できませんでした。

Permissionの問題かと思い、デレクトリをあらかじめ作ったり、ディレクトリのPermissionを777などにするなどいろいろ試しても、最終的に「master: Fatal: chmod() failed for /usr/local/var/run/dovecot/login: Read-only file system」が出て、にっちもさっちもいかなくなりました。

解決方法

/usr/lib/systemd/system/dovecot.service を修正します。

/usr/lib/systemd/system/dovecot.service
[Service]
...略...
ProtectSystem=false   <== full を false に変えます
...略...

systemdの設定をリロードします。

systemctl daemon-reload

ソースに対するパッチ

再コンパイルしてインストールしたら上書きされてしまうので、ソースへのパッチも置いときますね。

diff -uNr dovecot-2.3.10.1.org/dovecot.service.in dovecot-2.3.10.1/dovecot.service.in
--- dovecot-2.3.10.1.org/dovecot.service.in     2020-05-13 00:44:05.000000000 +0900
+++ dovecot-2.3.10.1/dovecot.service.in 2020-07-26 23:22:05.897623807 +0900
@@ -21,7 +21,7 @@
 ExecStop=@bindir@/doveadm stop
 PrivateTmp=true
 NonBlocking=yes
-ProtectSystem=full
+ProtectSystem=false
 ProtectHome=no
 PrivateDevices=true

おまけ

systemdの設定ファイルをインストールするには、configureするときに

./configure --with-systemdsystemunitdir=auto

のオプションを付けます。

参考

https://forum.iredmail.org/topic13321-iredmail-support-dovecot-error-open-failed-readonly-file-system.html

hirachan
最近好きなもの: メール、DNS、Linux、Python、AWS、アジャイル、スクラム、XP、自然言語処理、ファシリテーション
https://hirano.cc/
qualitia
コミュニケーションの効率化とセキュリティの強化を支援するさまざまなメッセージング関連ソリューションを クラウド型サービス・ソフトウェアで提供しています。常に「クオリティの追求」への挑戦にこだわり、その企業活動とテクノロジーで社会に貢献することを目標としています。 
https://www.qualitia.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away