生成动态网页

本书的大部分是有关创造Perl脚本,通过精心动态页面的方法,PHP脚本,Java Servlet和Java服务器页面。基本的Apache设置为CGI程序的支持(在Perl脚本和替代品的),并且在相当有限的服务器端包含'(SSI)的机制。在(mod_env,mod_cgi和mod_include中)相关模块都包含在默认的Apache版本。最好是限制的数量,包含可执行代码,可以生成动态网页。默认的配置,在httpd.conf文件中指定的,只允许在/本地/ Apache / cgi - bin目录CGI程序,并且没有目录,以便能够SSI文件。这些默认值可能过于严格。如果你想放松一点的限制,您可以添加额外的目录的指示,这主要httpd.conf文件。这些额外的目录指示必须包含控制选项,允许在一个目录执行或SSI文件CGI脚本处理的一个目录。服务器端包含在HTML文件中特殊标签标记,标记,例如:


   
   
  

阿帕奇必须阅读文件,检查HTML,以及发现和处理小型工业标签。这大大增加了对一般的HTML文件检索的费用。最好是使用一个不同的文件扩展名标志的那些小型工业加工所需的文件。传统的扩展。shtml,该服务器必须配置为妥善处理这些文件。在httpd.conf配置文件将需要包括指令:

AddType文本/ HTML。shtml AddHandler服务器解析。shtml

第一个指令设置的内容类型,将在处理时,该文件的文本返回给客户端的HTTP标头使用。第二个指令,使由Web服务器的实际分析。flastmod或大小如小型工业标签是无害的,正如其他HTML文件通过包括标签内。执行的代码,如加上exec标签允许或一个包含标记指定输出一个CGI脚本,可能是危险的。该代码可以是任何的shell脚本,如果您的网站没有适当的安全,有方法,黑客可以更改可从SSI文件执行的脚本。 Apache的选项,允许使用小型工业,让你做区分用途,使用简单,所涉及的代码执行。如果你想允许在目录中的文件是小型工业,分析,你需要一个目录指示标识目录和使用您允许的水平:

选项+包括... 选项+ IncludesNOEXEC ... 

作为一个例子的服务器端包含,你可以创建一个在网页中使用简单的计数器(此脚本)的Linux或Unix。这将涉及诸如下面的shell脚本:

缬氨酸=`猫反`NewVal =`expr的$缬氨酸+ 1`回声$ NewVal“反回声$ NewVal

此代码将必须在文件中Count.sh储存,该文件将必须作出可执行文件,以及一个计数器文件都必须与一个初始值为0数据线创建。计数器然后可以从HTML中。shtml文件调用的代码如下:

... 
本页面已经被浏览次。

(所有的文件将需要在同一个目录。)httpd.conf文件中包含一个ScriptAlias指令标识的位置,默认的CGI - bin目录。阿ScriptAlias指令还安排Apache将对待作为可执行文件指定目录下的所有文件,因此Apache会尝试叉Exec的这些文件,而不是简单地归还给客户端。如果你想在其他目录下的CGI程序,您将需要使用的文件扩展名,将确定的CGI程序:

AddHandler cgi脚本。的CGI

您可能想要使用。用于编译的C的CGI / C + +程序和。为Perl脚本,在这种情况下,你可能会特等:

AddHandler cgi脚本。cgi参数。特等

您还需要目录指示,确定这些目录中,其中可能包含可执行脚本,例如:

选项+ ExecCGI 

阿帕奇应该然后运行任何。在这个目录(和。特等文件如果您指定两者)。web服务器的cgi文件必须推出一个新的CGI程序进程(或一个SSI Exec的标签)。新通过创建进程叉在Linux那么EXEC调用/ Unix操作系统。这种新工艺继承了相同的用户ID和组的创建进程ID,因此,通常都会有用户ID'人'。通常你会希望这些进程来运行不同的用户ID的。一种方法依赖用户ID文件系统一套。 Apache的系统采用了扩展通过其suexec的安全机制。在suexec的机制,规定了一系列的安全检查前,它改变了用户ID与儿童有关的CGI进程。这些检查是为了防止偷偷让程序运行与用户ID =“根”的人,并避免运行任何脚本或可执行文件可能已经被人比其他官方业主改变。你必须是一个系统的根访问管理员设置了suexec的扩展。如果您有自己的Linux系统,你可以尝试在Apache作为一个管理先进行使这项。

ForWindows用户,Apache的安装实在是微不足道。你下载一个压缩的可执行文件(从http://httpd.apache.org/)存档文件您的Apache。此文件可以运行,它会创建Apache服务器和所需的文件,并添加到您的快捷方式开始菜单。通常情况下,你的Apache将安装在C:\ Program Files文件\ Apache小组\ Apache的。这个目录的子目录\斌(execu

S和脚本),\机密(配置文件),\日志(日志文件),\的cgi - bin(为您的CGI程序标准目录)和\ htdocs(标准的文件目录)。在htdocs目录应包含几个示例文件,但cgi - bin目录可能是空的。你很可能要作出一个改变到\ conf \ httpd.conf文件,这个文件可以用任何文本编辑器打开。该文件可能不具有的ServerName参数指定的值,您可能需要定义诸如服务器名本地主机(或者服务器名127.0.0.1)的东西。 (如果没有定义,Apache会试图找到一个DNS服务器,它可以告诉它的正确的服务器名称根据你的机器的IP地址和DNS记录,这种企图将会失败,如果你是没有关系的一个DNS服务器,因此赢得了阿帕奇'吨的开始。经过编辑httpd.conf中),您的基本的Windows阿帕奇应该准备运行。你可以从开始菜单中,然后启动浏览器并使用此浏览器连接到您localhost服务器。

Linux / UNIX的用户,而更多的工作要做,但通过获得的利益是Apache制度的了解。的Linux / Unix用户需要作最后的部署Apache的目录(/ local / apache目录),并为在Apache是编译和链接(/ home/me/apache_1.3.27)目录中,而更多的空间大约20字节的磁盘空间。您下载的服务器tar.gzip版本(1.3.27或更高);解压缩(gunzip)本档案,并解压缩文件(焦油- XF的...).这一进程应该建立在你的主目录的子目录apache_1.3.27。这是有效的主副本。从这个目录许多材料将被复制在您的最终部署目录。在Apache的目录包含斌的cgi - bin,机密档案,htdocs,图标,原木,src和其他子目录。的cgi - bin子目录中包含了一些小例子程序使用shell脚本和Perl。该htdocs目录包含了一些例子,包括用于说明谈判的内容,客户的偏好为基础的语言之一。它也包含在/手册子目录Apache文档。

萨默斯提出的茉莉的文章


免责声明:我们的网站是不负责本文章的内容。 Webarticles是一个免费的信息资源。
重要事项: 这篇文章的“动态页面生成”是由一个自动翻译软件。我们感到很遗憾拼写的任何可能发生的错误。谢谢您的理解。


Online: 487 users browsing the articles directory