如何授予我的用户在本地 Apache 服务器上添加/编辑文件的权限?

如何授予我的用户在本地 Apache 服务器上添加/编辑文件的权限?

可能重复:
如何让 Apache 以当前用户身份运行

我正在再次设置本地测试服务器,我似乎忘记了如何成功设置 LAMP 服务器。

我已经通过命令安装了 LAMP 服务器tasksel,并且已经/var/www根据以下内容配置了目录我找到的指南

安装 lamp 服务器后,您需要对 /var/www 目录具有写入权限。请按照以下步骤配置权限。

将您的用户添加到 www-data 组

sudo usermod -a -G www-data <your user name>

现在将 /var/www 文件夹添加到 www-data 组

sudo chgrp -R www-data /var/www

现在授予 www-data 组写入权限

sudo chmod -R g+w /var/www

因此logan用户现在是www-data组的一部分并且文件/文件夹权限如下输出:

logan@computer:/var/www$ ls -lart
total 172
-rw-r--r--  1 www-data www-data  1997 Oct 23  2010 wp-links-opml.php
-rw-r--r--  1 www-data www-data  3177 Nov  1  2010 wp-config-sample.php
-rw-r--r--  1 www-data www-data  3700 Jan  8  2012 wp-trackback.php
-rw-r--r--  1 www-data www-data   271 Jan  8  2012 wp-blog-header.php
-rw-r--r--  1 www-data www-data   395 Jan  8  2012 index.php
-rw-r--r--  1 www-data www-data  3522 Apr 10  2012 wp-comments-post.php
-rw-r--r--  1 www-data www-data 19929 May  6  2012 license.txt
-rw-r--r--  1 www-data www-data 18219 Sep 11 08:27 wp-signup.php
-rw-r--r--  1 www-data www-data  2719 Sep 11 16:11 xmlrpc.php
-rw-r--r--  1 www-data www-data  2718 Sep 23 12:57 wp-cron.php
-rw-r--r--  1 www-data www-data  7723 Sep 25 01:26 wp-mail.php
-rw-r--r--  1 www-data www-data  2408 Oct 26 15:40 wp-load.php
-rw-r--r--  1 www-data www-data  4663 Nov 17 10:11 wp-activate.php
-rw-r--r--  1 www-data www-data  9899 Nov 22 04:52 wp-settings.php
-rw-r--r--  1 www-data www-data  9175 Nov 29 19:57 readme.html
-rw-r--r--  1 www-data www-data 29310 Nov 30 08:40 wp-login.php
drwxr-xr-x 14 root     root      4096 Dec 24 17:41 ..
drwx------  9 www-data www-data  4096 Dec 26 16:11 wp-admin
drwx------  9 www-data www-data  4096 Dec 26 16:11 wp-includes
-rw-rw-rw-  1 www-data www-data  3448 Dec 26 16:14 wp-config.php
drwxrwxr-x  5 www-data www-data  4096 Dec 26 16:14 .
drwx------  6 www-data www-data  4096 Dec 26 16:19 wp-content

在 上一切正常http://localhost,我可以正常浏览网站。问题是我将开发一个 wordpress 插件,我不想处理 www 目录下的不同所有者以创建或修改文件/文件夹。当我以/var/www递归方式将 的所有权授予用户时,logan:www-data我可以创建/修改文件,但无法查看http://localhost。我收到禁止错误。我假设这是由于 Apache 的配置造成的?

考虑到这只是一个本地测试网站,配置 apache 让用户logan查看网站,chmod /var/www logan:logan这样我就可以创建文件等,而无需任何 sudo 命令,哪一个更健康或更容易;或者配置用户组让www-data用户像我的用户一样行事更容易logan?(我不知道这是怎么可能的,也许把www-data用户放在logan组下?)

请解释一下这个问题。我只想能够在我的用户下创建/修改文件,并且能够成功查看,http://localhost非常感谢您的帮助!

答案1

编辑了这篇原帖

以 root 身份编辑以下文件:/etc/apache2/envvars

使用以下命令:

sudo vim /etc/apache2/envvars

如果只有一个用户,则将用户和组更改为您自己,这样您就永远不会再遇到权限问题。

即,如果您仅以用户“logan”身份登录并运行服务器:

export APACHE_RUN_USER=logan export APACHE_RUN_GROUP=logan 哎呀,我确信你可以以某种方式将该用户更改为当前用户。然后,安装 user_dir,这样你就拥有了只有你才能完全控制的网站(除非你修改它)。

重启服务器

sudo /etc/init.d/apache2 restart

如果你看到:

  • 正在重新启动 Web 服务器 apache2 ... 正在等待 /var/lock/apache2 已存在但不是用户拥有的目录。请手动修复。正在中止。

您可以在重新启动 apache 之前更改 apache 锁的权限:

chown -R myuser:myuser /var/lock/apache2/

sudo service apache2 restart

相关内容