TYPO3 9LTS - 将实例移动到带有 plesk onyx 的 linux rootserver 后图像不会呈现

TYPO3 9LTS - Images won't render after moving instance to a linux rootserver with plesk onyx

我最近将一个 typo3 9lts 实例从托管服务器移动到带有 linux plesk onyx 的根服务器。它似乎工作正常,除了图像不会渲染,尽管它们在那里。我收到 'HTTP/2 403 Forbidden 21ms' 错误所以我认为这是一个权限问题。如果我看一张图片,例如

/fileadmin/_processed_/2/9/csm_typo3-book-backend-login_af97155c7b.png

...并比较路径,我为托管服务器 (MS) 和根服务器 (rs) 设置了以下权限:

fileadmin
MS: rwx rwx r-x
RS: rwx r-x r-x 

_processed_
MS: rwx r-x ---
RS: rwx r-x --- 

2
MS: rwx rwx r-x
RS: rwx r-x r-x 

9
MS: rwx rwx r-x
RS: rwx r-x r-x 

csm_typo3-book-backend-login_af97155c7b.png
MS: rw- rw- r--
RS: rw- r-- r--

我需要做什么才能重新渲染图像?如果我需要更改权限,最好的方法是什么?

重新渲染图像

您可以使用安装工具(维护 › 删除临时资产)重新渲染图像。

权限

您应该考虑适合您的用例的权限概念。

我只是建议我如何做 - 还有许多其他同样可行的方法。

找出您的网络服务器使用的用户组

# search for php-fpm (or apache, or nginx, ... depending on which process runs PHP when accessed via the web on your server)
sudo ps -o command,user,group -p $(pgrep php-fpm)

将正在更改文件的用户放入同一组

这可能是您用于部署到服务器的用户,运行 FTP-daemon 的用户,...

sudo usermod -a -G WEBSERVER_GROUP YOUR_USERNAME

在网络应用程序目录中设置user/group/permissions

cd YOUR_APP_ROOT_DIR # e.g. /var/www/my_typo3
sudo chown -R WEBSERVER_USER:WEBSERVER_GROUP .
sudo find . -type f -exec chmod 660 {} \;
sudo find . -type d -exec chmod 2770 {} \;

这还会在目录上设置 setgid 位,这意味着新创建的子目录将具有相同的组。

确保新文件也使用这些权限创建

检查您的用户(或 FTP 守护程序,或...)创建的新文件是否将完全权限授予该组!

umask
# that should start with 000 - e.g. 0002 is OK, 0007 would be most secure

如果错误(常见:0022),设置为umask 0002。最容易坚持的通常是在 /etc/profile 或 ~/.bashrc 中设置它。

还要确保 TYPO3 为组提供完全写入权限并设置 setgid:

# In LocalConfiguration.php: (or wherever you set your TYPO3 configuration):
SYS/fileCreateMask = '0660' # you can ignore the last digit, 0 for maximum security
SYS/folderCreateMask = '2770' # you can ignore the last digit 

支票

退出并重新登录。

umask # should be 000x
groups # should include the webserver group

# create files and folders with your user 
# create files and folders in TYPO3 "File List" module and check permissions

这应该是一个安全的设置,可以很好地应对 运行 权限问题。它允许从 IDE 直接上传。它允许文件被多个 users/daemons.

更改

首先你应该尝试清除 TYPO3 维护 > 刷新缓存,删除临时文件,处理文件,提供所需的权限,检查其他问题,然后尝试使用权限修复,一些主要问题通过后端刷新缓存解决..