[系列.原创]Linux不完全攻略_09
[b:a7cfabdb28]回复贴到 http://www.linuxsky.net/viewtopic.php?t=873 。本贴禁止回复,否则删无赦![/color:a7cfabdb28]
[code:a7cfabdb28]
9 搭建Web服务器
版本:2005-03-27-01
版本:2005-03-26-01
版本:2004-11-02-01
Web服务器=IIS?错啦!
Web服务器首选Apache。用Google查查,优秀的多平台支持、良好的安全性和高度的可定制能力使它差不多占据了Web服务器7成份额。
9.1 准备工作
去http://www.apache.org,在那里找一个叫httpd的东东下载。要source,不要binary的。
我下载的是当时的最新版本,“httpd-2.1.3-bate.tar.gz”,现在已经有“httpd-2.0.5X.tar.gz”了。还有一个很小的验证码文件,“httpd-2.1.3-bate.tar.gz.md5”,一起下回来。我把下载的文件放置在“/opt/store/build”。
开终端,进目录“/opt/store/build”,执行:
[root@TFW-RFL40 store]# mdusum httpd-2.1.3-bate.tar.gz
看看得出的字符串是否和“httpd-2.1.3-bate.tar.gz.md5”里的一致,不一致请重新下载。“httpd-2.1.3-bate.tar.gz.md5”里的字母可能是大写的,这无所谓。要注意的是,“httpd-2.1.3-bate.tar.gz.md5”里的字符串很可能是以两位一组分开的,弄得我开始还以为下回来的文件是坏的。
9.2 安装
起初不知道Apache能不能到处移动,我把安装Apache的路径选为“/opt/prog/c/Apache/Httpd”。
解压缩:
[root@TFW-RFL40 store]# tar zxvf ./httpd-2.1.3-bate.tar.gz
……
……
……
[root@TFW-RFL40 store]#
得到Apache的源代码目录“httpd-2.1.3-bate”。
进这个目录:
[root@TFW-RFL40 store]# cd httpd-2.1.3-bate
[root@TFW-RFL40 httpd-2.1.3-bate]#
预编译,生成编译选项:
[root@TFW-RFL40 httpd-2.1.3-bate]# ./configure --prefix="/opt/prog/c/Apache/Httpd" --enable-module=so
……
……
……
[root@TFW-RFL40 httpd-2.1.3-bate]#
一些最常用的选项如下:
--prefix=
选择安装路径。安装前我不知道这个软件能否到处移动,就把安装路径选为“/opt/prog/c/Apache/Httpd”。
--enable-module=
使Apache编译、安装完成后能够随时加载其所指类型的外部模块。可以用多个“ --enable-module=”指定支持多种模块。安装后我需要Apache与其他软件协同工作,而协同工作所用的插件模块类型为“so”。
更多的参数,在此暂不列举。
编译、连接,把源代码变成本地二进制码:
[root@TFW-RFL40 httpd-2.1.3-bate]# make
……
……
……
[root@TFW-RFL40 httpd-2.1.3-bate]#
安装,把对应的文件送到相应的地方。
[root@TFW-RFL40 httpd-2.1.3-bate]# make install
……
……
……
[root@TFW-RFL40 httpd-2.1.3-bate]#
中间不报错的话,安装就完成了。如果中途出错而停止,解决办法可以参考软件安装那个章节,在此不再赘述。
9.3 运行
现在去软件安装的地方:
[root@TFW-RFL40 httpd-2.1.3-bate]# cd /opt/prog/c/Apache/Httpd
[root@TFW-RFL40 Apache]#
启动Web服务器:
[root@TFW-RFL40 apache]# ./bin/apachectl start
[root@TFW-RFL40 apache]#
开启浏览器,访问url“localhost”。如果你的计算机已经接入以太网,你可以在另外一台计算机的浏览器里用IP地址访问你自己的计算机。由物理主机和虚拟机构成的以太网环境同样适合。能看到绘有一支大羽毛的Apache测试页即告成功。
重新启动Web服务器:
[root@TFW-RFL40 apache]# ./bin/apachectl restart
[root@TFW-RFL40 apache]#
关闭Web服务器:
[root@TFW-RFL40 apache]# ./bin/apachectl stop
[root@TFW-RFL40 apache]#
设置环境变量,在适当的环境变量文件中添加如下内容:
########################################
#5v Apache/Httpd [2.0.49/2.0.53/2.1.3-bate]
# Moveable
#
# ./configure --prefix="/opt/prog/c/Apach-Httpd" --enable-modules=so
# make
# make install
#
APACHE_HOME="/opt/prog/c/Apache/Httpd"
PATH=$PATH:$APACHE_HOME/bin
export APACHE_HOME PATH
########################################
9.4 更高的要求
9.4.1 挪挪窝
试试把目录“/opt/prog/c/Apache/Httpd”移动到另外一个地方,并改个名字,比如“Test”什么的,再相应地改改环境变量,如果这东东还能正常地跑起来,请告诉我,因为我没成功。
把环境变量改回去,再把“Test”链接为“/opt/prog/c/Apache/Httpd”。Oh,这回OK了。看来只要在安装位置有个正确的链接,软件本身在哪里倒无所谓!
这是个可以到处链接的软件,为了升级时管理方便,我把它安置为“/opt/prog/l/Apache-httpd-2.1.3-bate”,并创建了指向这里的符号链接“/opt/prog/c/Apache/Httpd”。
9.4.2 中文支持
对于稍微早一些的版本,比如2.0.49,在浏览器中访问这个服务器时,凡是这个服务器解析的网页里中文都显示为乱码。
到文件“/opt/prog/c/Apache/Httpd/conf/httpd.conf”中找到这样一句:
AddDefaultCharset ISO-8859-1
把它改为:
AddDefaultCharset GB18030
当然,如果你的系统不支持“GB18030”,也可以试试“GB2312”或“GBK”。也有人说可以直接去掉这行,我没试验过,你试好了请告诉我。
[/code:a7cfabdb28]
[b:a7cfabdb28]回复贴到 http://www.linuxsky.net/viewtopic.php?t=873 。本贴禁止回复,否则删无赦![/color:a7cfabdb28]
本文由自由狼-台风 发布于Linuxsky 论坛,网址:http://bbs.linuxsky.org/thread-888-1-1.html
搜索更多相关主题的帖子:
Linux 服务器 攻略 Google IIS