RHEL AS 4作为企业级操作系统,安装光盘自然包含基本的
web服务器程序。为学习
服务器配置,我们打算抛开其安装光盘,从网上下载当今
web服务器所需的较新版本,自已一步一步进行配置安装,尽情享受DIY的乐趣!
进行下列工作前,请确定你的系统未安装系统自带的
web服务器。
一、web服务器(Apache Ver2.0.53) Apache v2.0.53 for
Linux:最流行的HTTP
服务器软件之一,完全免费,完全源代码开放,如果你需要创建一个每天有数百万人访问的
web服务器,Apache可能是最佳选择。
1、下载http://down.chinaz.com/S/9064.asp
2、安装 (1)解压缩
将下载的Apache2.tar.gz压缩包解压至一临时目录如/usr/local/src/
(2)编译安装
进入刚解压的目录内。
假如想把Apache2放在/usr/local/apache下,则:
#./configure --prefix=/usr/local/apache
(注意呀,不要在上行的最后加“/”号)
#make
#make install
安装完毕
(3)启动
#/usr/local/apache/bin/apachectl start
3、测试 打开你的Firefox浏览器,在地址栏输入http://localhost/,回车。
呵呵,看到那熟悉的彩色鹅毛logo吧。恭喜你,第一步进行得非常顺利!
4、配置 现在你的Apache
服务器的配置文件是/usr/local/apache/conf/httpd.conf
编辑该文件:
(1)将用户
web目录改成/var/www/html(以后var/www/html目录就是你的
web文件存放地了,当然,你也可以指定为其他目录)
307行附近用#注销DocumentRoot "/usr/local/apache/htdocs"
下面加上一行:
代码: |
DocumentRoot "/var/www/html" |
(2)加上缺省索引文件名index.htm
396附近DirectoryIndex行后加入index.htm
代码: |
DirectoryIndex index.html index.html.var index.htm |
(3)保存退出
(4)重启web服务器:#httpd -k restart
(命令说明:启动服务器:#httpd -k start
关闭服务器:#httpd -k stop
)
友情提醒:为方便起见,建议创建启动和关闭服务器的桌面链接。
5、再测
用vi或文本编辑器编辑如下内容的文件:
代码: |
这是我的第一个测试页!
This is my first test webpage!
|
保存为/var/www/html/index.htm
现在再次在firefox浏览器地址栏输入http://localhost/,看到你的测试页了吗。如果出现乱码,调整一下你浏览器的字符编码啊。现在OK了吧。
小Happy一下!
二、MySQL数据库(MySQL Ver4.1.10)
MySQL v4.1.10 for Linux
一个多线程的、结构化查询语言(SQL)数据库服务器,它执行性能高,运行速度快,易于使用。目前国内不少商业web虚拟主机产品都提供对它的支持。
http://down.chinaz.com/S/12030.asp
1、解压缩mysql安装文件至某一目录。如/usr/local/src/
2、增加用户组和用户
#groupadd mysql //添加mysql用户组
#useradd -g mysql mysql //在mysql用户组中添加用户mysql
3、创建原程序目录链接
#cd /usr/local/
#ln -s /usr/local/src/mysql-standard-4.1.10-pc-Linux-gnu-i686/ mysql //在/usr/local/下创建一个到原程序的目录链接
4、创建mysql的授权表
#cd mysql
#scripts/mysql_install_db --user=mysql
5、mysql目录程序root和mysql用户授权
#chown -R root .
#chown -R mysql data
#chgrp -R mysql .
6、启动mysql服务
#cd /usr/local/mysql/support-files/
#./mysql.server start
7、测试
#/usr/local/mysql/bin/mysql
出现mysql>的提示符了吧。说明mysql安装运行成功了,呵呵。
输入select now();回车,看到如下输出界面了吧。
代码: |
+--------------------------------+ |NOW() | +--------------------------------+ |2005-03-05 20:00:03 | +--------------------------------+ 1 row in set (0.00 sec) |
mysql>提示符后输入quit退出
友情提示:更多的MySQL操作指令,看参阅MySQL手册。
8、关闭mysql服务
#/usr/local/mysql/support-files/mysql.server stop
友情提示:你可以在您的桌面建立打开和关闭MySQL的应用程序链接,以提高你的工作效率。
三、PHP脚本语言(PHP Ver5.0.3)
PHP v5.0.3 For Linux
PHP是一种新型的CGI程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于Windows、Unix、 Linux 平台的web后台程序。
下载地址:
http://down.chinaz.com/S/7001.asp
1、解压缩文件至/usr/local/src/
2、进入目录
#cd /usr/local/src/php-5.0.3
3、配置
#./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-mail --with-apxs2=/usr/local/apache/bin/apxs
4、编译
#make
5、安装
#make install
6、复制php.ini文件
#cp php.ini-dist /usr/local/lib/php.ini
7、编辑/usr/local/apache/conf/httpd.conf
(1)397附近DirectoryIndex行中加入index.php,变成:
代码: |
DirectoryIndex index.php index.html index.html.var index.htm |
(2)827附近的#AddType application/x-tar .tgz下方加入两行:
代码: |
AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps |
8、测试
(1)删除/var/www/html/下index.*文件,编辑index.php保存到这里,内容为:
(2)重启web服务器
#httpd -k stop
#httpd -k start
(3)Firefox地址栏输入http://localhost/,回车。
看到PHP5配置表了吗?OK,稍事休息,我们还有许多工作要做呢。
四、MySQL管理工具(phpMyAdmin Ver 2.6.1 RC2)
phpMyAdmin 2.6.1 RC2 for Linux
phpMyAdmin 是一套可以用来管理 MySQL-server 以及单一数据库的 PHP 程序,对于不熟悉 MySQL 命令列指令的人来说,是很方便的管理工具。
http://dl.163.com/html/25/25370.html
1、安装
直接解压缩下载的phpMyAdmin-2.6.1-rc2.tar.gz至/var/www/html/下,并将目录phpMyAdmin-2.6.1-rc2改名为phpMyAdmin。
2、使用
在确保Apache服务器已经启动。
打开Firefox浏览器,地址栏输入:http://localhost/phpMyAdmin,回车
出现phpMyAdmin的主界面了吧。
3、建议
为安全起见,建议立即按下列步骤更改MySQL的root登录密码。
(1)在第一个页面中央表格root记录右侧人头像图标点击。
(2)打开权限编辑页面。在中央“更改密码”文本框中输入两次密码,点击“执行”。
(3)用编辑器打开/var/www/html/phpMyAdmin/config.inc.php
第85行$cfg['Servers'][$i]['password']后面的单引号内填入刚才的密码。保存退出。
这样你就可以自动登录了。
(4)如果你想手动登录,请修改该文件以下变量值:
第60行:$cfg['blowfish_secret'] = 'cookie';
第83行:$cfg['Servers'][$i]['auth_type'] = 'cookie';
第85行:$cfg['Servers'][$i]['password'] = '';
保存退出。
五、Zend Optimizer(V.2.5.5)
它是PHP的优化器及其伪编译脚本的解码器。所有的PHP脚本文件经ZendEncoder伪编译后,会生成不可逆的二进制格式文件,我们只要上传编译过的文件到服务器,其他人便无法查看该脚本程序了,起到了相当好的加密作用。同时,经伪编译过的PHP脚本可以大幅提高执行效率(本人没有测试验证过)。
而安装过Zend Optimizer的Apache,不管PHP文件是否经伪编译处理,都可以正常解析运行。反之,伪编译处理过的PHP文件将只会在你的浏览器里输出一堆乱码。
1、下载软件
你需要下载Zend Optimizer V2.5.5以上版本,以支持PHP5。
Zend Optimizer V2.5.5 For Linux
http://soft.0zones.com/SoftView/SoftView_19371.html
2、准备工作
解压缩.rar后,再解压缩里头的.tar.gz文件至某目录。
3、正式安装
进入该目录,运行./install.sh。
出现终端图形化安装界面,一路回车,其中有两处需要指定路径的,检查缺省是否与你的机器实现路径相符,不同则改之。如Specify theApache bindirectory,变更下方路径为你的Apache的bin目录:/usr/local/apache/bin。之后,又是一路回车至最后提示安装成功并重启apache。
Zend的安装目录一般为/usr/local/Zend/。
4、测试安装
上述第三节第8步编辑的内容为phpinfo()的index.php文件应该还在你的/var/www/html/目录下吧。
在Firefox地址栏中输入http://localhost/,回车。在不滚动的屏幕下方Zend Engine2图标左侧是否看到下列文字段:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.0.3, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.4, Copyright (c) 2003-2004, by Zend Technologies
with Zend Optimizer v2.5.5, Copyright (c) 1998-2004, by Zend Technologies
如果有,则说明安装成功,此时在滚动屏幕可以看到有Zend Optimizer参数表格。
如果没有上方文字的后面两行,则说明安装有问题。最有可以的是ZendOptimizer没有找到你的php.ini文件。在上述文字段上方表格找到Configuration File (php.ini)Path后面的具体路径,将你的php.ini复制过去,然后重启Apache,一般可以解决。
友情告知:你可以在你的机器内安装ZendEncoder软件,使用它你就可以将PHP网页文件进行伪编译了。这里不打算述及ZendEncoder的安装使用问题,否则就离题有点远啦。
六、java开发工具包(J2SDK Ver.1.4.2)
为提供服务器对jsp脚本语言的支持,我们还必须安装Java开发工具包。
1、安装
J2SDK的安装,详见我的另一篇文章(第七节)
http://www.Linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=107175
2、配置
编辑~/.bash_profile文件,在最后位置加入如下几行:
代码: |
JAVA_HOME=/usr/share/j2sdk1.4.2 PATH=$JAVA_HOME:$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH JAVA_HOME CLASSPATH |
3、测试
(1)用文本编辑器编辑HelloWorldApp.java,内容为:
代码: |
class HelloWorldApp { public static void main (String args[])
} |
(2)编译:#javac HelloWorldApp.java
(3)运行:#java HelloWorldApp
如果输出一行Hello,World!,说明安装配置成功!
七、Tomcat(Tomcat 5.0.30)
Tomcat是在SUN的JSWDK的基础上发展起来的另一个优秀的JSP服务器,它不但支持Servlet,而且还提供了web服务器的功能。
1、下载:
http://download.enet.com.cn/html/232192000121401.html
2、安装:
解压缩下载的包至/usr/local/下,建议更目录名为tomcat5.0.30。
3、启动:
#/usr/local/tomcat5.0.30/bin/startup.sh
4、测试:
Firefox地址栏输入:http://localhost:8080,回车。
如果看到左上角有只漂亮的小猫咪,就说明OK了。
八、Tomcat与Apache的整合器(jakarta-tomcat-connectors Ver.2.0.4)
1、下载
http://apache.Linuxforum.net/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
2、安装
(1)解压缩下载的包至/usr/local/src/下。
(2)进入目录
#cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
(3)编译安装
#./configure --with-apxs2=/usr/local/apache/bin/apxs
#make
#cd ../build/jk2/apache2
#/usr/local/apache/bin/apxs -n jk2 -i mod_jk2.so
(4)编辑Apache配置文件/usr/local/apache/conf/httpd.conf
在LoadModule段加入如下一行:
代码: |
LoadModule jk2_module modules/mod_jk2.so |
(5)在/usr/local/apache/conf/目录下编辑保存一个名为workers2.properties的文本文件,内容为:
代码: |
[logger] level=ERROR
[config:] file=/usr/local/apache2/conf/workers2.properties debug=0 debugEnv=0
# Alternate file logger [logger.file] #level=DEBUG level=ERROR file=/var/log/httpd/jk2.log
[shm:] info=Scoreboard. Required for reconfiguration and status with multiprocess servers file=/var/log/httpd/jk2.shm size=1048576 debug=0 disabled=0
[channel.socket:localhost:8009] info=Ajp13 forwarding over socket debug=0 tomcatId=localhost:8009 keepalive=1
[ajp13:localhost:8009] channel=channel.socket:localhost:8009 debug=0
[status:] info=Status worker, displays runtime informations
[uri:/jkstatus/*] info=Display status information and checks the config file for changes. worker=ajp13:localhost:8009
[uri:/*.jsp] worker=ajp13:localhost:8009 context=/ |
(6)修改/usr/local/tomcat5.0.30/conf/server.xml,在
下方加入这行:
保存退出。
(7)测试
A)方法一:Firefox地址栏输入http://localhost/examples/,看到JSP Samples及其两列图标链接了吧。
B)方法二:在/var/www/html/下编辑一test.jsp文件,内容为以下五行:
代码: |
<%@ page language="java" contentType="text/html;charset=gb2312"%> <% out.print("This is JSP's test page!
"); %> Hello! The time is now <%= new java.util.Date() %> |
再在Firefox地址栏输入http://localhost/test.jsp,有输出下面两行文字吗?
This is JSP's test page!
Hello! The time is now Wed Mar 09 02:34:15 CST 2005
OK,所有的工作就告一段落了,大功告成!
web服务器建设是一项十分繁杂的工作,以上只是初步完成在本机调试HTML、PHP、JSP及其调用MySQL的服务器环境。
要真正完成在Internet上实际应用的web服务器,毫无疑问还有很多工作要做。