www-data và doveadm

Một số ứng dụng gặp lỗi khi www-data cố gắng gọi doveadm, thí dụ Password plugin của Roundcube hay Postfixadmin. Thông báo lỗi là không thể đọc các chứng chỉ Let’s Encrypt!

Có vài cách giải quyết tùy trường hợp, như sau:

Dùng hàm password_hash của PHP thay cho doveadm để sinh mật khẩu.

+ Với password addon của Roundcube xem ở đây

+ Với postfixadmin thì sửa như sau:

sed -i '/"doveadm pw"/i\
return empty(\$db_pwd)?'':password_hash(\$pw,constant("PASSWORD_".\$method));' /path/to/postfixadmin/functions.inc.php

sed -i "/crypt_password = pacrypt/a\
if(empty(\$crypt_password)) return password_verify(\$password,\$row['password']);" /path/to/postfixadmin/model/Login.php

Dùng acl để cấp quyền đọc cho www-data trên các thư mục archive live của Let’s Encrypt

apt install acl -y 
setfacl -m "u:www-data:rx" /etc/letsencrypt/{live/,archive/}
# Chú ý: Trong conf.d/10-ssl.conf phải có dòng
ssl_min_protocol = TLSv1.2
# Nếu không được nữa thì đành chuyển quyền sở hữu (free) của cả file và thư mục con
chown -R www-data /etc/letsencrypt/{live/,archive/}

Comments Off on www-data và doveadm

Filed under Software

Comments are closed.