禁止访问:无法访问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和该文件夹的完整路径的读取权限 。

在这里,我将描述如何做到这三点:

  1. 简短的方法 – 只需提供足够的权限;
  2. 正确的(根据我的知识)方式 – 使用终端和/etc/fstab ;
  3. 最简单的正确方法 – 使用GUI工具Disks

1.只需提供足够的权限

为此,打开终端窗口并键入:

 sudo chmod 755 /media/rahul/ 

或者通过Nemo提供这些权限,因为它显示在问题的屏幕截图中 。 请记住777不是最好的选择。


2.使分区成为静态文件系统树的一部分: /etc/fstab

指定静态安装点并通过/etc/fstab以正确的权限安装分区(设备):

1.创建适当的挂载点 – 打开终端窗口并键入:

 sudo mkdir /mnt/shared 

2.找到必要的初步信息:

  • 找到分区(设备)标识。 输入sudo blkid并识别您的目标分区(设备)。 我们假设它是/dev/sda4UUID=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或octal 755
    • fmask=111会将所有文件的权限设置为-rw-rw-rw-或octal 666
  • 当分区(设备)在ext4下格式化时,这个新行可能是:

     /dev/sda4 /mnt/shared ext4 default 0 0 

    Ant的内容权限可以像往常一样进一步管理 – chownchmod等。

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”挂载选项
  • 如何在启动时安装新驱动器