|
第二页:常规的Apache设置
进行常规Apache设置:
- 选择DocumentRoot子目录
- ePerl
- mod_perl
DocumentRoot概念比较容易理解。假设我们设立了域www.example.com。而URL可能如下所示:
http://www.example.com/webmonkey/day3.html
我喜欢将我的DocumentRoot设置为/web/docs/,这样以来,相对应于该URL的文件将是/web/docs/webmonkey/day3.html.
假设你按照我昨天的课程中的建议安装了Apache,则你需要编辑/usr/src/apache_1.2.6/conf/srm.conf将DocumentRoot设置为/web/docs。 (编辑方法很简单,你一看就知道该怎么做。你还需要相应改变/usr/src/apache_1.2.6/conf/access.conf. (也不难)。在Unix提示符下,注意一定要实际建立该DocumentRoot子目录:
mkdir /web; mkdir /web/docs
Perl和ePerl (将是明天的主要课程内容),和mod_perl一起就可建立起世界一流的数据库支持下的网站。缩头的课程中我建议你们使用了mod_perl的自动Apache创立功能,所以现在你应该有了这样一个文件 /usr/src/apache_1.2.6/src/httpd。
接下来,你应该:
- 第1步:建立/usr/src/apache_1.2.6/src/httpd和/usr/sbin/httpd之间的标志性链接。
- 建立标志性链接的意义是:你的Linux操作系统希望httpd放置在/usr/sbin子目录中,但是以后对httpd的任何重新的设置将把它该在/usr/src/apache_1.2.6/src下。整个特点使你无需每次将httpd拷贝到/usr/sbin下。
cd /usr/sbin
ln -s /usr/src/apache_1.2.6/src/httpd httpd
- 第2步:检查确保拟定设置中包括了mod_perl。
- 现在我们做一个快速检查,键入以下指令:
/usr/sbin/httpd -v
屏幕将显示一条短信息:
Server version Apache/1.2.6 mod_perl/1.08.
- 第3步”设置你的/etc/rc.d/rc.M文件。
- 该文件和DOS的自动批处理文件(autoexec.bat)类似。它在你的Linux服务器启动时运行。确保使所有必要的重新都被初始化并在boot时能够正常运行。如果你的rc.M文件中没有以下设置,你应该加入:
# Start Web server:
if [ -x /etc/rc.d/rc.httpd ]; then
. /etc/rc.d/rc.httpd
fi
这些代码意思是说:Linux的启动过程将激活文件/etc/rc.d/rc.httpd的内容 (以启动你的httpd)。这时,屏幕应显示:
echo httpd
/usr/sbin/httpd -f /usr/src/apache_1.2.6/conf/httpd.conf &
或许你还没有整个文件,所以你需要生成该文件
- 第4步:使Apache能够处理CGI和ePerl文件。
- 现在你需要进行大量细节的设置。回到/usr/src/apache_1.2.6/conf子目录,然后:
在access.conf中,确保以加重字体(bold)加入下列文字:
<Directory /web/docs>
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
order allow,deny
allow from all
</Directory>
现在,修改srm.conf:
DirectoryIndex index.iphtml index.cgi index.html
你还需要"uncomment" 某行,所以最后的设置为:
AddHandler cgi-script .cgi
在httpd.conf中,,
在<VirtualHost>区域之上加入以下文字:
Perlrequire /web/docs/startup.perl
PerlModule Apache::ePerl
<Files ~ ".+\.iphtml$">
SetHandler perl-script
PerlHandler Apache::ePerl
<Files>
现在你的/web/docs子目录下需要一个startup.perl文件,你可以拷贝我的:
#!/usr/bin/perl
use strict;
use Apache::Registry;
use CGI;
use DBI ();
1;
缺省情况下,除了你指定的/cgi-bin/子目录之外,Apache不会允许CGI程序在任何其他子目录中运行,如果安全性是你的首要考虑,这一条很重要。但由于现在我们谈的是网络数据库编程,所以在第4步中的设置让Apache运行CGI程序在其他子目录中也能运行。
我们还告诉Apache遇到带有特殊后缀.iphtml的文件时应该怎么做。这种文件叫做内部剖析后的HTML文件。现在Apache知道应该将这种文件转交ePerl进行进一步的处理。最后。我们告诉Apache在服务器初始化之后立即运行文件startup.perl。该文件把几个非常有用的模块载入服务器内存,重要之后的程序需要使用这些模块时就 无需重新载入它们。>>
网络数据库教程
第一页 网络数据库教程 - 第三天
第二页 常规的Apache设置
第三页 MySQL和整个数据库/服务器系统
第四页 MySQL, SQL, DDL,和DML
第五页 我们不是在建立互联网站点吗,我是不是漏了什么东西?
[第1天][第2天][第3天][第4天][第5天]
|