root@ubuntu-512mb: /var/www/html# ls
about.html fonts images self-image.html whatnow.html
audio frozenyogurtshop.iml index.html singlepost.html
css frozenyogurtshop.psd js whatidid.html
这是我来自本地主机的项目。我只安装了 apache 并将我的项目放在那里。
我搜索了一些,找到了那些
root@ubuntu-512mb:/var/www/html# grep DocumentRoot /etc/apache2/sites-enabled/000-default.conf
DocumentRoot /var/www/html
所以我把它放到了真实的地方。
这些是权限
root@ubuntu-512mb:/var/www/html# ls -al /var/www/html
total 50920
drwx------ 8 root root 4096 Dec 24 01:04 .
drwxr-xr-x 3 root root 4096 Dec 24 00:35 ..
-rw-r--r-- 1 root root 2380 Dec 23 23:05 about.html
drwxr-xr-x 2 root root 4096 Dec 23 23:11 audio
drwx------ 2 root root 4096 Dec 23 22:20 css
drwx------ 2 root root 4096 Nov 21 2015 fonts
-rw-r--r-- 1 root root 335 Dec 23 20:25 frozenyogurtshop.iml
-rw-r--r-- 1 root root 52076522 Nov 21 2015 frozenyogurtshop.psd
drwxr-xr-x 2 root root 4096 Dec 24 00:06 .idea
drwx------ 3 root root 4096 Dec 23 21:37 images
-rw-r--r-- 1 root root 6920 Dec 23 23:00 index.html
drwx------ 2 root root 4096 Nov 21 2015 js
-rw-r--r-- 1 root root 2295 Dec 23 23:14 self-image.html
-rw-r--r-- 1 root root 2992 Dec 23 22:37 singlepost.html
-rw-r--r-- 1 root root 2111 Dec 23 23:10 whatidid.html
-rw-r--r-- 1 root root 2758 Dec 23 23:12 whatnow.html
起初它对 indexhtml 有效,但后来我将其删除了。
我应该安装其他东西吗?
答案1
不,您不应再安装任何其他东西,但应将内容的所有者更改为www-data
,即运行 apache 的用户。例如,考虑文件夹js
,其中所有者 ( root
) 具有完全访问权限,但所有其他用户(包括www-data
运行 Web 服务器的用户)均无访问权限。
这些信drwx------
:
第一个字符很特殊,d 表示目录。然后是三个字符的组。本例中的第一个三个字符rwx
表示文件所有者拥有R伊德,西礼仪Xecute 权限。其余的是 - 表示无访问权限。
如果是的话,drwxr-xr--
那就表明所有者拥有所有权限,组(例如,拥有该文件的组的成员)可以读取和执行,但不能写入,而其他人可以读取。
为了能够提供文件服务,网络服务器需要对文件具有读取权限,并且此外对文件路径下的所有目录执行权限。
要将所有权更改为 www-data,请运行命令
sudo chown -R www-data.www-data /var/www/html
这会使 www-data 成为文件的所有者,并且您的网络服务器将能够提供这些文件。