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

来源:互联网 发布:工业4.0对管理的优化 编辑:程序博客网 时间:2024/05/10 01:53
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xjzhujunjie.blog.51cto.com/3582724/810067

 

Linux下Web服务器应用之

源码构建LAMP环境

1.构建的linux环境:

[root@www ~]# uname –a    #Linux的环境

Linux www 2.6.18-128.el5 #1 SMP Wed Dec 17 11:42:39 EST 2008 i686 i686 i386 GNU/Linux

2.准备工作:

准备一:关闭firewall和SELinux(略)

准备二:构建本地yum服务器(略)

准备三:下载以下软件(我存放在linux的/root/lamp下)

mysql-5.5.19-linux2.6-i686.tar.gz
httpd-2.2.21.tar.gz
php-5.3.8.tar.bz2

Ü Apache http://www.apache.org/

Ü Mysql http://www.mysql.com/

Ü Php http://www.php.net/

准备四:构建编译组环境

使用# yum grouplist all |less查看已安装的组环境(红色必选

Java Development
KDE Software Development

Legacy Software Development

X Software Development

Development Libraries

Development Tools

发现这里没有安装Development Tools,使用下面命令安装

[root@www ~]# yum groupinstall "Development Tools"

源码构建LAMP环境过程

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 local]# ll

 

 

[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]# ll

 

 

[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 ~]#

2.源码安装apache:

#解压apache程序文件
[root@www ~]# cd /root/lamp/

[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

 

3.源码安装php:

#解压php程序文件

[root@www ~]# cd /root/lamp/

[root@www lamp]# tar -jxvf php-5.3.8.tar.bz2 -C /usr/local/src/

[root@www lamp]# cd /usr/local/src/
[root@www src]# ll
[root@www src]# cd php-5.3.8/
[root@www php-5.3.8]# ll
#配置php二进制文件

 

[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

#编译php二进制文件
 
[root@www php-5.3.8]# make
#安装php二进制文件
[root@www php-5.3.8]# make install

4.测试LAMP环境:

增加网页测试文件:

#编辑apache的配置文件使识别index.php文件

[root@www htdocs]# vim /etc/httpd/httpd.conf

167     DirectoryIndex index.php index.html

310     AddType application/x-httpd-php .php

[root@www htdocs]# apachectl stop
[root@www htdocs]# apachectl start

 

#测试apache与PHP的连接:

[root@www php-5.3.8]# cd /usr/local/apache/htdocs/

[root@www htdocs]# ll
total 4
-rw-r--r-- 1 root root 44 Nov 21 2004 index.html

[root@www htdocs]# mv index.html index.php

[root@www htdocs]# vim index.php

<html><body><h1>It works!--xjzhujunjie--2012/03/18</h1></body></html>

<?php
phpinfo();
?> 

 

 

 

 

#测试apache与mysql的连接:

[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";
?>

[root@www htdocs]# service mysqld stop
Shutting down MySQL.                                       [ OK ]
--xjzhujunjie –2012/03/19-0:04

本文出自 “xjzhujunjie” 博客,请务必保留此出处http://xjzhujunjie.blog.51cto.com/3582724/810067

原创粉丝点击