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

Linux系列-Red Hat5平台下的LAMP网站服务搭建(三)

2010-02-25 23:42 826 查看
[align=center]Linux[/b]系列[/b]-Red Hat5[/b]平台下的[/b]LAMP[/b]网站服务搭建(三)[/b][/b][/align]
[align=center]MySQL[/b]数据库的安装、启动&[/b]构建PHP[/b]环境[/b][/align]
上次咱们看到了LAMP网站服务(二)使用awstats分析Web日志&httpd服务的访问控制,其实都是在为后面的应用打基础。今天咱们将会进入到最后的准备环节,我将会为大家介绍MySQL数据库的安装和PHP环境的构建。
第一部分: MySQL[/b]数据库的安装和启动控制[/b]
首先,介绍一下MySQL.MySQL是一个真正的多线程、多用户的SQL数据库服务器,基于客户端/服务器结构实现,具有功能强大、使用简单、管理方便、查询速度快、安全可靠等优点。而且MySQL是一个开源的数据库服务器软件,可发从Internet免费下载和使用。在RHEL5系统中,使用RPM包的方式也可发安装MySQL数据库,但是往往会缺失一些“不常用”的功能,而且MySQL被拆分成许多相互关联,依赖的RPM包,可能会让人对应该安装哪些包感到迷惑,为了确保可提供功能的完整性,方便管理员灵活定制,保持在整个LAMP架构中的可协调性。建议使用源码编译的安装方式。
下面是具体的安装过程:[/b][/b]
1. [/b]安装MySQL[/b]
首先访问MySQL官方的下载页面http://dev.mysql.com/downloads/,查找并下载MySQL软件的源码包,这时将使用mysql-5.0.56.tar.gz为例,介绍MySQL的编译安装过程。
1>.创建运行MySQL数据库的系统用户、组。
[root@www ~]# useradd -M -s /sbin/nologin mysql[/b]
(如果已存在,则无需重复创建)
2>.解压并释放源码包,并切换至展开的源码包目录。
[root@www mnt]# tar zxf mysql-5.0.56.tar.gz -C /usr/src/[/b]
[root@www mnt]# cd /usr/src/mysql-5.0.56/[/b]
[root@www mysql-5.0.56]#
3>.使用“./configure”命令配置编译选项。
[root@www mysql-5.0.56]# ./configure --prefix=/usr/local/mysql[/b]
(./configure命令的更多选项可以通过命令./configure –help查询)
4>.编译并安装。
[root@www mysql-5.0.56]# make ; install[/b]
5>.安装后的调整
建立配置文件[/b]:
[root@www mysql-5.0.56]# cp support-files/my-medium.cnf /etc/my.cnf[/b]
说明:在展开的源码包目录中的“support-files”文件夹下,提供了多个MySQL服务器的配置文件,分别适用于不同负载的数据库服务器,一般选择my-medium.cnf文件即可,该配置文件适用于中等负载的数据库,可以满足大多数企业的应有需求。[/b]
初始化数据库[/b]:
[root@www mysql-5.0.56]# /usr/local/mysql/bin/mysql_install_db --user=mysql[/b]
[root@www mysql-5.0.56]# chown -R root.mysql /usr/local/mysql/[/b]
[root@www mysql-5.0.56]# chown -R mysql /usr/local/mysql/var/[/b]
说明:以mysql用户的身份执行mysql_install_db脚本,对MySQL数据库进行初始化。修改相关目录的所有权,以便mysql用户可以读写数据库。
调整lib[/b]库路径[/b]:
[root@www mysql-5.0.56]# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf[/b]
[root@www mysql-5.0.56]# ldconfig[/b]
说明:由于MySQL安装到了非标准的路径中。所发还需要将MySQL的库文件路径“/usr/local/mysql/lib/mysql”加入到系统的库文件搜索路径中,以便在用到时能够自动搜索到。增加库文件搜索路径可以通过修改“/etc/ld.so.conf”文件实现。
2.MySQL[/b]启动控制[/b]
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 &[/b]
[1] 32342
Starting mysqld daemon with databases from /usr/local/mysql/var
[root@www mysql-5.0.56]# netstat -ntpl | grep 3306[/b]
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[/b]
cp: overwrite `/etc/init.d/mysqld'? y[/b]
[root@www mysql-5.0.56]# chmod +x /etc/init.d/mysqld[/b]
[root@www mysql-5.0.56]# chkconfig --add mysqld[/b]
[root@www mysql-5.0.56]# chkconfig mysqld on[/b]
说明:以后就可发分别使用带“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[/b]
[root@www mysql-5.0.56]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile[/b]
第二部分:构建PHP[/b]环境[/b]
PHP是PHP Hypertext Preprocessor(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言,最初由Rasums Lerdorf在1994年创建。PHP和语法混合了C、Java、Perl发及PHP自创的新语法,它能比CGI或者Perl更快地执行动态网页,更重要的是PHP几乎支持所有流行的数据库,在数据库层面的操作功能也十分强大。PHP能够支持多种操作系统平台,可在UNIX、Windows、Linux系统中配置使用。
一.[/b]安装PHP[/b]软件包[/b]
PHP的源代码可以从官方站点http://www.php.net/downloads/中下载。今天我们将使用在前面已安装的Apache和刚刚装好的MySQL作为基础,以目前较为流行的5.2.6版本的源码包为例,介绍在RHEL5系统中部署PHP环境的过程。
1. [/b]解压并释放下载的PHP[/b]源码包到“/usr/src/[/b]”目录中,并切换进入展开的源码文件夹.[/b]
[root@www mnt]# tar xjf php-5.2.6.tar.bz2 -C /usr/src/[/b]
[root@www mnt]# cd /usr/src/[/b]
[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. [/b]预先配置编译时的参数[/b]
[root@wwwphp-5.2.6]#./configure--prefix=/usr/local/php5[/b]
--enable-mbstring--with-apxs2=/usr/local/apache2/bin/apxs [/b]
--with-mysql=/usr/local/mysql [/b]
--with-config-file-path=/usr/local/php5[/b]
... ...
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. [/b]编译并安装[/b]
[root@www php-5.2.6]#make && make install[/b]
说明:执行“make”和“make install”命令依此进行编译、安装。这两条命令可发使用“&&”符号分隔,写到一行中。
4. [/b]复制php.ini[/b]配置文件[/b]
[root@www php-5.2.6]# cp php.ini-dist /usr/local/php5/php.ini[/b]
[root@www php-5.2.6]#
说明:PHP安装程序通常不会复制配置文件,因此还需要复制源码目录中的PHP配置模板文件php.ini-dist,将其复制为PHP配置目录中的php.ini文件即可。
二.设置httpd.conf[/b]文件[/b]
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[/b]
… …
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule php5_module modules/libphp5.so //[/b]确认有此行[/b][/b]
AddType application/x-httpd-php .php //[/b]添加此行[/b]
… …
[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[/b]
… …
<IfModule dir_module>
DirectoryIndex index.html index.php [/b](找到此行,添加[/b]index.php[/b])[/b][/b]
</IfModule>
… …
[root@www php-5.2.6]#
三.测试PHP[/b]运行环境[/b]
要想测试PHP环境是否能够正常工作,需要建立一个使用PHP语言编写的网页文件,并通过httpd服务器发布,在浏览器中进行访问。
1. [/b]测试PHP[/b]与Apache[/b]的协同工作[/b]
编写一个PHP测试网页文件,使用“phpinfo()”函数显示服务器的PHP环境信息。
[root@www php-5.2.6]# cat /usr/local/apache2/htdocs/pp.php[/b]
<?php
phpinfo();
?>
[root@www php-5.2.6]#
有了该测试网页文件发后,就可发在浏览器中访问http://www.zpp.com/pp.php[/b]进行测试了,如果PHP解析功能正常,将会在浏览器页面中看到服务器中PHP程序的版本信息。如下图所示:



说明:咱们还是用的上次Apache服务器和MySQL的环境,主机名名是www.zpp.com
2. [/b]测试PHP[/b]与MySQL[/b]数据库的协同工作[/b]
刚刚我们测试了PHP与Apache的协同工作,现在我们再次编写一个PHP测试网页文件,添加简单的数据库操作命令,用行测试与MySQL服务器的连接、查询等操作。
[root@www php-5.2.6]# cat /usr/local/apache2/htdocs/ppdb.php[/b]
<?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[/b]进行测试,可以看到测试成功!



好了,本次我们看到了MySQL数据库的安装、启动以及构建PHP环境,下次我们会看到部署Discuz!论坛及安装phpMyAdmin数据库管理套件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: