> CentOS > CentOS服务器 > webserver >

Centos+apache+mysql+php LAMP源码编译安装

WEB服务器linux+apache+mysql+php LAMP源码环境搭建

Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度共同

组成了一个强大的web应用程序平台。而从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

下面来看一下LAMP环境搭建的步骤。

准备工具:

apr-1.4.6.tar.gz apr-util-1.5.1.tar.gz

httpd-2.4.4.tar.bz2

mysql-5.6.10.tar.gz cmake-2.8.10.2.tar.gz

php-5.4.3.tar.gz

一.准备环境:

我用的是Red Hat Enterprise Linux 5.4   eth0 192.168.126.129

[root@lly ~]# mount /dev/cdrom  /mnt/cdrom挂载光盘

用yum检测开发环境

[root@lly ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo编辑yum客户端

wps_clip_image-18549

[root@lly ~]# yum grouplist检查开发环境

wps_clip_image-17594

说明:这里需要有这几个开发环境,我这里,环境已经具备了,要是没有这几个开发环境,       可以用yum groupinstall “开发环境名”即可,

注意:yum安装软件包组时,多个单词的一定要加””

二.安装

 按照httpd  mysql   php  的顺序依次安装

1.安装apache

其实关于apache的安装,本人前边的博客已有介绍

[root@lly ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/

[root@lly ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/

[root@lly src]# cd /usr/local/src/apr-1.4.6/

[root@lly apr-1.4.6]# ./configure   --prefix=/usr/local/apr把apr安装到/usr/local/apr目录下

[root@lly apr-1.4.6]#make

[root@lly apr-1.4.6]#make install

[root@lly apr-1.4.6]# cd ..

[root@lly src]# cd apr-util-1.5.1/

[root@lly apr-util-1.5.1]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config

[root@lly apr-util-1.5.1]# make

[root@lly apr-util-1.5.1]# cd

[root@lly ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/httpd-2.4.4/

[root@lly httpd-2.4.4]# ./configure --prefix=/usr/local/apache  --sysconfdir=/etc/httpd  --enable-so   --enable-ssl  --enable-rewrite  --with-apr=/usr/local/apr/bin/apr-1-config   --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre  -with-z --enable-mpms-shared=all

[root@lly httpd-2.4.4]# make

[root@lly httpd-2.4.4]# make install

[root@lly httpd-2.4.4]#/usr/local/apache/man

[root@lly man]# vim /etc/man.config

把apache的man手册添加到man路径方便查看apache的man手册

wps_clip_image-16063

为了防止系统调用apache的头文件include时找不到路径,可以做一个连接

[root@lly apache]# ln -s /usr/local/apache/include/   /usr/include/apache

为了更好的管理httpd,为其编辑一个启动脚本

[root@lly ~]# cd /etc/init.d/

[root@lly init.d]# vim httpd

脚本如下

#!/bin/sh

#set -x

HTTPD='/usr/local/apache/bin/httpd'

CONFFILE='/etc/httpd/httpd.conf'            

#description: http server

#chkconfig: 2345 88 60

start(){

     [ -f /var/lock/subsys/httpd ]&& echo "apache is started" && exit

    echo -n  "starting apache......"

       sleep  1

}

stop(){

    [ ! -f  /var/lock/subsys/httpd ] && echo "httpd is stoped..." && exit

    echo -n "stoping httpd........"

       sleep  1

    /bin/rm -rf /var/lock/subsys/httpd

    $HTTPD -k  stop  && RETVAL=0 ||RETVAL=1

}

case $1 in

stop(){

    [ ! -f  /var/lock/subsys/httpd ] && echo "httpd is stoped..." && exit

    echo -n "stoping httpd........"

       sleep  1

    /bin/rm -rf /var/lock/subsys/httpd

    $HTTPD -k  stop  && RETVAL=0 ||RETVAL=1

    [ $RETVAL -eq 0 ] && rm -rf /var/lock/subsys/httpd && echo "ok" || echo "fail"

}

case $1 in

start)

       start

       ;;

stop)

       stop

       ;;

restart)

      stop

      start

       ;;

*)

       echo "start|stop|restart"

       ;;

esac

[root@lly init.d]# chmod a+x /etc/init.d/httpd

[root@lly init.d]# service httpd start

[root@lly init.d]# netstat -tupln |grep http

tcp        0      0 :::80                       :::*

[root@lly init.d]# chkconfig --add httpd添加自启动

[root@lly init.d]# chkconfig --list  |grep http

httpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off

2.安装mysql   cmake

[root@lly ~]# tar zxvf mysql-5.6.10.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/mysql-5.6.10/

[root@lly mysql-5.6.10]# less INSTALL-SOURCE

mysql的使用说明

wps_clip_image-3494安装mysql的时候需要用到cmake工具

安装cmake

[root@lly ~]# tar -zxvf cmake-2.8.10.2.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/cmake-2.8.10.2/

[root@lly cmake-2.8.10.2]# ./configure   --prefix=/usr/local/cmake

[root@lly cmake-2.8.10.2]# make  && make install

Waiting.......................

[root@lly cmake-2.8.10.2]# cd /usr/local/cmake/

为了日后能快速访问cmake下的bin,把cmke下的bin添加路径

[root@lly cmake]# vim /etc/profile

wps_clip_image-3520

注意:只有下次进入之后路径才会添加成功

[root@lly ~]# cd /usr/local/src/mysql-5.6.10/

86:36

[root@lly mysql-5.6.10]# cmake .

[root@lly mysql-5.6.10]# make  &&  make install

Please  waiting  for  a  long time。。。。。。。。。。。。。。。。。。。。。。。。。。

[root@lly ~]# cd /usr/local/src/mysql-5.6.10/

[root@lly mysql-5.6.10]# less INSTALL-SOURCE

Mysql安装说明中的配置的步骤

wps_clip_image-7154

[root@lly mysql-5.6.10]# cd /usr/local/mysql/

创建帐号信息

[root@lly mysql]# groupadd mysql

[root@lly mysql]# useradd -r -g mysql mysql

[root@lly mysql]# chown -R mysql .

进行初始化

[root@lly mysql]# scripts/mysql_install_db  --user=mysql

[root@lly mysql]# chown -R root .

[root@lly mysql]# chown -R mysql data

[root@lly mysql]# cd support-files/

[root@lly support-files]# cp my-default.cnf   /etc/my.cnf

[root@lly support-files]# cp mysql.server   /etc/init.d/mysqld

[root@lly support-files]# chmod a+x  /etc/init.d/mysqld

[root@lly support-files]# service mysqld start

Starting MySQL.....                                        [  OK  ]

mysqld 服务成功启动

[root@lly support-files]# netstat -tupln |grep mysqld

tcp        0      0 :::3306                     :::*      

[root@lly support-files]# cd ..

[root@lly mysql]# pwd

/usr/local/mysql

[root@lly mysql]# vim /etc/profile

wps_clip_image-1809

重新登录一次

[root@lly ~]# mysql

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

[root@lly ~]# mysqladmin -u root -p password '123'设置一个管理员帐号密码123

[root@lly ~]# mysql -u root -p以后就可以以此帐号登陆了

wps_clip_image-262

mysql生成的/usr/local/mysql/lib库文件不是标准路径系统无法识别(/lib 或者/usr/lib为标准路径)所以需做如下配置

[root@lly mysql]# vim /etc/ld.so.conf.d/mysql.conf

写入

/usr/local/mysql/lib

刷新ld.so.cache

[root@lly mysql]# ll /etc/ld.so.cache

-rw-r--r-- 1 root root 81871 Apr 13 08:17 /etc/ld.so.cache

[root@lly mysql]# ldconfig

[root@lly mysql]# ll /etc/ld.so.cache

-rw-r--r-- 1 root root 82128 Apr 13 15:46 /etc/ld.so.cache

对mysql的头文件include做一个连接

[root@lly mysql]# ln -s /usr/local/mysql/include/   /usr/include/mysql

3.安装php

[root@lly ~]# tar -zxvf php-5.4.3.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/php-5.4.3/

[root@lly php-5.4.3]# ./configure --prefix=/usr/local/php  --sysconfdir=/etc  --with-apxs2=/usr/local/apache/bin/apxs --with-zlib   --with-gd  --with-jpeg-dir  --with-png-dir  --enable-mbstring  --with-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-xml  --with-freetype-dir

[root@lly php-5.4.3]# make  && make install

[root@lly php-5.4.3]# cd /usr/local/php/

[root@lly php]# vim /etc/profile

wps_clip_image-11228

[root@lly php]# vim /etc/ld.so.conf.d/php.conf

写入

/usr/local/mysql/lib

[root@lly php]# ldconfig

[root@lly php]# ln -s include  /usr/include/php

[root@lly php]# vim /etc/httpd/httpd.conf

在apache的配置文件中会自动添加modules/libphp5.so模块

wps_clip_image-16678

wps_clip_image-24601

[root@lly ~]# service httpd restart重启apache

注意:若出现如下错误,可能是是Linux有一个SELinux保护模式引起的

starting apache......httpd: Syntax error on line 147 of /etc/httpd/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

Fail

可以进行如下操作

1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled

需要重启
这个方法可能会对服务器带来风险。

2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1

[root@lly ~]# cd /usr/local/apache/htdocs      apache的默认站点目录

三.测试

1.测试apache

浏览器输入http://192.168.126.129

wps_clip_image-17980

2.测试php

[root@lly htdocs]# mv index.html  index.php  把apache的测试页改为php

[root@lly htdocs]# vim index.php

wps_clip_image-27790

刷新浏览器出现如下界面

wps_clip_image-19033

至此,apache和php完美结合了。。。

3.测试php和mysql的结合是否成功

[root@lly htdocs]# vim index.php

wps_clip_image-28130

刷新浏览器

wps_clip_image-32506

[root@lly htdocs]# service mysqld stop关闭mysqld服务时也显示正常

wps_clip_image-329

到这里 apache 和mysql、php已经完美结合在了一起。linux+apache+mysql+php的web环境架构已经形成了.

(责任编辑:IT)