RedHat Enterprise 5 LAMP服务器架设步骤
目前,LAMP是Linux系统服务器上最为流行、占有率最高的服务器环境。简单的说,LAMP=Apache + PHP + Mysql。大势所趋,多数的最新的Linux都自带了这些组件。下面以RedHat Enterprise 5为例,简单介绍LAMP服务器的安装与配置。
RedHat Enterprise 5自带的LAMP组件版本为:httpd 2.2.3(Apache2.0以上版本的套件改名为httpd),MySql 5.0.45,Php 5.1.6。默认情况下,Redhat不会安装LAMP组件,请在安装过程中自定义安装组件,并勾选WWW服务器、Mysql、php组件。其中由其要注意的是,即使勾选了这些组件,如果要Php支持Mysql,必须安装Php-mysql组件,否则你的php将无法支支持Mysql。所以在安装时,在WWW服务器明细项目中,请务必勾选Php-mysql组件。
在开始配置之前,请运行以下命令检查你的Linux是否已经安装了必备组件
Rpm –qi httpd # 检查是否已安装httpd套件
Rpm –qi mysql # 检查是否已安装mysql套件
Rpm –qi php # 检查是否已安装php套件
Rpm –qi php-mysql # 检查是否已安装php-mysql套件
Rpm –qi httpd # 检查是否已安装httpd套件
Rpm –qi mysql # 检查是否已安装mysql套件
Rpm –qi php # 检查是否已安装php套件
Rpm –qi php-mysql # 检查是否已安装php-mysql套件
#p#
如果你的机器上安装了相关组件,则会显示出该套件的版本及安装信息,否则会显示“…… is not installed.”的信息。例如输入:Rpm –qi php-mysql
已安装的正常结果显示:
Name : php-mysql Relocations: (not relocatable)
Version : 5.1.6 Vendor: Red Hat, Inc.
……
Summary : 一个用于使用 MySQL 数据库的 PHP 程序的模块。
Description :
php-mysql 软件包包括一个会为 PHP 添加 MySQL 数据库支持的动态共享对象。MySQL 是一个对象―关系数据库管理系统。PHP 是一种嵌有 HTML 的脚本语言。如果您需要 MySQL 支持 PHP 程序,您将会需要安装该软件包以及 php 软件包。
Name : php-mysql Relocations: (not relocatable)
Version : 5.1.6 Vendor: Red Hat, Inc.
……
Summary : 一个用于使用 MySQL 数据库的 PHP 程序的模块。
Description :
php-mysql 软件包包括一个会为 PHP 添加 MySQL 数据库支持的动态共享对象。MySQL 是一个对象―关系数据库管理系统。PHP 是一种嵌有 HTML 的脚本语言。如果您需要 MySQL 支持 PHP 程序,您将会需要安装该软件包以及 php 软件包。
如果相应的组件没有安装,也不用着急,插入Linux安装光盘,在/server目录下安装相应的组件即可。找到相应的rpm组件,运行 rpm –ivh XXX.rpm安装该组件。
#p#
下面进行LAMP的配置。
1、配置WWW服务器httpd
在默认情况下,Linux不会启动LAMP的相关服务,所以在配置前应该先行启动相关服务。启动httpd服务可在命令行中输入/etc/init.d/httpd start就可以了。启动前可以用/etc/init.d/httpd status查看该服务当前的运行状态,如果没有启动就启动它。如果你不知道相关的服务名及路径,可以输入rpm –qc httpd,rpm的qc参数可以查询套件的安装路径及其相关的配置文件,非常实用。
Httpd的主要配置文件是/etc/httpd/conf/httpd.conf,其中常用的配置有:
服务器名: ServerName 请设置为本Linux服务器的IP地址
主目录设置: DocumentRoot 默认为 “/var/www/html”,可修改为其它目录,注意此目录的权限:对other的权限要有x和r权限
目录访问权限控制: 在配置文件的最后处,在这里对主目录路径赋予浏览及访问权限,参照默认的“/var/www/html”设置即可。
默认文档设置: DirectIndex 可以添加默认的自定义文档,如index.php welcome.php 等,多个文档之间以空格隔开。
虚拟目录设置: 用Alias添加虑拟目录,可以参照httpd.conf中的其它Alias设置,依葫芦画瓢就行了。
Httpd默认载入/etc/httpd/conf.d/下的所有.conf文件,其中包括php.conf,加入了对php的支持,所以对php不作其它设置即可。
注意修改设置之后重新启动httpd服务,使设置生效:/etc/init.d/httpd restart
2、让php支持mysql
如果安装了php-mysql套件,则会产生以下文件和目录:/etc/php.d/mysql.ini /usr/lib/php/modules/pdo_mysql.so,php是否支持mysql就是这两个文件来决定。
Php的配置文件 /etc/php.ini 中,默认载入了 /usr/lib/php/modules 下的所有模块:
extension_dir = /usr/lib/php/modules
3、MySql配置
运行 /etc/init.d/mysql5 start,启动mysql服务,如果是第一次运行,则会初始化mysql数据库,mysql库文件存放在 /var/lib/mysql目录下。
初始化数据库后,出于安全,可以用mysqladmin命令修改root帐号密码,语法为:
mysqladmin –u root password 新密码
现在,可以用root和新密码登录数据库了。
有一点须注意:默认情况下,mysql还只能进行本地登录,如果以另外一个客户端远程登录mysql服务器,则会收到被拒绝登录的信息,在开发环境中,可能会不方便,解决办法:
在本地用root登入数据库,修改mysql库下user表信息,运行下面的sql语句:
update user set host=’%’ where host=’localhost’ and user=’root’;
commit;
意思是任何IP地址的客户端都允许连接到mysql服务器,运行后,还需要重新载入初始信息:
mysqladmin –u root –p密码 reload
这样,mysql客户端可以在远程登录到mysql服务器了。但这只是出于开发环境的便利,在正式发布应用时需要使用默认初始信息。
MySql的配置文件是 /etc/my.cnf,一般情况下不需要修改,但可以加入一句设置MySql默认字符集的语句:
在[mysqld]下,加入:default-character-set=utf8
#p#
4、自动运行LAMP服务
LAMP服务器的配置基本上完成了,但为了避免每次重新启动服务器还要手动启动相关服务,可以让这些服务自动运行。在命令行中输入ntsysv,会出现一个图形界面,在需要自动启动的服务名前打上*号,确认,就可以了。
到此,LAMP服务器架设完毕,在httpd的主目录(默认为”/var/www/html”)下新建一个php测试页,如果能成功运行,则表示RedHat Enterprise下LAMP已经配置成功。
【编辑推荐】