如何向 Web 服务器授予目录和文件权限

如何向 Web 服务器授予目录和文件权限

我是 Linux 新手。我正在做一个使用 gosmore 路由引擎的项目。在一封关于某个问题的邮件中,我给开发人员回复说要解决这个问题:

“我认为您必须将 gosmore 目录移至主目录,并授予 Web 服务器读取和执行权限。在我的 Ubuntu 安装中,这是 /home/lambertus/gosmore,我的网页在 /home/lambertus/public_html/yours 中运行。”

我确实将所需的文件移动到了我的主目录,并使用此命令对其进行了 CHMOD :

chmod -R 755 gosmore/

问题是,当我对 gosmore 目录执​​行“ls -l”时,它显示我已经正确设置了权限 (drwxr-xr-x...)。但是当我检查 gosmore 目录中的权限 (右键单击 > 属性) 时,权限仍未设置。因此,我的 gosmore 安装仍然无法正常工作。我该怎么做才能真正设置目录所需的权限?提前致谢!:D

答案1

确保您正在查看同一个目录。Nautilus(GUI)和ls(在终端中)将显示相同的权限。您最终将gosmer目录放在哪里?通常这需要是/home/USER/public_html/gosmer,以便 Web 服务器将其视为http://localhost/~USER/gosmer/。要启用public_html,请使用sudo a2enmod user_dir

最后,您的 Web 服务器是否配置为运行 gosmer 使用的语言?例如,需要libapache2-mod-php安装 PHP,如果 gosmer 使用 CGI,则需要启用 CGI 模块 ( sudo a2enmod cgi) 并允许它(在 Apache 配置中将其添加ExecCGIOptions虚拟主机的指令中)。例如:

<Directory /somewhere>
  AllowOverride All
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
  IndexOptions NameWidth=*
<Directory>

/etc/apache2/mods-available/userdir.conf如果您将其用作public_html目标,则可能需要完成此操作。

相关内容