天天看点

Linux下Web服务器应用之源码构建LAMP环境

<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 -&gt; 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>&lt;html&gt;&lt;body&gt;&lt;h1&gt;It works!--xjzhujunjie--2012/03/18&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</b>

<b>&lt;?php</b>

<b>phpinfo();</b>

<b>?&gt; </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

&lt;?php

$link=mysql_connect('127.0.0.1','root','');

if($link)

echo "scuess";

else

echo "fail";

?&gt;

<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