为任何Web应用程序设置适当的文件权限是Web托管的重要部分。 在本教程中,您将学习如何在Linux Web服务器上托管的Laravel应用程序上正确配置文件权限。
首先,确定运行Web服务器的用户名。 以下是一些默认情况
- Linux上的Nginx使用帐户 – www-data
- Debian系统上的Apache使用account-www-data
- RedHat系统上的Apache使用帐户 – apache
我们假设我们的Web服务器使用帐户www-data运行。 现在递归更改所有文件和目录的所有者和组所有者。
sudo chown -R www-data:www-data /path/to/laravel
现在为所有文件设置权限644,为所有目录设置755。 执行以下命令。
sudo find /path/to/laravel -type f -exec chmod 644 {} ; sudo find /path/to/laravel -type d -exec chmod 755 {} ;
要使Laravel正常工作,您需要为Web服务器提供存储,缓存和任何其他目录的读写权限。 因此,请运行以下命令:
cd /path/to/laravel sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
现在,您的Laravel应用程序受到适当权限的保护。 但由于所有文件都拥有Web服务器的所有者和组所有者,因此在通过FTP/sFTP进行更改时可能会遇到问题。 要解决此问题,请将您的用户添加到Web服务器用户组:
sudo usermod -a -G www-data Ubuntu