禁止访问:无法访问Ubuntu中的VirtualHost URL
我只是从path /media/rahul/142E875C2E873630/xampp/htdocs/
创建新的虚拟主机,这是我在ubuntu中安装的驱动器的路径。 现在,当我创建这个url的虚拟主机时,它已成功创建,但现在,当我打开我的主机URL时,它显示403 Forbidden
。
我的shared.conf
:
ServerAdmin admin@example.com ServerName shared ServerAlias www.shared.com DocumentRoot /media/rahul/142E875C2E873630/xampp/htdocs Options FollowSymLinks AuthType None AllowOverride None Order deny,allow Deny from all Require all granted Options Indexes FollowSymLinks MultiViews AuthType None AllowOverride None Order allow,deny allow from all ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
我还在主机文件中添加了url
但仍然出现相同的错误。
有什么想法发生这种情况吗?
关于Permissions:
这完全取决于权限。 运行Web服务器的系统用户(www-data)必须具有对文件夹htdocs
和该文件夹的完整路径的读取权限 。
在这里,我将描述如何做到这三点:
- 简短的方法 – 只需提供足够的权限;
- 正确的(根据我的知识)方式 – 使用终端和
/etc/fstab
; - 最简单的正确方法 – 使用GUI工具
Disks
。
1.只需提供足够的权限
为此,打开终端窗口并键入:
sudo chmod 755 /media/rahul/
或者通过Nemo
提供这些权限,因为它显示在问题的屏幕截图中 。 请记住777
不是最好的选择。
2.使分区成为静态文件系统树的一部分: /etc/fstab
指定静态安装点并通过/etc/fstab
以正确的权限安装分区(设备):
1.创建适当的挂载点 – 打开终端窗口并键入:
sudo mkdir /mnt/shared
2.找到必要的初步信息:
-
找到分区(设备)标识。 输入
sudo blkid
并识别您的目标分区(设备)。 我们假设它是/dev/sda4
,UUID=142E875C2E873630
。 -
找到用户的
uid
(用户ID)和gid
(group-id)。 在终端类型:id
。 结果看起来像:uid=1000(rahul) gid=1000(rahul) groups=1000(rahul),..
对于更复杂的权限设置 ,将需要一些其他用户的数据,例如
id www-data
将返回:uid=33(www-data) gid=33(www-data),...
3.以root身份编辑/etc/fstab
文件(使用sudo
)并添加新行:
-
当设备/分区在
NTFS
下格式化时,这个新行可能是:/dev/sda4 /mnt/shared ntfs uid=1000,gid=33,nls=utf8,umask=0022,fmask=111 0 0
哪里:
-
/dev/sda4
分区(设备) – 由/dev
位置或UUID
– 包含文件系统。 -
/mnt/shared
将安装上述分区(设备)的位置。 -
ntfs
目标设备文件系统的类型。 -
uid=1000,gid=1000
将为用户和组rahul
设置所有权权限;uid=1000,gid=33
将为用户rahul
和组www-data
设置所有权。 -
nls=utf8
表示使用UTF-8转换文件名 。 -
umask=0022
会将所有文件夹的权限设置为drwxr-xr-x
或octal755
。 -
fmask=111
会将所有文件的权限设置为-rw-rw-rw-
或octal666
。
-
-
当分区(设备)在
ext4
下格式化时,这个新行可能是:/dev/sda4 /mnt/shared ext4 default 0 0
Ant的内容权限可以像往常一样进一步管理 –
chown
,chmod
等。
4.保存/etc/fstab
的编辑,然后重新加载: sudo mount -a
。
重要的提示! 如果这是外部(USB)设备,如果它被拔出,将出现错误。 解决方案是:1)进入恢复模式,2)编辑/etc/fstab
和3)注释( #
)上述行。
3.使分区成为静态文件系统树的一部分: Disks
1.打开Dash并键入Disks
:
2.找到目标设备,然后选择Edit Mount Options
:
3.编辑Mount Options并单击OK
:
4.安装设备 – 单击“ Play
按钮:
进一步的步骤
1.找到htdocs
文件夹的新位置。 应该是这样的:
/mnt/shared/xampp/htdocs
2.编辑您的shared.conf
文件:
ServerAdmin admin@example.com ServerName shared ServerAlias www.shared.com DocumentRoot /mnt/shared/xampp/htdocs #etc ... #etc ... ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
3.重新启动Apache2并尝试访问您的站点。
来源和进一步阅读
- 使用NTFS设备的工作示例
- 为什么/ media / username root的默认权限是root?
- / media / user文件夹上的权限问题阻止我访问外部媒体
- 使用Apache访问我的NTFS文件夹
- 在Ubuntu上启动NTFS分区
- Fstab – 制作默认权限755
- 如何在/ etc / fstab中正确挂载NTFS分区?
- 如何从命令行获取八进制文件权限?
- “dmask”和“fmask”挂载选项
- 如何在启动时安装新驱动器