由于权限不对导致部署 magento 失败

问题重现

bin/magento setup:install \
--base-url=https://xx.xx.com \
--db-host=127.0.0.1:3308 \
--db-name=magento \
--db-user=root \
--db-password= \
--backend-frontname=admin \
--admin-firstname=admin \
--admin-lastname=admin \
--admin-user=admin \
--admin-password=xx \
--language=en_US \
--currency=AUD \
--timezone=Australia/Melbourne \
--use-rewrites=1 \
--search-engine=opensearch \
--elasticsearch-host=localhost \
--elasticsearch-port=9200 \
--elasticsearch-index-prefix=magento \
--elasticsearch-timeout=15
xx.xx.com {
root * /srv/magento/pub
php_fastcgi 127.0.0.1:9000
file_server
 
encode gzip
log {
output file /var/log/caddy/access.log
format console
}
 
# Enable pretty url rewrites
try_files {path} {path}/ /index.php?{query}&p={path}
 
# Protect sensitive resources
@protected {
path_regexp ^/(app/|includes/|lib/|var/|vendor/|generated/|setup/|update/|dev/|downloader/|shell/)
}
respond @protected 403
}

问题原因

如何查看 php fpm 监听的是 UNIX sock 还是 TCP文中提到 /etc/php-fpm.d/www.conf,这个配置文件,可以还可以配置运行 php-fpm 的用户。其中有两行是:

user = caddy
group = caddy

这里的用户有几个要求:

解决方案

使用命令 sudo chown -R caddy:caddy /psrv/magento 把网站文件和目录的用户更改为 caddy 即可