假设我已经完成了安装现代版本的 Ubuntu,并且有以下脚本。
#!/bin/sh
echo "Content-type: text/html\n"
echo "<html><body>Hello world</body></html>"
如何安装和配置 Apache 以提供“Hello world”网页http://本地主机使用这个脚本?
答案1
快速方法
安装 Apache Web 服务器
在命令行(终端)应用程序中:
sudo apt-get install apache2
使你的脚本可被 Apache 执行
对于此示例,我们假设 CGI 脚本已命名test.sh
并保存在您的个人主文件夹中。要让 Apache 使用test.sh
,该脚本首先需要具有可执行权限:
chmod 755 $HOME/test.sh
它还需要移动到 Apache 指定的 CGI 文件夹。对于 Ubuntu(和其他基于 Debian 的操作系统),这是 /usr/lib/cgi-bin/
,而 HTML 和其他内容则存储在 中/var/www
。
sudo mv $HOME/test.sh /usr/lib/cgi-bin/
访问本地服务器的输出
Apache 将test.sh
在以下位置提供生成的 HTMLhttp://localhost/cgi-bin/test.sh。如果 Apache 位于您自己的机器之外的某个地方,请将“localhost”替换为服务器的 URL 或 IP 地址。
将 CGI 脚本存储在 /var/www/test-cgi 中,而不是 /usr/lib/cgi-bin/
您需要修改 vanilla Apache 配置以将 CGI 脚本存储在另一个文件夹中。
sudoedit /etc/apache2/sites-enabled/000-default
在指令内添加以下内容<VirtualHost>
:
ScriptAlias /test-cgi/ /var/www/test-cgi/
<Directory "/var/www/test-cgi">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
然后,在命令行中:
sudo mkdir /var/www/test-cgi
sudoedit /var/www/test-cgi/test.sh
然后,在命令行中重新启动 Apache:
sudo apachectl restart
与快速方法,CGI 输出应在http://localhost/test-cgi/test.sh(如果您进行远程开发,请用服务器域替换“localhost”)。
故障排除
如果您有问题,请咨询Apache 官方文档。