配置FTP和Apache的权限

我有一个使用FileZilla访问的Web服务器(Apache2)。

在我的网络服务器上,我有一个dir / home / admin / www,我绑定到/ var / www。 所以我可以通过FTP访问它。 这完美!

但每次我重新启动我的网络服务器时,我必须一次又一次地进行绑定。 我不能对我的网络服务器说那些地图需要始终绑定吗? 此外,我需要每次重置所有权限,我做错了什么?

一个更好,更安全的解决方案(我对互联网有权访问管理员主文件夹感到不安!)是在/中创建一个webroot文件夹

终点时间!

cd / sudo mkdir /webroot sudo groupadd webdev sudo usermod -a -G webdev yourusername sudo chown www-data:webdev /webroot/ 

现在将apache指向apache配置底部的新文档root / webroot。 这可以在这里找到:/etc/apache2/apache2.conf

 sudo nano /etc/apache2/apache2.conf 

要保存CTRL-O,如果您不熟悉,请按CTRL-X退出nano。

只需将DocumentRoot /var/www/替换为/webroot/

立即将您的网页文件复制到webroot。

 sudo /etc/init.d/apache2 reload 

Apache现在应该已经重新启动并加载了所有配置。

这在root中创建了一个名为webroot的目录,由apache2拥有,组所有者是新组webdev,您的用户现在将其附加到成员(这不会替换任何组!)。 这将允许您编辑FTP中的文件!

对于单站点apache服务器来说,这是一个非常简单的解决方案。 如果您计划运行多个站点(例如,在webroot中为它们创建单独的文件夹),则需要做更多工作

这样做的好处是,如果有人确实发现了漏洞,它们将被锁定在webroot文件夹中,而不是您的主文件夹! 此外,如果您需要允许更多用户修改站点,您可以使用sudo usermod -a -G theirusername webdev他们的用户名webdev将他们的用户添加到webdev组

希望这可以帮助!

亲切的问候