禁止:无法访问 Ubuntu 中的 VirtualHost URL

禁止:无法访问 Ubuntu 中的 VirtualHost URL

我刚刚从路径/media/rahul/142E875C2E873630/xampp/htdocs/(即我在 ubuntu 中挂载的驱动器的路径)创建新的虚拟主机。现在,当我创建此 URL 的虚拟主机时,它已成功创建,但现在,当我打开主机 URL 时,它显示403 Forbidden

我的shared.conf

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName shared
ServerAlias www.shared.com
DocumentRoot /media/rahul/142E875C2E873630/xampp/htdocs
<Directory />
    Options FollowSymLinks
    AuthType None
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory /media/rahul/142E875C2E873630/xampp/htdocs/>
    Require all granted
    Options Indexes FollowSymLinks MultiViews
    AuthType None
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

我也添加了url主机文件但仍然出现同样的错误。

知道为什么会发生这种情况吗?

关于权限:

在此处输入图片描述

答案1

这都是关于权限的问题。运行你的 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(user-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将为用户和组设置所有权权限rahuluid=1000,gid=33将为用户rahul和组设置所有权权限www-data
    • nls=utf8方法使用 UTF-8 转换文件名
    • umask=0022将设置权限将所有文件夹转换为drwxr-xr-x八进制755
    • fmask=111将所有文件的权限设置为-rw-rw-rw-或八进制666
  • 当分区(设备)格式化为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.编辑挂载选项并点击OK

在此处输入图片描述

4.安装设备——单击Play按钮:

在此处输入图片描述


进一步措施

1.找到文件夹的新位置htdocs。它应该是这样的:

/mnt/shared/xampp/htdocs

2.编辑您的shared.conf文件:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName shared
    ServerAlias www.shared.com
    DocumentRoot /mnt/shared/xampp/htdocs
    <Directory />
        #etc ...
    </Directory>
    <Directory /mnt/shared/xampp/htdocs/>
        #etc ...
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined   
</VirtualHost>

3.重新启动 Apache2 并尝试访问您的站点。


资料来源和进一步阅读

相关内容