本文通过大量技术实践总结,探索了一种在SGI IRIX6.5环境下集成Apache+php+mysql系统的方法,为在商业UNIX环境下集成动态网页开发环境提供了一种思路和实践方法。
关键词:SGI Apache php Mysql 集成
1.引言
随着中国地震局九五重点项目的实施,全国地震系统陆续配置了一批SGI O2图形工作站和SGI Origin200企业入门级服务器,它们所运行的操作系统是IRIX 6.5,随机配送的是Netscape Enterprise Server和Netscape fasttrack Server两个Web服务器软件,由于Netscape Enterprise Server/Fasttrack Server公共网关接口CGI只支持PERL和JAVA等少数几种,而且对于数据库的支持也只有通过NSAPI或COBRA来实现,不太方便。
因此,想把在Linux系统下运用成熟的Apache+php+Mysql技术运用到SGI的IRIX系统中来。
2.集成系统简介:
2.1 Apache Server
Apache服务器既是一种软件,又是一个工程。它是由千千万万的服务器代码和文档开发者共同努力的结果。自从daemon(1995年之前比较流行的一种HTTP服务器)的原创者RobMeCool在1994年离开了NCSA后,许多网站管理员通过Email的方式组织到一起,为了合作开发性能更好的web服务器而相互交换、共享patch(补丁)。也就是在1995年4月,apache server 0.6.2公开发行了。Apache server的名字来源于“A PAtCHy Server”。
Apache Server的主要特点是稳定性高、速度快、功能多。通过第三方的测评,Apache Server比大多数的WEB服务都快。目前,Internet上有60%以上的网站服务器使用的是Apache Server。
2.2 Mysql数据库
Mysql是由瑞典的T.C.X公司在mSQL小型数据库的基础上开发的一个强大、快速而价钱低廉的数据库软件。它是一个真正的多线程多用户的数据库系统,特别是它的多线程是直接使用了系统核心的多线程内核,效率相当高。在互联网的数据库产品中,Mysql的数据库检索速度与其他产品相比占有很大的优势。
2.3 PHP语言
PHP是一种服务器端的HTML嵌入式的脚本描述语言,它以独特的语法混合了C、JAVA和PERL的语言特色。在保证最大可操作性的前提下提供了比一般的CGI更快的执行速度。其最大的特色就是数据库层操作功能的十分强大,可以和MYSQL数据库完美地组合,成为当前最流行的动态网页设计语言。
现在,已经有一大批使用PHP和MYSQL的成功范例。
3.实现过程:
(1)分别从PHP的网站(http://www.php.net)、APACHE的网站(http://www.apache.org)和MYSQL的网站(http://www.mysql.com)
下载三个软件的源码:apache_1.3.x.tar.gz,
mysql-3.x.x.tar.gz,
php-4.0.x.tar.gz。
实际过程中我们下载了以下三个软件版本:
apache_1.3.14.tar.gz
mysql-3.22.32.tar.gz
php-4.0.3pl1.tar.gz
(2)由于IRIX是商业Unix,并没有流行的gcc等编译工具,只有古老的cc而已(注:CC需要得到SGI的license许可才可以使用);而CC是无法编译通过php-4.0.3pl1的。因此,必须从sgi的官方网站下载(http://download.sgi.com/)一个gcc for irix编译软件。实际下载的是fw_gcc-2.95.2.tardist和fw_libstdc++-2.8.1.tardist两个软件包。
解包后,通过IRIX的Inst工具或GUI图形界面的Software Manager工具进行安装。
(3)分别编译安装三个软件:
① 配置和编译MYSQL
将MYSQL-3.22.32.tar.gz拷贝到/usr/local中,用
shell>gunzip mysql-3.22.32.tar.gz
shell>tar -xvf mysql-3.22.32.tar
shell>cd mysql-3.22.32
shell>./configure --prefix=../mysql
shell>make
shell>make install
shell>scripts/mysql_install_db
shell>support-files/mysql.server start #运行mysqld&
用mysqladmin对root用户进行口令设置等。
shell>./mysqladmin -u root password 'newpassword'
② 配置和编译apache+php
将apache_1.3.14.tar.gz和php-4.0.3pl1.tar.gz拷入/usr/local目录中,
shell>gunzip apache_1.3.14.tar.gz
shell>tar -xvf apache_1.3.14.tar
shell>gunzip php-4.0.3pl1.tar.gz
shell>tar -xvf php-4.0.3pl1.tar
shell>cd apache_1.3.14
shell>setenv CC gcc;./configure --prefix=/usr/local/apache
shell>cd ../php-4.0.3pl1
shell>./configure --with-mysql=../mysql --with-apache=../apache_1.3.14 \
--enable-track-vars
shell>make
shell>make install
shell>cp php.ini-dist /usr/local/lib/php.ini
shell>cd ../apache_1.3.14
shell>setenv CC gcc;./configure --prefix=/usr/local/apache \
--activate-module=src/modules/php4/libphp4.a
shell>make
shell>make install
进入/usr/local/apache/conf目录,对httpd.conf文件进行配置(请查阅有关apache的配置资料),完成后用
/usr/local/apache/bin/apachectl start
启动Apache Server。
(4)进行测试:
在web服务器的根目录下,在一个指定的PHP文件中输入以下的内容:
<?php
phpinfo()
?>
然后打开浏览器察看这个文件,这个文件就显示了相关PHP的信息,如果一切正常的话,就安装正确,系统可以运行了。
4.需要注意的地方
在配置apache服务器的httpd.conf文件时,对根文档目录(Root Document Directory)属性,需要增加一个ExecCGI属性;同时加入:AddType application/x-httpd-php .php。这样你的APACHE+PHP+MYSQL就能成功地运行在SGI IRIX6.5系统下了!
笔者已经成功地在SGI O2图形工作站IRIX6.5系统下安装了apache_1.3.14+php-4.0.3pl1+mysql-3.22.32系统;构建了一个较理想的动态网页开发环境,开发了数据库的技术论坛、聊天室、留言簿等交互式动态网页,实现了地震目录数据库的动态查询。(网址http://www.eq-jx.ac.cn/)
参考文献:
1、 网胜工作室,《PHP4.0程序设计》,北京希望电子出版社,2000年8月;
2、 Mohmmed J. Kabir,《Apache Server Administrator’s Handbook》,电子工业出版社,1999年12月;
3、 何子强, SGI图形工作站下使用Apache做代理服务器实例,中山大学GNU/Linux协会.