Linux apache开发configuration

接下来重新安装了我的系统,并且到了需要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启动一个项目,并且在没有许可权限的情况下运行每个函数。 有没有人有这方面的经验或解决方法?

额外:

  • 操作系统:Ubuntu 10.04
  • ARCH:x86_64

我已经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的每个对象。