Caddy用service启动时报错read-only
今天又遇到以前碰到过的一个奇怪的问题:Caddy跑起来效果很奇怪。
我在Filemanager里面指定了.db文件,Caddy的status报错说文件为read-only。
查了各种文件的属性,用chmod chown chgrp改来改去,还是不解决问题。
最终在Telegram上面,Newlearner大佬指了一条路 https://caddy.community/t/problem-with-filemanager-plugin-and-systemd/3900/5,看过之后,再结合其它资料 https://www.cnblogs.com/goldd/articles/5756942.html
解决方案如下:
1. 如果想粗暴一点解决问题,或者还想用Filemanager管理更多目录的话,在/lib/systemd/system/caddy.service里面把ProtectSystem设置为off
保存caddy.service之后,需要 systemctl daemon-reload 再 service caddy restart
我在Filemanager里面指定了.db文件,Caddy的status报错说文件为read-only。
我不指定.db文件让Filemanager自动生成,Caddy能跑起来了,但是用Filemanager去管理Aria2的下载目录/usr/local/caddy/www/aria2/download/ 总是报错,就像下面这样
同样的命令(下图标记部分)在cmdline执行,一点问题也没有。Filemanager功能一切正常。查了各种文件的属性,用chmod chown chgrp改来改去,还是不解决问题。
最终在Telegram上面,Newlearner大佬指了一条路 https://caddy.community/t/problem-with-filemanager-plugin-and-systemd/3900/5,看过之后,再结合其它资料 https://www.cnblogs.com/goldd/articles/5756942.html
解决方案如下:
1. 如果想粗暴一点解决问题,或者还想用Filemanager管理更多目录的话,在/lib/systemd/system/caddy.service里面把ProtectSystem设置为off
; Make /usr, /boot, /etc and possibly some more folders read-only.ProtectSystem=off
2. 我的Filemanager只是用来管理Aria2下载的文件,所以我选择修改ReadWriteDirectories,添加一些目录(空格分隔)红色部分是我添加的。
; … except /etc/ssl/caddy, because we want Letsencrypt-certificates there.
; This merely retains r/w access rights, it does not add any new. Must still be writable on the host!
ReadWriteDirectories=/etc/ssl/caddy /usr/local/caddy/filemanager /usr/local/caddy/www/aria2/download
评论
发表评论