接下来重新安装了我的系统,并且到了需要apache和php的地步。
我一直在寻找很长一段时间,但我无法弄清楚如何configurationapache开发人员计算机的最佳途径。 计划很简单,我想安装Apache 2 + MySQL服务器,所以我可以开发一些PHP网站。
我不想安装灯,只是apache2,php5和mysql。 我一直在寻找答案的问题是/ var / www /文件夹的权限。 我已经尝试使用chown命令使其成为我的文件夹,然后是chmod -R 755 / var / www。 大多数事情工作,但是,例如fwrite将无法正常工作,因为我需要给每个人写权限,除非我改变我的全局umask到000我不知道我能做什么。
简而言之:我想在不使用灯的情况下安装apache2,php5,mysql-server,但以某种方式进行configuration,以便我可以打开netbeans,在/ var / www /中以root启动一个项目,并且在没有许可权限的情况下运行每个函数。 有没有人有这方面的经验或解决方法?
额外:
我已经find答案,所以我会在这里发布
首先使用以下身份login:
sudo su
添加一个新组,该组的所有用户都能够控制/ var / www /文件夹
groupadd www-pub
像这样将你自己的用户名添加到这个组中
usermod -a -G www-pub username
现在更改/ var / www /文件夹的所有者,因为所有者不会生根,而是www-data,并将组更改为刚创build的组:www-pub
chown -R www-data:www-pub /var/www/
我们仍然需要更改权限,以便我们可以在/ var / www /上创build文件。 如果你不知道“2”是什么意思,这代表SGID,有关这方面的信息可以在http://www.codecoffee.com/tipsforlinux/articles/028.htmlfind。
chmod 2775 /var/www/
如果/ var / www /中有文件,更新权限如下
find /var/www/ -type f -exec chmod 664 {} \; find /var/www/ -type d -exec chmod 775 {} \;
最后将文件/ etc / profile中的umask更改为002,umask应该是该文件的最后一行
www-data信息:
Apache作为用户www-data运行。 使用通用的www-data用户而不是特定的“apache”,允许为Debian打包的所有Web服务器共享由www-data拥有文件的文档根目录。
你最大的问题是你坚持要处理/ var / www。
启用用户目录(请参阅UserDir )要容易得多,并让apache从您的主目录中提供内容,就像在大多数托pipe服务上一样。
另一个解决scheme可能是ACL。
现代Linux可以添加ACL,旧的用户:group:others模型,使用setfacl和getfacl。
您需要启用使用扩展ACL装入的文件系统才能使用ACL。 这可以作为重新安装来实现。
除此之外,ACL允许在目录上设置默认的ACL。 也就是说,您可以在目录上设置默认的ACL,并且该ACL将应用于该目录中创build的每个对象。