我正在Linux上学习PHP。我有一个在本地运行的Apache2服务器。每当我尝试将PHP文件保存到Apache2服务器的根目录(/ var / www / html /)时,我都被告知该权限已被拒绝。
所以,我搜索了一下,发现默认情况下,admininstartor没有root访问权限,除非明确请求它(比如sudo su)。我还看到一些要求我使用gksu nautilus
的帖子。但是,我的linux 14.04 LTS Ubuntu没有附带它。 (我知道我可以使用apt-get gksu
,但目前无法从互联网上下载。
无论如何,我可以更改我的Apache2服务器root directoy的权限,以便我可以使用任何文本编辑器直接保存/编辑到该目录。目前,只有那些不需要从互联网上下载东西的方式才能实现。
答案 0 :(得分:1)
您可以将DocumentRoot
文件中的/etc/apache2/httpd.conf
设置为Apache具有写入权限的位置。例如,如果您在那里创建了一个目录,则可以将其设置为/tmp/www
。 (如果您仍然无法访问,则可以通过运行chmod a+r /tmp/www
始终为每个人提供读取权限,但您可能应该没问题。)
显然将您的Apache Document Root保留为/tmp/www
是一个坏主意,因此一旦您使用它就可以将其更改为/home/chris
。
一个重要的注意事项:在您进行此类更改后,必须重新启动Apache服务器。这可以通过运行apachectl restart
来完成;具有讽刺意味的是,您可能必须拥有管理员权限才能执行此操作(或者甚至首先编辑配置文件),因此请确保为编辑和放大器添加前缀。使用sudo
重新启动以防万一。
答案 1 :(得分:1)
对于Linux打开终端,使用root登录,然后转到根文件夹并运行以下命令chmod 777
以下是示例: -
要将所有目录更改为777(-rwxr-rwxr-rwxr):
find /opt/lampp/htdocs -type d -exec chmod 777 {} \;
要将所有文件更改为644(-rwxr-rwxr - rwxr - ):
find /opt/lampp/htdocs -type f -exec chmod 777 {} \;
如果这不起作用,请尝试以下方法: -
创建一个新组
groupadd webadmin
将您的用户添加到论坛
usermod -a -G webadmin user1
usermod -a -G webadmin user2
更改网站目录的所有权
chown root:webadmin /var/www/html/
更改网站目录的权限
chmod 2775 /var/www/html/ -R
现在任何人都可以读取文件(包括apache用户),但只有root和webadmin可以修改其内容。
希望这可以帮助您解决问题。