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 维护 > 刷新缓存,删除临时文件,处理文件,提供所需的权限,检查其他问题,然后尝试使用权限修复,一些主要问题通过后端刷新缓存解决..
我最近将一个 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 维护 > 刷新缓存,删除临时文件,处理文件,提供所需的权限,检查其他问题,然后尝试使用权限修复,一些主要问题通过后端刷新缓存解决..