正确的/ var / www和wordpress权限

我已经设置了一个LAMP服务器,我可以通过SSH访问“it works”页面,从网络浏览器(通过ip地址)和外部使用dyndns访问。

我们有一些Wordpress项目位于/ var / www / wordpress1 / var / www / wordpress2等的子目录中。我无法从浏览器访问这些子目录以设置WP – 或(我假设)看到浏览器上的内容。 我的浏览器出现403 Forbidden错误。

我认为这是一个权限问题。 你能告诉我权限的正确设置:

  1. 允许开发人员和我进行读/写。
  2. 允许WP设置并执行其操作
  3. 允许访问者通过网络访问网站。

我还应该提一下,子文件夹实际上是另一个内部硬盘上文件夹的simlinks – 我不认为这会有所作为,但我想我应该透露。

total 12 drwxr-xr-x 2 root root 4096 2012-07-12 10:55 . drwxr-xr-x 13 root root 4096 2012-07-11 20:02 .. lrwxrwxrwx 1 root root 43 2012-07-11 20:45 admin_media -> /root/django_src/django/contrib/admin/media -rw-r--r-- 1 root root 177 2012-07-11 17:50 index.html lrwxrwxrwx 1 root root 14 2012-07-11 20:42 media -> /hdd/web/media lrwxrwxrwx 1 root root 18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress 

以下是使用chown -R www-data:www-data /var/www

 total 12 drwxr-xr-x 2 www-data www-data 4096 2012-07-12 10:55 . drwxr-xr-x 13 root root 4096 2012-07-11 20:02 .. lrwxrwxrwx 1 www-data www-data 43 2012-07-11 20:45 admin_media -> /root/django_src/django/contrib/admin/media -rw-r--r-- 1 www-data www-data 177 2012-07-11 17:50 index.html lrwxrwxrwx 1 www-data www-data 14 2012-07-11 20:42 media -> /hdd/web/media lrwxrwxrwx 1 www-data www-data 18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress 

我仍然无法通过浏览器访问。

首先,您应确保您的用户名包含在www-data组中。 如果没有,您可以将用户名添加为www-data

 sudo adduser $USER www-data 

之后,您应该将/ var / www的所有权更改为您的用户名

 sudo chown $USER:www-data -R /var/www 

下一步, 对于一般做法 ,您应该将权限更改为755(rwxr-xr-x),不建议为安全原因将权限更改为777

 sudo chmod u=rwX,g=srX,o=rX -R /var/www 

wordpresslaravel或其他框架的特定权限相关,您可以分别阅读文档。

希望能帮助到你…

显然这是Ubuntu服务器指南中推荐的方式:

第11章Web服务器。

1.4。 共享写权限

如果多个用户能够写入同一目录,则必须向他们共享的组授予写入权限。 以下示例向/ var / www / html授予对“webmasters”组的共享写入权限

我使用www-data 。 只需将“网站管理员”替换为您的群组,请务必将用户添加到该群组中。

 sudo chgrp -R webmasters /var/www/html sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \; sudo find /var/www/html -type f -exec chmod g=rws "{}" \; 

我刚从我的mac桌面上用Dreamweaver测试它并上传和替换文件添加文件等,它保留了正确的权限,只有一个例外,本地用户成为新文件的所有者以及www-data,但是root中创建的任何文件html目录以root身份保留其所有权,但可由本地用户编辑。

 $ls -l $-rw-rw-r-- 1 localUser www-data 11505 May 28 09:56 index2.html $-rw-rwSr-- 1 root www-data 11535 May 28 09:58 index.html 

希望这可以清理事情并帮助疲惫,因为我知道我总是厌倦这种情况,但现在我很清楚。

哦,我强烈建议使用带有密钥的sftp访问你的ftp,对我很有用,不需要PureFTP或任何其他不安全的方法将文件传送到网站。 在Digital Ocean网站上有很多关于使用ssh密钥保护服务器的教程:

如何在Linux服务器上配置基于SSH密钥的身份validation

检查Apache是​​否具有/hdd/web/media/hdd/web/wordpress执行权限。

跑:

 chmod o+x /root /root/site /root/site/about 

此外,Apache必须配置为允许访问文件系统上的目录。 这必须由系统管理员通过在apache配置文件(httpd.conf)中插入指令来完成。

由于真实目录位于Web根目录内,因此必须可以访问,但可能没有为目录启用FollowSymLinks – 这也必须添加到指令中。

请参见http://httpd.apache.org/docs/2.0/mod/core.html#directory

阅读Ubuntu安装指南

 chown -R www-data /usr/share/wordpress 

也许以这种方式安装它可能更容易,而不是试图解压缩/var/www上的文件

https://help.ubuntu.com/community/WordPress

wordpress在apache上运行的任何方式……对吗? 如果你想这样做..你显示do为@metamorph然后在apache2 httpd.conf如下:

  ServerName site ServerName site.domain DocumentRoot /srv/www/wordpress.site DirectoryIndex index.php  

然后是default-server.conf

  Options None AllowOverride None Order allow,deny Allow from all  

也许最好一步一步地做https://help.ubuntu.com/community/WordPress