Linux系列-Red Hat5平台下的LAMP网站服务搭建(三)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

MySQL数据库的安装、启动&构建PHP环境

上次咱们看到了LAMP网站服务(二)使用awstats分析Web日志&httpd服务的访问控制,其实都是在为后面的应用打基础。今天咱们将会进入到最后的准备环节,我将会为大家介绍MySQL数据库的安装和PHP环境的构建。
第一部分: MySQL数据库的安装和启动控制

首先,介绍一下MySQL.MySQL是一个真正的多线程、多用户的SQL数据库服务器,基于客户端/服务器结构实现,具有功能强大、使用简单、管理方便、查询速度快、安全可靠等优点。而且MySQL是一个开源的数据库服务器软件,可发从Internet免费下载和使用。在RHEL5系统中,使用RPM包的方式也可发安装MySQL数据库,但是往往会缺失一些“不常用”的功能,而且MySQL被拆分成许多相互关联,依赖的RPM包,可能会让人对应该安装哪些包感到迷惑,为了确保可提供功能的完整性,方便管理员灵活定制,保持在整个LAMP架构中的可协调性。建议使用源码编译的安装方式。
下面是具体的安装过程

1. 安装MySQL

首先访问MySQL官方的下载页面http://dev.mysql.com/downloads/,查找并下载MySQL软件的源码包,这时将使用mysql-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />5.0.56.tar.gz为例,介绍MySQL的编译安装过程。
1>.创建运行MySQL数据库的系统用户、组。
[root@www ~]# useradd -M -s /sbin/nologin mysql

(如果已存在,则无需重复创建)

2>.解压并释放源码包,并切换至展开的源码包目录。
[root@www mnt]# tar zxf mysql-5.0.56.tar.gz -C /usr/src/

[root@www mnt]# cd /usr/src/mysql-5.0.56/

[root@www mysql-5.0.56]#

3>.使用“./configure”命令配置编译选项。
[root@www mysql-5.0.56]# ./configure --prefix=/usr/local/mysql

./configure命令的更多选项可以通过命令./configure –help查询)

4>.编译并安装。
[root@www mysql-5.0.56]# make ; install

5>.安装后的调整
建立配置文件
[root@www mysql-5.0.56]# cp support-files/my-medium.cnf /etc/my.cnf

说明:在展开的源码包目录中的“support-files”文件夹下,提供了多个MySQL服务器的配置文件,分别适用于不同负载的数据库服务器,一般选择my-medium.cnf文件即可,该配置文件适用于中等负载的数据库,可以满足大多数企业的应有需求。

初始化数据库
[root@www mysql-5.0.56]# /usr/local/mysql/bin/mysql_install_db --user=mysql

[root@www mysql-5.0.56]# chown -R root.mysql /usr/local/mysql/

[root@www mysql-5.0.56]# chown -R mysql /usr/local/mysql/var/

说明:以mysql用户的身份执行mysql_install_db脚本,对MySQL数据库进行初始化。修改相关目录的所有权,以便mysql用户可以读写数据库。

调整lib库路径
[root@www mysql-5.0.56]# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf

[root@www mysql-5.0.56]# ldconfig

说明:由于MySQL安装到了非标准的路径中。所发还需要将MySQL的库文件路径“/usr/local/mysql/lib/mysql”加入到系统的库文件搜索路径中,以便在用到时能够自动搜索到。增加库文件搜索路径可以通过修改“/etc/ld.so.conf”文件实现。

2.MySQL启动控制

1>.使用mysqld_safe脚本安全启动服务。
在“/usr/local/mysql/bin/”目录中,存放着管理MySQL服务器的脚本和程序。其中脚本文件mysqld_safe可用来安全启动MySQL服务器,结合命令选项“—user”可指定运行服务的用户身份。MySQL服务器默认使用TCP3306端口提供服务。
[root@www mysql-5.0.56]# /usr/local/mysql/bin/mysqld_safe --user=mysql &

[1] 32342

Starting mysqld daemon with databases from /usr/local/mysql/var

[root@www mysql-5.0.56]# netstat -ntpl | grep 3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      32368/mysqld

[root@www mysql-5.0.56]#

说明:如果需要修改mysql服务监听的端口,可以编辑“/etc/my.cnf”配置文件,根据需要修改“[mysql]”配置段中的“port”行,例如改为“port=12345.

2>.mysql添加为系统服务。
在展开的mysql源码包目录中的support-files文件夹下,“mysql.server”文件可用来作为mysqld服务的启动脚本。将其复制到“/etc/init.d”目录,并注意添加执行权限、使用带“--add”选项的chkconfig命令将其设为系统自启动服务即可。
[root@www mysql-5.0.56]# cp support-files/mysql.server /etc/init.d/mysqld

cp: overwrite `/etc/init.d/mysqld'? y

[root@www mysql-5.0.56]# chmod +x /etc/init.d/mysqld

[root@www mysql-5.0.56]# chkconfig --add mysqld

[root@www mysql-5.0.56]# chkconfig mysqld on

说明:以后就可发分别使用带“start”、“stop”、“restart”参数的service命令来启动、关闭、重启mysqld服务了。

3>.设置MySQL程序的执行路径。
为了在执行“mysql”等命令和脚本工具时输入更方便,可以修改PATH环境变量,添加执行路径“/usr/local/mysql/bin,并将相关设置定义到系统的“/etc/profile”文件中去。
[root@www mysql-5.0.56]# export PATH=$PATH:/usr/local/mysql/bin

[root@www mysql-5.0.56]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

第二部分:构建PHP环境

PHPPHP Hypertext Preprocessor(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言,最初由Rasums Lerdorf1994年创建。PHP和语法混合了CJavaPerl发及PHP自创的新语法,它能比CGI或者Perl更快地执行动态网页,更重要的是PHP几乎支持所有流行的数据库,在数据库层面的操作功能也十分强大。PHP能够支持多种操作系统平台,可在UNIXWindowsLinux系统中配置使用。
.安装PHP软件包

PHP的源代码可以从官方站点http://www.php.net/downloads/中下载。今天我们将使用在前面已安装的Apache和刚刚装好的MySQL作为基础,以目前较为流行的5.2.6版本的源码包为例,介绍在RHEL5系统中部署PHP环境的过程。
1.       解压并释放下载的PHP源码包到“/usr/src/”目录中,并切换进入展开的源码文件夹.

[root@www mnt]# tar xjf php-5.2.6.tar.bz2 -C /usr/src/

[root@www mnt]# cd /usr/src/

[root@www src]# ls

httpd-2.2.9  kernels  mysql-5.0.56  php-5.2.6  redhat

[root@www src]#cd php-5.2.6

2.       预先配置编译时的参数

[root@wwwphp-5.2.6]#./configure--prefix=/usr/local/php5

--enable-mbstring--with-apxs2=/usr/local/apache2/bin/apxs

--with-mysql=/usr/local/mysql

--with-config-file-path=/usr/local/php5

... ...

Thank you for using PHP.

[root@www php-5.2.6]#

说明:在上面的./configure配置命令中,使用的五个命令选项,其含义如下:

--prefix:设置PHP程序的安装路径

--enable-mbstring:设置PHP支持多字节字符串

--with-apxs2:设置Apache服务器提供的apxs模块支持程序的文件位置。

--with-mysql:设置MySQL服务器程序的安装位置

--with-config-file-path:设置PHP程序的配置文件所在的位置

3. 编译并安装

[root@www php-5.2.6]#make && make install

说明:执行“make”和“make install”命令依此进行编译、安装。这两条命令可发使用“&&”符号分隔,写到一行中。

4. 复制php.ini配置文件

[root@www php-5.2.6]# cp php.ini-dist /usr/local/php5/php.ini

[root@www php-5.2.6]#

说明:PHP安装程序通常不会复制配置文件,因此还需要复制源码目录中的PHP配置模板文件php.ini-dist,将其复制为PHP配置目录中的php.ini文件即可。

二.设置httpd.conf文件

PHP程序需要和Web服务器协同工作,才便于发挥其强大的作用。因此在编译安装好PHP程序以后,还要编辑httpd服务器的主配置文件httpd.conf,添加支持PHP环境的相关配置。要让httpd服务器支持PHP页面解析功能,可以使用“LoadModule”配置项加载PHP程序对应的模块,在httpd.conf文件中查找,确认存在配置行“LoadModule php5_module modules/libphp5.so”,如果没有则手动添加。还需要使用“AddType”配置项添加对.php类型的网页文件的识别。在httpd.conf文件中查找“AddType”关键字,参考相关配置添加配置行“AddType application/x-httpd-php.php”,如下所示:
[root@www php-5.2.6]#vi /usr/local/apache2/conf/httpd.conf

… …

# Example:

# LoadModule foo_module modules/mod_foo.so

LoadModule php5_module        modules/libphp5.so    //确认有此行

AddType application/x-httpd-php .php       //添加此行

… …

[root@www php-5.2.6]#

说明:其中,“php5_module”是模块名称,“modules/libphp5.so”是模块文件的位置。

若还需要将Web站点目录中的首页文件改为使用index.php,则还需要在httpd.conf文件中修改“DirectoryIndex”配置行,添加“index.php”项,以便httpd服务器能够正确搜索该首页文件。如下:
[root@www php-5.2.6]#vi /usr/local/apache2/conf/httpd.conf

… …

<IfModule dir_module>

    DirectoryIndex index.html index.php    (找到此行,添加index.php

</IfModule>

… …

[root@www php-5.2.6]#

三.测试PHP运行环境

要想测试PHP环境是否能够正常工作,需要建立一个使用PHP语言编写的网页文件,并通过httpd服务器发布,在浏览器中进行访问。
1.       测试PHPApache的协同工作

编写一个PHP测试网页文件,使用“phpinfo()”函数显示服务器的PHP环境信息。
[root@www php-5.2.6]# cat /usr/local/apache2/htdocs/pp.php

<?php

phpinfo();

?>

[root@www php-5.2.6]#

有了该测试网页文件发后,就可发在浏览器中访问http://www.zpp.com/pp.php进行测试了,如果PHP解析功能正常,将会在浏览器页面中看到服务器中PHP程序的版本信息。如下图所示:

 

说明:咱们还是用的上次Apache服务器和MySQL的环境,主机名名是www.zpp.com

2.       测试PHPMySQL数据库的协同工作

刚刚我们测试了PHPApache的协同工作,现在我们再次编写一个PHP测试网页文件,添加简单的数据库操作命令,用行测试与MySQL服务器的连接、查询等操作。
[root@www php-5.2.6]# cat /usr/local/apache2/htdocs/ppdb.php

<?php

$link=mysql_connect(‘localhost’,’’);

If(!$link) echo “Fail !!”;

Else echo “Success !!”;

Mysql_close();

?>

[root@www php-5.2.6]#

现在我们在浏览器中访问http://www.zpp.com/ppdb.php进行测试,可以看到测试成功!

 

  好了,本次我们看到了MySQL数据库的安装、启动以及构建PHP环境,下次我们会看到部署Discuz!论坛及安装phpMyAdmin数据库管理套件。