我正在运行 Ubuntu 16.04 作为虚拟机。我安装了 Apache2 2.4.18。
我有一个包含要使用的 cgi 脚本的文件夹。为此,我在 /usr/lib/cgi-bin 中放置了指向该文件夹的符号链接。
当我从 Firefox 调用脚本时localhost/cgi-bin/linkName/script.cgi
出现 403 禁止错误。
当我将 script.cgi 复制到/usr/lib/cgi-bin
并用 调用它时localhost/cgi-bin/script.cgi
,它会运行,但由于缺少周围的文件和文件夹,因此会出现软件错误。
我有chmod 777
链接和它链接到的文件夹,但仍然收到错误。
除了将所有文件和文件夹复制到之外我还能做什么/usr/lib/cgi-bin
?
答案1
这是因为符号链接指向的目录不在您的文件中列出的目录内。因此,您需要在您的(或或) 文件"virtualhost".conf
中写下访问所需的指令。例如:/etc/apache2/apache2.conf
/etc/apache2/sites-available/*.conf
/etc/apache2/conf-available/*.conf
/usr/lib/cgi-bin
Alias /cgi-bin/linkName /usr/lib/cgi-bin
<Directory /usr/lib/cgi-bin>
Options +ExecCGI FollowSymLinks
DirectoryIndex disabled
AllowOverride None
Require all granted
# etc..
</Directory>
也许(但我不确定是否有必要)sudo chown -R www-data:www-data /usr/lib/cgi-bin
:。
如果您这样做了,Alias /cgi-bin/linkName /usr/lib/cgi-bin
那么您不需要创建符号链接。