前述:

        本次源码编译安装LAMP平台架构在一台CentOs 7虚拟机完成(穿插叙述叙述mariadb在另一台主机上配置方法)php5以模块形式编译安装到httpd服务器上,httpd服务器Apace多路处理模块(MPM)采用prefork机制。

       下面为安装所用的的以下软件叙述:

CentOS  7

  IP172.16.49.2Kernel3.10.0-229.el7.x86_64

MariaDB

  通用二进制格式mariadb-5.5.46-linux-x86_64.tar

httpd

  编译安装httpd-2.4.9.tar.bz2

php5

  编译安装php-5.6.4.tar.bz2

xcache

  编译安装缓存插件xcache-3.2.0.tar.bz2

    编译前需要安装编译环境,即两个包组:

          [root@localhost~]# yum -y groupinstall "DevelopmentTools" "Server Platform Development"

    安装的时候不同的软件可能依赖不同的安装包的开发环境,安装中需要

注意:任何一个程序包被编译操作依赖到时,需要安装此程序包的“开发”组件,其包名一般类似于name-devel-VERSION;

安装顺序:因为php以模块形式安装,必然依赖httpd,当在同一台主机上配置时依赖mysql,不同主机不依赖mysql

httpd  --->   mariadb  --->   php

 

参考文档(传送门)

php-xcachephp缓存扩展安装配置

http://xuding.blog.51cto.com/4890434/1737143

ariaDB通用二进制编译安装详解

http://xuding.blog.51cto.com/4890434/1737136

CentOS  6编译httpd-2.4.10

http://xuding.blog.51cto.com/4890434/1735113

LAMP概述

http://xuding.blog.51cto.com/4890434/1736626



一、MariaDB通用二进制安装

  1.创建数据库数据存放路径,更改目录权限

[root@localhost~]# mkdir /mysqldata

[root@localhost~]# useradd -r mysql

[root@localhost~]# chown mysql.mysql /mysqldata/

  2.解压通用二进制包:mariadb-5.5.46-linux-x86_64.tar.gz

[root@localhosttmp]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local

[root@localhosttmp]# cd /usr/local

[root@localhostlocal]# ln -sv mariadb-5.5.46-linux-x86_64/ mysql

  3.初始化数据库

[root@localhostlocal]# chown -R .mysql mysql/

[root@localhostlocal]# cd mysql/

[root@localhostmysql]# scripts/mysql_install_db --user=mysql --datadir=/mysqldata

  4.设置配置文件

[root@localhostmysql]# cp support-files/my-large.cnf /etc/my.cnf

[root@localhostmysql]# vim /etc/my.cnf

    [mysqld]添加如下指令:

datadir= /mysqldata

innodb_file_per_table= ON

skip_name_resolve= ON

  5.启动服务配置

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

[root@localhostmysql]# chkconfig --add mysqld

[root@localhostmysql]# chkconfig  mysqld on

[root@localhostmysql]# chkconfig  mysqld --list

[root@localhostmysql]# systemctl start mysqld

 

 

 

二、httpd2.4编译安装

  1.安装编译依赖包组

[root@localhost ~]#yum install -y pcre-devel apr-devel apr-util-devel openssl-devel

  2.编译安装httpd-2.4.9.tar.bz2

[root@localhosttmp]# tar xf httpd-2.4.9.tar.bz2

[root@localhosttmp]# cd httpd-2.4.9/

           [root@localhosthttpd-2.4.9]# ./configure --prefix=/usr/local/apache24--sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib--with-pcre --with-apr=/usr --with-apr-util=/usr --enable-modules=most--enable-mpms-shared=all --with-mpm=prefork

[root@localhosthttpd-2.4.9]# make -j 4

[root@localhost httpd-2.4.9]# make install

  3.手动指定启动脚本启动服务

[root@localhost ~]#/usr/local/apache24/bin/apachectl start

      注意:本次没有进行开机启动配置,以及库、头文件和环境变量的指定等操作,启动的时候需要指定绝对路径启动

      apachectl是编译安装后本安装包自带的启动bin文件

 

 

 

三、php-5.4编译安装

注意:编译安装成模块时候,会依赖httpd当前的MPM模式编译成模块,编译完成后无法更改

  1.安装编译依赖包组

[root@localhosttmp]# yum install -y libxml2-devel libmcrypt-devel bzip2-devel

  2.编译安装httpd-2.4.9.tar.bz2

[root@localhosttmp]# tar xf php-5.6.4.tar.xz

[root@localhosttmp]# cd php-5.6.4/

           [root@localhostphp-5.6.4]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql--with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config--enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir--with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets--with-apxs2=/usr/local/apache24/bin/apxs --with-mcrypt--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2

[root@localhostphp-5.6.4]# make -j 4

           [root@localhostphp-5.6.4]# make install

   .configure选项详解

 --prefix=/usr/local/php

指明安装位置

 --with-mysql=/usr/local/mysql

指明myql位置,RPM安装指明/usr即可

--with-openssl

支持SSL加密机制

--with-mysqli=/usr/local/mysql/bin/mysql_config

支持mysqli(mysql另一个访问接口)

--enable-mbstring

支持中文字符,多字节字符支持模块

--with-png-dir

 支持使用过png图片格式

--with-jpeg-dir

支持使用过jpeg图片格式

--with-freetype-dir

支持freetype字体格式

--with-zlib

支持压缩

 --with-libxml-dir=/usr

支持分析xml

 --enable-xml

支持xml格式

 --enable-sockets

支持套接字通信

--with-apxs2=/usr/local/apache24/bin/apxs

编译成apache模块

--with-mcrypt

支持加密库

--with-config-file-path=/etc

指明安装配置文件位置

 --with-config-file-scan-dir=/etc/php.d

指明另外配置文件读取路径

 --with-bz2

支持bz2格式压缩

说明:

      1)支持apache的worker或event这两个MPM,编译时使用--enable-maintainer-zts选项。

      2)如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发

          mysqlnd从php5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖)但从PHP5.4开始它就是默认设置了

mysql服务器和php不在一台主机上的时候可以在编译时添加(修改)如下部分选项:

              #./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

 

 3.php配置 

[root@localhostphp-5.6.4]# cp php.ini-production /etc/php.ini

 

 4.httpdphp模块连接配置

      [root@localhostphp-5.6.4]# cd /etc/httpd24

      [root@localhosthttpd24]# vim httpd.conf

             增加或者修改以下内容:

AddType application/x-httpd-php  .php  .php文件识别为application的类型

<IfModule dir_module>

DirectoryIndex index.php index.html

</IfModule>

      [root@localhosthttpd24]# /usr/local/apache24/bin/apachectl stop

      [root@localhosthttpd24]# /usr/local/apache24/bin/apachectl start

 5.创建测试

源码编译搭建LAMP架构_xcache

 

四、xcache(缓存)编译安装

  1.依赖包

#yum install php-devel

  2.编译安装

#cd  xcache-3.2.0

# phpize           

#./configure --enable-xcache --with-php-config=/usr/bin/php-config

#make && make install

  3.配置文件

#cp  xcache.ini  /etc/php.d/