您的位置:首页 > 运维架构 > Linux

RedHat Linux AS4 LAMP配置实例详解 推荐

2007-07-26 09:10 525 查看
[align=left]Apache 是世界排名第一的Web 服务器, 根据Netcraf(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的Web 服务器在使用Apache。[/align]
[align=left]尤其是现在,使用LAMP(Linux + Apache + MySQL + PHP)来搭建中等级别的应用已经是一种流行的方式,因此,掌握Apache 的配置是系统工程师必备的技能之一。[/align]
[align=left]使用LAMP(Linux + Apache + MySQL + PHP)来搭建中等级别的应用(尤其是电子商务)已经是一种流行的方式,因为全部是开源和免费的软件,所以成本非常低廉。本节介绍平台的搭建。在搭建平台时,也可以直接使用RPM 包来安装,但是由于使用RPM 包在一些系统上不支持,因此我们使用更通用的方法:直接从源代码来装。[/align]
[align=left]Apache 的特性:[/align]
[align=left]1) 几乎可以运行在所有的计算机平台上.[/align]
[align=left]2) 支持最新的HTTP/1.1 协议[/align]
[align=left]3) 简单而且强有力的基于文件的配置(HTTPD.CONF)[/align]
[align=left]4) 支持通用网关接口(CGI)[/align]
[align=left]5) 支持虚拟主机.[/align]
[align=left]6) 支持HTTP 认证.[/align]
[align=left]7) 集成PERL.[/align]
[align=left]8) 集成的代理服务器[/align]
[align=left]9) 可以通过WEB 浏览器监视服务器的状态, 可以自定义日志.[/align]
[align=left]10) 支持服务器端包含命令(SSI).[/align]
[align=left]11) 支持安全SOCKET 层(SSL).[/align]
[align=left]12) 具有用户会话过程的跟踪能力.[/align]
[align=left]13) 支持FASTCGI[/align]
[align=left]14) 支持JAVA SERVLETS.[/align]
[align=left] [/align]
[align=left]从源代码安装Apache[/align]
[align=left]通常,对于大多数电子商务网站而言,都会有在线支付系统。为安全起见,对[/align]
[align=left]于支付系统需要使用https 协议来进行访问,也就是需要SSL 的支持,因此,在开[/align]
始安装apache 软件之前,首先要安装OpenSSL。

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

[align=left]在安装完Apache 和MySQL 后,可以开始安装PHP 了。安装PHP 的步骤如下:[/align]
[align=left](1)获取源代码[/align]
[align=left]创建存放软件的目录:[/align]
[align=left]mkdir /root/software (可以存放在任何自己想存放的目录)[/align]
[align=left]到http://www.php.net/下载最新稳定版的源代码,放到/root/software。[/align]
[align=left]本案例中下载的是php-5.1.4.tar.bz2[/align]
[align=left](2)解压[/align]
[align=left]tar –jxvf php-5.1.4.tar.bz2[/align]
[align=left]cd php-5.1.4[/align]
[align=left](3)配置编译选项[/align]
[align=left]刚才已经提到,打算使用MySQL 来存储数据,因此必须要指名支持MySQL 数据(--with-mysql),并指名MySQL 数据的安装位置;如果需要处理XML 数据,需要 --wiht-xml 和 –with-dom; 如果需要使用PHP 脚本来生成图片, 需要使用--with-gd。[/align]
[align=left]总之如果需要使用的功能的库文件不在系统路径内,必须要明确支持,如果不明确支持,那么配置脚本自动进行处理。集体需要使用什么功能,这取决于站点的PHP 脚本使用的函数大多数情况下,需要这样来配置编译选项:[/align]
[align=left]./configure --prefix=/usr/local/php[/align]
[align=left]--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql[/align]
[align=left]--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock --with-xml --with-dom[/align]
[align=left]--with-mcrypt --with-iconv --with-gd --with-mime-magic[/align]
[align=left]--with-openssl=/usr/local/openssl --enable-ftp[/align]
[align=left]其中--with-apxs2=/usr/local/apache2/bin/apxs 选项的作用是:在安装时会修[/align]
[align=left]改APACHE 的配置文件,加入PHP 模块,同时将模块复制到apache 的模块目录下。[/align]
[align=left](4)编译并安装[/align]
[align=left]make[/align]
[align=left]make install[/align]
[align=left](5)拷贝php 的配置文件[/align]
[align=left]cp php.ini-dist /usr/local/php/php/php.ini[/align]
[align=left]在编译php 时使用--with-config-file-path=[dir]来明确指明配置文件的存储位置,那么就拷贝到指定位置,否则就拷贝到:安装目录/usr/local/php/[/align]

[align=left]测试安装是否成功[/align]
[align=left]要进行测试,vi /usr/local/apache2/conf/httpd.conf:[/align]
[align=left](1)修改DocumentRoot,的值,指定web 页面的存储位置[/align]
[align=left]DocumentRoot "/ web"[/align]
[align=left](2)确保文件中已经存在并且启用下面的行[/align]
[align=left]LoadModule php5_module modules/libphp5.so[/align]
[align=left](3)在文件中添加下面的行:[/align]
[align=left]AddType application/x-httpd-php .php[/align]
[align=left]目的是使以php 为扩展名的文件会使用PHP 程序来解析 。[/align]
[align=left](4)创建一个测试文件/web/vfast.php,其内容如下:[/align]
[align=left]<?php[/align]
[align=left]phpinfo();[/align]
[align=left]?>[/align]
[align=left](5)启动apache 服务:[/align]
[align=left]/usr/local/apache2/bin/apachectl start[/align]
[align=left](6)在浏览器中访问刚才的页面,例如:http://localhost/vfast.php[/align]
如果成功返回php 的相关信息,说明安装成功。

Techdoc From www.vfast.com.cn
[align=left] [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息