<b>Linux</b><b>下Web服务器应用之</b>
<b>源码构建</b><b>LAMP</b><b>环境</b>
<b>1.</b><b>构建的linux环境:</b>
[root@www ~]# uname –a #Linux的环境
Linux www <b>2.6.18-128.el5</b> #1 SMP Wed Dec 17 11:42:39 EST 2008 i686 i686 i386 GNU/Linux
<b>2.</b><b>准备工作:</b>
<b>准备一:关闭firewall和SELinux(略)</b>
<b>准备二:构建本地yum服务器(略)</b>
<b>准备三:</b><b>下载以下软件(我存放在linux的</b><b>/root/lamp</b><b>下)</b>
<b>mysql-5.5.19-linux2.6-i686.tar.gz</b>
<b>httpd-2.2.21.tar.gz</b>
<b>php-5.3.8.tar.bz2</b>
<b>准备四:</b><b>构建编译组环境</b>
使用# <b>yum grouplist all |less</b>查看已安装的组环境(<b>红色必选</b>)
Java Development
KDE Software Development
<b>Legacy Software Development</b>
X Software Development
<b>Development Libraries</b>
<b>Development Tools</b>
<b>发现这里没有安装</b><b>Development Tools</b>,使用下面命令安装
[root@www ~]#<b> yum groupinstall "Development Tools"</b>
<b>源码构建</b><b>LAMP</b><b>环境过程</b>
1.源码安装mysql:
#这里我将下载的软件存放到/root/lamp目录下
[root@www ~]# cd /root/lamp/
#解压mysql的主程序文件,使用tar –zxvf,并使用-C指定解压目录
(说明:一般一些额外的软件安装时经常将其放到/usr/local目录下)
[root@www lamp]# tar -zxvf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local/
#切换至/usr/local/的目录下,并创建软连接,便于访问mysql文件
[root@www lamp]# cd /usr/local/
[root@www local]#ll
[root@www local]# ln -s mysql-5.5.19-linux2.6-i686/ mysql
[root@www local]# ll
#切换至mysql的目录下,进行一些主要配置
[root@www local]# cd mysql
[root@www mysql]# groupadd -r mysql
[root@www mysql]# useradd -r -g mysql -s /sbin/nologin -M mysql
[root@www mysql]# chown -R mysql:mysql .
[root@www mysql]# scripts/mysql_install_db --user=mysql
[root@www mysql]# chown -R root .
[root@www mysql]# chown -R mysql data/
[root@www mysql]# ll
[root@www mysql]# cp support-files/my-medium.cnf /etc/my.cnf
[root@www mysql]# cp support-files/mysql.server /etc/init.d/mysqld
#此时可以在任何位置,使用mysqld来管理服务
[root@www mysql]# service mysqld start
Starting MySQL... [ OK ]
#配置mysql的头文件
[root@www mysql]# cat /etc/ld.so.conf
[root@www mysql]# cd /etc/ld.so.conf.d/
[root@www ld.so.conf.d]# ll
[root@www ld.so.conf.d]# vim mysql.conf
/usr/local/mysql/lib
[root@www ld.so.conf.d]# ldconfig -v |grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
#配置mysql的库文件
[root@www ld.so.conf.d]# cd /usr/include/
[root@www include]# ln -s /usr/local/mysql/include/ mysql
[root@www include]# cd mysql/
[root@www mysql]# cd
#使chkconfig可以管理mysqld服务
[root@www ~]# chkconfig --add mysqld
[root@www ~]# chkconfig --list |grep mysqld
mysqld 0:off 1:off 2:on 3:on 4:o5:on 6:off
[root@www ~]#
<b>2.</b><b>源码安装apache:</b>
#解压apache程序文件
[root@www lamp]# tar -zxvf httpd-2.2.21.tar.gz -C /usr/local/src/
[root@www lamp]# cd /usr/local/src/
[root@www src]# ll
[root@www src]# cd httpd-2.2.21/
#配置apache二进制文件
[root@www httpd-2.2.21]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --with-z --enable-ssl
#编译apache二进制文件
[root@www httpd-2.2.21]#make
#安装apache二进制文件
[root@www httpd-2.2.21]#make install
#进行相关配置,使apache正常工作
[root@www httpd-2.2.21]# cd /usr/local/apache/
[root@www apache]# ./bin/apachectl start
[root@www apache]# netstat -tupln |grep http
[root@www apache]# vim /etc/profile
55 PATH=$PATH:/usr/local/apache/bin/
[root@www apache]# . /etc/profile
[root@www apache]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin/
#此时可以再任何位置:apachectl start|restart |stop
#配置apache的头文件
[root@www apache]# cd /usr/include/
[root@www include]# ln -s /usr/local/apache/include/ apache
#配置apache的库文件
[root@www include]# cat /etc/ld.so.conf
[root@www include]# cd /etc/ld.so.conf.d/
[root@www ld.so.conf.d]# vim apache.conf
/usr/local/apache/lib
[root@www ld.so.conf.d]# ldconfig -v |grep apache
/usr/local/apache/lib:
[root@www ld.so.conf.d]#
#查看httpd和mysqld信息.
[root@www ld.so.conf.d]# netstat -tupln |grep httpd
tcp 0 0 :::80 :::* LISTEN 21263/httpd
[root@www ld.so.conf.d]# netstat -tupln |grep mysqld
tcp 0 0 :::3306 :::* LISTEN 2937/mysqld
<a target="_blank" href="http://blog.51cto.com/attachment/201203/082738924.png"></a>
<b></b>
<b><b>3.</b><b>源码安装php:</b></b>
<b>#解压php程序文件</b>
<b>[root@www ~]# cd /root/lamp/</b>
<b>[root@www lamp]# tar -jxvf php-5.3.8.tar.bz2 -C /usr/local/src/</b>
<b>[root@www lamp]# cd /usr/local/src/</b>
<b>[root@www src]# ll</b>
<b>[root@www src]# cd php-5.3.8/</b>
<b>[root@www php-5.3.8]# ll</b>
<b>#配置php二进制文件</b>
<b> </b>
<b>[root@www php-5.3.8]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config</b>
<b>#编译php二进制文件</b>
<b>[root@www php-5.3.8]# make</b>
<b>#安装php二进制文件</b>
<b>[root@www php-5.3.8]# make install</b>
<b><b>4.</b><b>测试LAMP环境:</b></b>
<b>增加网页测试文件:</b>
<b>#编辑apache的配置文件使识别index.php文件</b>
<b>[root@www htdocs]# vim /etc/httpd/httpd.conf</b>
<b>167 DirectoryIndex index.php index.html</b>
<b>310 AddType application/x-httpd-php .php</b>
<b>[root@www htdocs]# apachectl stop</b>
<b>[root@www htdocs]# apachectl start</b>
<b>#测试apache与PHP的连接:</b>
<b>[root@www php-5.3.8]# cd /usr/local/apache/htdocs/</b>
<b>[root@www htdocs]# ll</b>
<b>total 4</b>
<b>-rw-r--r-- 1 root root 44 Nov 21 2004 index.html</b>
<b>[root@www htdocs]# mv index.html index.php</b>
<b>[root@www htdocs]# vim index.php</b>
<b><html><body><h1>It works!--xjzhujunjie--2012/03/18</h1></body></html></b>
<b><?php</b>
<b>phpinfo();</b>
<b>?> </b>
<a target="_blank" href="http://blog.51cto.com/attachment/201203/082804840.png"></a>
<b>#</b><b>测试apache与mysql的连接:</b>
[root@www htdocs]# vim /usr/local/apache/htdocs/index.php
It works!--xjzhujunjie--2012/03/18
<?php
$link=mysql_connect('127.0.0.1','root','');
if($link)
echo "scuess";
else
echo "fail";
?>
<a target="_blank" href="http://blog.51cto.com/attachment/201203/082820742.png"></a>
[root@www htdocs]# service mysqld stop
Shutting down MySQL. [ OK ]
--xjzhujunjie –2012/03/19-0:04
<a target="_blank" href="http://blog.51cto.com/attachment/201203/082834812.png"></a>
本文转自xjzhujunjie 51CTO博客,原文链接:http://blog.51cto.com/xjzhujunjie/810067