LAMP 编译安装基于2.4

安装前准备

说明:

    操作系统:CentOS 6.7 64

    MySQL数据库版本:mariadb-5.5.48-linux-x86_64.tar.gz

    Apache 版本:httpd-2.4.12.tar.bz2

    PHP 版本:php-5.6.8.tar.bz2

    httpd服务器ip:192.168.1.5

    1.  配置好IPDNS 、网关,确保使用远程连接工具能够连接服务器

    2.     配置防火墙,iptables –F 清理防火墙规则或者关闭iptables

    3.     关闭SELINUX, setenforce 0  #立即生效(实际是宽容模式)

    4.  源码包编译安装位置:/usr/local/软件名字

    5.     安装编译需要的开发组件和依赖包

        yum -y groupinstall "Development Tools" "Server Platform Development"

        yum -y install pcre-devel openssl openssl-devel

 

二、编译安装apache

 1. httpd-2.4.12需要较新版本的aprapr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。

  apr-1.5.2.tar.bz2

  apr-util-1.5.4.tar.gz

    (1) 编译安装apr

    tar jxvf apr-1.5.1.tar.bz2

    cd apr-1.5.1

     ./configure –prefix=/usr/local/apr

    make && make install

     

    (2) 编译安装apr-util

    cd

    tar zxvf apr-util-1.5.4.tar.gz

    cd apr-util-1.5.4

     ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/

    make && make install

     

 2.编译安装httpd-2.4.12

cd

tar jxvf httpd-2.4.12.tar.bz2

  cd httpd-2.4.12

  ./configure –prefix=/usr/local/apache –sysconfdir=/etc/httpd24 –enable-so –enable-ssl –enable-cgi –enable-rewrite –with-zlib –with-pcre –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –enable-modules=most –enable-mpms-shared=all –with-mpm=event

make && make install

参数的各项含义:

–prefix=/usr/local/apache          #安装位置

–sysconfdir=/etc/httpd24           #配置文件位置

–enable-so                         #支持DSO动态装载模块

–enable-ssl                        #支持SSL/TLS,可实现https协议访问,需要安装openssl-devel

–enable-cgi                        #支持CGI脚本

–enable-rewrite                    #支持URL重写

–with-zlib                         #使用指定的zlib压缩库,不指定路径会自动寻找

–with-pcre                         #使用指定的pcre库,增强的正则表达式分析工具;不指定路径会自动寻找 需已安装pcre-devel

–with-apr=/usr/local/apr           #指定依赖apr程序安装位置

–with-apr-util=/usr/local/apr-util #指定依赖apr-util程序安装位置

–enable-modules=most               #支持动态启用模块;all:所有,most:常用

–enable-mpms-shared=all            #编译并共享模块

–with-mpm=event                    #默认启用模块{prefork|worker|event}

 

 3. 配置man手册文件路径

         vi /etc/man.config            #系统通过/etc/man.config中的MANPATH来指定查找路径

         MANPATH /usr/local/apache/man

 4. 输出头文件至系统

Linux系统的库文件都存放在/usr/include中,程序使用时会到这个目录中调用,因此需要将我们安装后的库文件跟系统库文件做以关联。我们使用软连接的方式,将httpd的头文件目录整个连接到/usr/include目录下。

ln -sv /usr/local/apache/include/ /usr/include/httpd

 

 5. 配置apache 启动服务

    vi /etc/profile  #添加apache服务系统环境变量

    在最后添加下面这一行

export PATH=$PATH:/usr/local/apache/bin

cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd      #apache加入到系统启动

vi /etc/init.d/httpd24   #编辑文件

#!/bin/sh下面添加以下两行

#chkconfig:2345 10 90
#description:Activates/Deactivates Apache Web Server

 

加入服务列表:

chkconfig –add httpd24

chkconfig httpd on

service httpd24 start

 

访问测试

    blob.png

安装mariadb-5.5.48

1.  新建用户以安全方式运行进程:

    groupadd -r -g 306 mysql     #添加mysql组
    useradd -r -g 306 -u 306 mysql    #创建mysql用户并加入到mysql组
    mkdir -pv /mydata/data                # #创建MySQL数据库存放目录
    chown -R mysql.mysql /mydata/data  #设置MySQL数据库目录权限

 

2.  安装并初始化mariadb-5.5.48-linux-x86_64.tar.gz

tar xf mariadb-5.5.48-linux-x86_64.tar.gz -C /usr/local/

cd /usr/local/
ln -sv mariadb-5.5.48-linux-x86_64 mysql         #创建软连接到mysql目录,方便后面的配置
cd /usr/local/mysql
chown -R root:mysql ./*
scripts/mysql_install_db --datadir=/mydata/data --user=mysql     #生成mysql系统数据库

 

3. mysql提供主配置文件:

 mkdir /etc/mysql

cp support-files/my-large.cnf /etc/mysql/my.cnf

 vi /etc/mysql/my.cnf

datadir = /mydata/data                 #数据存放位置

innodb_file_per_table = on

skip_name_resolve = on                 #跳过名称反解

4.  mysql提供sysv服务脚本:

cp supper-files/mysql.server /etc/rc.d/init.d/mysqld

添加至服务列表:

chkconfig –add mysqld

vi /etc/profile   #mysql服务加入系统环境变量:在最后添加下面这一行

export PATH=$PATH:/usr/local/mysql/bin

source  /etc/profile #使配置立即生效

service mysqld start

blob.png

5.       数据库安全初始化

mysql_secure_installation

blob.png

 

 

编译安装php-5.6.8

 1. 解决依赖关系:

yum -y install bzip2-devel libmcrypt-devel libxml2-devel          #注意有些包用epel源才有

 2. 编译安装php-5.6.8

tar xf php-5.6.8.tar.bz2

cd php-5.6.8

./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-mbstring –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml  –enable-sockets –with-apxs2=/usr/local/apache/bin/apxs –with-mcrypt  –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-bz2  –enable-maintainer-zts

make && make install      #编译安装

php提供配置文件:

cp php.ini-production /etc/php.ini

 3. 编辑apache配置文件httpd.conf,以apache支持php

cd /etc/httpd24

cp httpd.conf{,.bak}     #配置文件做个备份

vi /etc/httpd24/httpd.conf

添加如下二行

  AddType application/x-httpd-php  .php

  AddType application/x-httpd-php-source  .phps

定位至DirectoryIndex index.html

修改为:

  DirectoryIndex  index.php  index.html

blob.png

blob.png

 

而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。

 

 4. 创建一个测试页面,访问测试是否成功

cd /usr/loaca/apache/htdocs

mv index.html index.php

vi index.php
<?php
        $link = mysql_connect('127.0.0.1','root','liangkai');
        if ($link)
            echo  "Success...";
        else
            echo  "Failure...";
 
        mysql_close();
        phpinfo();
?>

blob.png

部署phpMyAdmin来做测试使用

tar xf phpMyAdmin-4.5.5.1-all-languages.tar.bz2

mv phpMyAdmin-4.5.5.1-all-languages /usr/local/apache/htdocs/pma

cd /usr/local/apache/htdocs/pma

cp config.sample.inc.php config.inc.php

tr -d 'a-zA-Z0-9' < /dev/urandom | head -20 | md5sum           #生成一段随机数

vi config.inc.php

blob.png

blob.png

ab 做下压力测试

ab -c 20 -n 100 http://192.168.1.5/pma/index.php

blob.png

 

安装xcache,为php加速:

 1. 安装

tar xf xcache-3.2.0.tar.gz

cd xcache-3.2.0

/usr/local/php/bin/phpize

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

make && make install

 

安装结束时,会出现类似如下行:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

 2. 编辑php.ini,整合php和xcache:

 

首先将xcache提供的样例配置导入php.ini

 mkdir /etc/php.d

cp xcache.ini /etc/php.d

 

说明:xcache.ini文件在xcache的源码目录中。

 

接下来编辑/etc/php.d/xcache.ini,找extension开头的行,修改为如下行:

extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so

 

service httpd24 restart

 

ab 做下压力测试,看看效果如何

blob.png

原创文章,作者:liangkai,如若转载,请注明出处:http://www.178linux.com/13855

(0)
liangkailiangkai
上一篇 2016-11-21
下一篇 2016-11-21

相关推荐

  • linux安装

    点击开始运行\\172.16.0.1\python10 用户名:python10 密码:python10magedu 运行 ftp://172.16.0.1                                                                                                      …

    Linux干货 2018-03-17
  • Linux用户及权限管理

    Linux用户及权限管理 当我们用ls -al查看一个文件的详细信息的时候会显示出一个有七个字段的文件详细信息,现在我们来了解下这七个字段各自代表的意义 drwxr-xr-x 18 root root 4096 12月 16 15:25 .config 我们先来说明这七段分别表示什么每个字段我们用 | 隔开 drwxr-xr-x | 18 | root | …

    Linux干货 2016-12-19
  • ​第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep  -E "^[[:space:]]+" /boot/grub/grub.conf  root (hd0,0) kernel&nbs…

    Linux干货 2017-02-05
  • inode 与 block

    iNode:索引节点(index node) iNode是用来存储数据属性信息的,iNode包含的属性包括:文件大小属组归属的用户组读写权限文件类型修改时间指向文件实体的指针功能(iNode节点和block的对应关系)但是,iNode不包括文件名 iNode小结: 磁盘分区格式化为ext4文件系统后会生成一定数量的iNode和block iNode是索引节点…

    Linux干货 2017-07-18
  • shell脚本中变量与运算及简单编程示例

    一、变量         在Linux shell脚本的变量中,分为系统定义的变量和用户定义的变量。这些变量是用来调用一个数值或字符值。定义变量时,不需要声明变量类型。 1、系统变量         …

    Linux干货 2016-08-15
  • openssl关于CA证书的创建

    1、用openssl实现证书申请 先在/etc/pki/CA/目录下创建一个index.txt的文件,作为ca证书的数据库 在相同目录下创建一个serial的序列号文件,并写入01 生成ca的签名证书用到的私钥文件 注意:私钥的权限时600,文件名必须是cakey.pem 生成自签证书 这样私有CA建立完成 申请认证: 在申请的机器上生成私钥 生成申请文件 …

    Linux干货 2016-09-23