配置perl-cgi的运行环境,由于Active Perl安装在d:\perl

时间:2021-01-16 20:11:39

 Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQL 4.0.0 Alpha 
Apache 1.X for win32虽然**能差(和IIS比起来差太远了,希望2.X for win32早点出),但是它的bug比较少,资源占用也少,而且它的模块式更方便功能的增加。PHP-4具有执行快速,**能效率高的特点,PERL提供了perl-cgi的支持,Zend Optimizer是加速php程序的,mod_zip用来压缩web server输出数据,MySql为数据库。以下是以win2k/xp作为蓝本,win9x运行这些服务软件太麻烦了,没办法作为service来运行。 

一、 
各软件下载地点: 
Apache: http://www.apache.org/dist/httpd/binaries/win32/ 
PHP: http://www.php.net/downloads.php (下载.zip版本) 
Active Perl: http://www.activestate.com/Products...l/download.plex (下载win32) 
Zend Optimizer: http://www.zend.com/store/getfreefi...pid=13&zbid=198 
mod_gzip: http://www.remotecommunications.com/apache/mod_gzip/ (下载.dll) 
MySQL: http://www.mysql.com/downloads/index.html 
其他软件: 
phpMyAdmin: http://sourceforge.net/project/show...elease_id=44593 (用于对数据库的控制操作) 

二、 
安装路径(以下是范例,可以随便安装,但是最好不要安装在带有长名字的路径) 
Apache :d:\apache 
PHP :d:\php 
Perl :d:\perl 
MySQL :d:\mysql 
mod_gzip :解压在d:\apache\modules 
Zend Optimizer :解压在d:\php 
网站文件放置 :d:\myweb 
phpMyAdmin :解压在d:\myweb\phpmyadmin 
Windows : d:\windows 

三、配置mysql 
安装后会自动运行winmysqladmin,并且提示输入用户名密码,输入用户名,密码,默认情况下已经安装为NT的Service,如果需要更安全点,那么在winmysqladmin 的my.ini Setup那一页 port=端口 那里修改默认的端口,在下面还有用户名密码的修改。修改完了,点击左边的Save Modiffication保存设置,然后右键点击控制台窗体,选WinNT->Stop The Service->Start The Service,这样新设置就生效了。 

四、配置php 
将php.ini-dist改名为php.ini,并且打开修改。 
在[php]的下一行添加 
zend_optimizer.optimization_level=15 
zend_extension_ts="d:\php\ZendOptimizer.dll" 
zendoptimizer.dll的路径一定要符合 

接着查找extension_dir,在后面=加上你的windir\system32\目录全称,例如:extension_dir = d:\windows\system32\ (最后的\一定不能省略!) 
查找extension=php_exif.dll、extension=php_imap.dll、extension=php_ldap.dll、extension=php_zlib.dll,将前面的分号注释去掉 
查找mysql.default_port,在等号后面添加你的 mysql 端口,例如:mysql.default_port = 3306 (3306是mysql的默认端口) 
查找mysql.default_host,在等号后面添加localhost,例如:mysql.default_host = localhost 
保存 
将php.ini php.exe复制到windows目录,将php里面php4ts.dll、dlls以及extensions目录下面的全部.dll文件复制到windows\system32下面(不要覆盖已有文件) 

五、配置Apache 
打开apache\conf\httpd.conf文件,以下为主要设置 
ServerType standalone 

ServerRoot "d:/Apache" 
# Apache安装的目录 

PidFile logs/httpd.pid 
ScoreBoardFile logs/apache_runtime_status 
Timeout 300 
KeepAlive On 
MaxKeepAliveRequests 100 
KeepAliveTimeout 15 
MaxRequestsPerChild 1024 
ThreadsPerChild 50 
SendBufferSize 2881064151 
MaxClients 150 
Listen 80 
# 监听80端口,默认web server端口 
BindAddress * 
# 在任何ip均可以使用web server 

LoadModule vhost_alias_module modules/mod_vhost_alias.so 
AddModule mod_vhost_alias.c 
# 去掉这两行前面的#,开启虚拟域名的支持 

Port 80 
ServerAdmin me@localhost 
ServerName localhost 
# 端口、管理员email,服务器域名,按实际修改 

DocumentRoot "d:/myweb/" 
# web文件保存地址,这里是以d:/myweb作为例子 
<Directory "d:/myweb/"> 
Options FollowSymLinks MultiViews 
AllowOverride all 
Order allow,deny 
Allow from all 
</Directory> 
# 设置d:/myweb的访问选项 
ScriptAlias /cgi-bin "e:/myweb/cgi" 
<Directory "d:/myweb/cgi/"> 
AllowOverride None 
Options None 
Order allow,deny 
Allow from all 
</Directory> 
# 设置cgi-bin目录权限 

#!/perl/bin/perl 
# 这一行配置perl-cgi的运行环境,由于Active Perl安装在d:\perl,所以这里直接使用相对路径 
# 注意,要运行的cgi、pl文件的头一行要和这里相同,否则不能运行。这里也可以写成 
# #!d:/perl/bin/perl 
# 另外这个配置第一个#不代表注释的意思,所以不能省略!! 

查找DirectoryIndex index.html,在下面添加 
DirectoryIndex index.htm 
DirectoryIndex default.htm 
DirectoryIndex default.html 
DirectoryIndex index.php 
DirectoryIndex index.php3 
DirectoryIndex index.cgi 

查找AddType application/x-httpd-php 
修改为AddType application/x-httpd-php .php .phtml .php3 

查找AddHandler cgi-script 
修改为AddHandler cgi-script .cgi .pl 

LoadModule php4_module d:/php/sapi/php4apache.dll 
LoadModule gzip_module d:/apache/modules/ApacheModuleGzip.dll 
# 加载php4,gzip模块 

### 以下为gzip模块设置 
mod_gzip_on Yes 
mod_gzip_minimum_file_size 300 
mod_gzip_maximum_file_size 0 
mod_gzip_maximum_inmem_size 100000 
mod_gzip_keep_workfiles No 
mod_gzip_dechunk Yes 
mod_gzip_can_negotiate Yes 
mod_gzip_temp_dir d:/apache/temp 
# 必须在apache目录下面有一个temp目录,没有就新建一个 
mod_gzip_item_include file \.html$ 
mod_gzip_item_include file \.htm$ 
mod_gzip_item_include file \.shtml$ 
mod_gzip_item_include file \.shtm$ 
mod_gzip_item_include file \.pl$ 
mod_gzip_item_include file \.cgi$ 
mod_gzip_item_include mime ^text/.* 
mod_gzip_item_include handler ^perl-script$ 
mod_gzip_item_include mime ^httpd/unix-directory$ 
mod_gzip_item_include handler ^server-status$ 
mod_gzip_item_include handler ^server-info$ 
mod_gzip_item_include mime ^application/x-httpd-php 
mod_gzip_item_include file \.php$ 
mod_gzip_item_include file \.php3$ 
mod_gzip_item_include file \.mht$ 
mod_gzip_item_exclude file \.css$ 
mod_gzip_item_exclude file \.js$ 
mod_gzip_item_exclude mime ^image/.* 
mod_gzip_item_exclude reqheader Content-Type:multipart/form-data 
mod_gzip_item_exclude reqheader Content-Type:application/x-www-form-urlencoded 

mod_gzip_item_exclude file \attachment.php$ 
#上面这个是VBB必须要的 
### End of mod_gzip sample config 
LogFormat "%h %l %u %t \"%r\" %>s %b mod_gzip: %{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct." mod_gzip_info 
# 记录gzip运行情况 
# 以上为httpd.conf需要添加或者修改的地方,其他不用修改可以了 

六、配置phpmyadmin 
打开config.inc.php文件修改 
$cfgServers[1]['host'] = 'localhost'; //mysql地址 
$cfgServers[1]['port'] = '3306'; //mysql端口 
$cfgServers[1]['user'] = 'username'; //mysql用户名 
$cfgServers[1]['password'] = 'passwd'; //mysql密码 
$cfgDefaultLang = 'zh'; //配置phpmyadmin为简体中文界面 

由于phpmyadmin这个是mysql配置,所以需要将他放在一个别人猜不到的目录或者该目录需要用户权限验证 

七、测试 
如果按照默认的d:\myweb\phpmyadmin,那么用浏览器打开以下地址http://localhost/phpmyadmin/ 
如果测试成功会出现phpmyadmin的mysql管理页面,点击Show PHP information ,或者去http://localhost/phpmyadmin/phpinfo.php,这个显示出web php mysql的配置情况以及运行情况......... 
只要配置没问题,那么上面Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQL 4.0.0 Alpha配置完毕