如果系统在安装的时候已经安装了openssl的话,可以用rpm –qf openssl查找rpm包安装目录以备apache安装的时候调用
如果想升级原有rpm包安装的openssl的话,按照以下几步操作:
A、 rpm –e –nodeps openssl(强制删除rpm包的openssl,尽量不要用远程登录方式作)
B、 将/usr/include/openssl 备份,并把/lib下两个指向libcrypto.so.0.9.7x和libssl.so.0.9.7x的软连接删除
C、安装 openssl-0.9.8.tar.gz (步骤如上面所说) 安装目录为 /usr/local/openssl
D、 手动修改lib库得软连接以备ssh和其他程序调用
ln –s /usr/local/openssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so.4
ln –s /usr/local/openssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so
ln –s /usr/local/openssl/lib/libssl.so.0.9.8 /lib/libssl.so
ln –s /usr/local/openssl/lib/libssl.so.0.9.8 /lib/libssl.so.4
E、 echo /usr/local/openssl/lib >> /etc/ld.so.conf
F、 ldconfig –v
G、 /etc/init.d/sshd restart
H、 Ssh –V 检查版本信息
在安装完OpenSSL 后,接下来就可以安装Apache 了,安装Apache 的步骤如下:
(1)获取源代码
创建存放软件的目录:
mkdir /root/software
到http://www.apache.org/下载最新稳定版的源代码,放到/root/software。
本案例中下载的是httpd-2.0.59.tar.bz2
(2)解压软件包
tar –jxvf httpd-2.0.59.tar.bz2
cd httpd-2.0.59
(3)配置编译选项
Apache 是模块化的服务器,核心服务器中只包含了功能最常用的模块,而扩展功能由其他模块提供。设置过程中,你必须指定需要包含的模块。Apache 文档中有模块清单备查,其中状态为"Base"的模块会被默认地包含进核心服务器,如果不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他状态的模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。
Apache 有两种使用模块的方法,其一是永久性包含进核心;如果操作系统支持动态共享对象(DSO),而且能为autoconf 所检测,则模块还可以被动态编译。DSO模块的存储是独立于核心的,可以被核心使用由mod_so 模块提供的运行时刻配置指令包含或排除。如果编译中包含有任何动态模块,则mod_so 模块会被自动包含进核心。如果希望核心能够装载DSO,而不实际编译任何动态模块,需要明确指定——enable-so。
在我们的电子商务网站中,一般情况下,核心模块功能我们全部启用;除此之外,我们还要启用SSL 加密(mod_ssl);为了使搜索引擎更容易收录我们的网页,需要将动态页面的URL 重写为静态页面的URL,需要mod_rewrite;为了今后动态添加模块而不重新编译apache(例如添加PHP 的支持),需要启用mod_so。基于上面的分析,我在配置编译选项时,推荐使用以下选项:
./configure ——prefix=/usr/local/apache2 ——with-ssl=/usr/local/openssl
——enable-ssl ——enable-so ——enable-rewrite ——enable-mime-magic ——enable-mem-cache
每个项目及网站的情况不同,如果还需要支持其它的模块,请在编译时使用相
应的选项。在工作或学习中,如有问题请及时到http://www.vfast.com/进行答疑。
(4)编译并安装
make
make install
从源代码安装PHP
PHP 是一种嵌入在 HTML 并由服务器解释的脚本语言。它可以用于管理动态
内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行
的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL
Server。
要使PHP 支持相关的功能那么在安装前需要安装相应的软件,例如要使PHP
支持MySQL 数据库,在编译PHP 之前,必须首先安装MySQL 数据库,关于MySQL
数据库的安装,查阅第9 章MySQL 数据库的安装。
![]() |

