CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27

 

说明:
   操作系统:CentOS 6.8 32位

准备篇:

、系统约定
    软件源代码包存放位置:/usr/local/src
    源码包编译安装位置:/usr/local/软件名字

二、下载软件包
httpd2.2.31.tar.gz

MySQL5.6.31.tar.gz

PHP5.3.27.tar.gz

三、安装编译工具及库文件(使用CentOS yum命令安装)
yum –y install gcc make gcc-c++ cmake perl-devel zlib-devel pcre pcre-devel curl libcurl libcurl-devel apr apr-devel libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel ncurses-devel epel-release

yum –y install libmcrypt-devel

注:需先安装epel-release之后才能安装 libmcrypt-devel

安装篇

安装mysql
useradd -r mysql -s /bin/nologin  #创建系统用户mysql及用户组mysql
mkdir -p /data/mysql  #创建MySQL数据库存放目录

mkdir -p /usr/local/mysql #创建MySQL安装目录
chown -R mysql:mysql /data/mysql /usr/local/mysql  #设置MySQL数据及安装目录权限

cd /usr/local/src
tar zxvf mysql-5.6.31.tar.gz  #解压
cd mysql-5.6.31
#配置编译参数

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/data/mysql  -DSYSCONFDIR=/etc
make && make install  #编译+安装
cd /usr/local/mysql
cp ./support-files/my-default.cnf  /etc/my.cnf   #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

vi /etc/my.cnf   #编辑配置文件,在 [mysqld] 部分增加
  datadir = /data/mysql  #添加MySQL数据库路径

./scripts/mysql_install_db --user=mysql  #生成mysql系统数据库
  cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld  #把Mysql加入系统启动
  chmod 755 /etc/init.d/mysqld   #增加执行权限
  chkconfig mysqld on  #加入开机启动

vi /etc/rc.d/init.d/mysqld  #编辑
  basedir = /usr/local/mysql   #MySQL程序安装路径
  datadir = /data/mysql  #MySQl数据库存放目录

service mysqld start  #启动
  vi /etc/profile   #把mysql服务加入系统环境变量:在最后添加下面这一行
  export PATH=$PATH:/usr/local/mysql/bin

下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
 ln -s /usr/local/mysql/include/mysql /usr/include/mysql

shutdown -r now     #重启系统,等待系统重新启动之后继续在终端命令行下面操作
 mysql_secure_installation    #设置Mysql密码
 根据提示按Y 回车输入2次密码
 或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password"123456"

service mysqld restart  #重启

到此,mysql安装完成!

安装 apache

cd /usr/local/src
 tar zxvf httpd2.2.31.tar.gz  #解压
 cd httpd2.2.31

#配置编译参数

./configure \

--prefix=/usr/local/apache2 \

--with-included-apr \

--enable-so \

--enable-deflate=shared \

--enable-expires=shared \

--enable-rewrite=shared \

--with-pcre

 

--prefix 指定安装到哪里, --enable-so 表示启用DSO  --enable-deflate=shared 表示共享的方式编译deflate

出现了这样的错误:

error: mod_deflate has been requested but can not be built due to prerequisite failures

解决办法是:

yum install -y zlib-devel

为了避免在make的时候出现错误,所以最好是提前先安装好一些库文件:

yum install -y pcre pcre-devel apr apr-devel

make && make install  #编译+安装

apache安装完成!

安装 php

cd /usr/local/src
 tar zxvf php5.3.27.tar.gz   #解压
 cd php5.3.27.tar.gz

#配置编译参数

./configure \

--prefix=/usr/local/php \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-config-file-path=/usr/local/php/etc  \

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

--with-libxml-dir \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-iconv-dir \

--with-zlib-dir \

--with-bz2 \

--with-openssl \

--with-mcrypt \

--enable-soap \

--enable-gd-native-ttf \

--enable-mbstring \

--enable-sockets \

--enable-exif \

--disable-ipv6

遇到如下错误:

configure: error: xml2-config not found. Please check your libxml2 installation.

解决办法是:

yum install -y libxml2-devel

还有错误:

configure: error: Cannot find OpenSSL's <evp.h>

解决办法是:

yum install -y openssl openssl-devel

错误:

checking for BZip2 in default path... not found

configure: error: Please reinstall the BZip2 distribution

解决办法:

yum install -y bzip2 bzip2-devel

错误:

configure: error: png.h not found.

解决办法:

yum install -y libpng libpng-devel

错误:

configure: error: freetype.h not found.

解决办法:

yum install -y freetype freetype-devel

错误:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决办法:

yum install –y epel-release

yum install -y  libmcrypt-devel

make && make install  #编译+安装

拷贝配置文件:

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

 

apache结合php

Apache主配置文件为:/usr/local/apache2/conf/httpd.conf

vim /usr/local/apache2/conf/httpd.conf

找到:

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

将该行改为:

<IfModule dir_module>

DirectoryIndex index.html index.htm index.php

</IfModule>

找到:

#ServerName www.example.com:80

修改为:

ServerName localhost:80

找到:

AddType application/x-gzip .gz .tgz

在该行下面添加:

AddType application/x-httpd-php .php

测试LAMP是否成功:

启动apache之前先检验配置文件是否正确:

/usr/local/apache2/bin/apachectl -t

如果有错误,请继续修改httpd.conf, 如果是正确的则显示为 “Syntax OK”,

启动apache的命令为:

/usr/local/apache2/bin/apachectl start

查看是否启动:

[root@localhost ~]# netstat -lnp |grep httpd

tcp        0      0 :::80                       :::*   LISTEN      7667/httpd

如果有显示这行,则启动了。 也可以使用curl命令简单测试:

[root@localhost ~]# curl localhost

<html><body><h1>It works!</h1></body></html>

只有显示这样才正确。

测试是否正确解析php:

vim /usr/local/apache2/htdocs/1.php

写入:

<?php

echo "php解析正常";

?>

保存后,继续测试:

curl localhost/1.php

看是否能看到如下信息:

[root@localhost ~]# curl localhost/1.php

php解析正常

只有显示这样才正确

 

到此,LAMP基本运行环境搭建完成!

CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27的更多相关文章

  1. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...

  2. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

  3. CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3

    http://www.osyunwei.com/archives/8867.html 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置 ...

  4. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2

    说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...

  5. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  6. CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

  7. CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3(转)

    vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # M ...

  8. CentOS 7.2编译安装nginx1.10.3+MySQL5.5.38+PHP5.5.38

    1.关闭firewallad 关闭防火墙 systemctl stop firewalld.service 禁止firewall开机启动 systemctl disable firewalld.ser ...

  9. CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

随机推荐

  1. Messager( 消息窗口) 组件

    一. 加载方式消息窗口提供了不同的消息框风格,包含 alert(警告框).confirm(确认框).prompt(提示框).progress(进度框)等.所有消息框都是异步的,用户可以在交互消息之后使 ...

  2. vb的LINQ实现

    vb实现LINQ非常简单的例子: Dim numbers() As Integer = {1, 2, 3, 4, 5, 6, 7} Dim allNumbers = From number In nu ...

  3. web前端技术

    在网上找了点前端资料,记录下来,以便后面工作可能用到. Flat UI:一个WEB界面工具组件库.很多漂亮的菜单.按钮等. stickUp:一个jquery插件,可以将页面中的元素固定.经常用在把菜单 ...

  4. servlet的含义和作用

    servle(Server Applet):全称Java Servlet,未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是 ...

  5. 递归生成树对象,应用于Easyui,Tree控件

    1.生成树节点对象 /// <summary> /// 生成树的节点 /// </summary> public class TreeNode { public TreeNod ...

  6. Error:Could not determine Java version-- 关于Android Studio JDK设置和JVM version设置

    最近在装AS的时候遇到一个问题,新建工程后,编译报错,Error:Could not determine Java version 不言而喻:可定是JDK的问题,网上查到2中可能性 第一:就是JDK路 ...

  7. DateTime对象反序列化的那些事

    今天在Android的Json反序列化过程中,Date类型无法转化成自己想要的格式,鉴于之前在C#的反序列话中也遇到过这个问题,解决的同时,顺手做个总结,供自己及需要的人日后查阅.       将Da ...

  8. java下io文件切割合并功能

    package cn.stat.p1.file; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  9. ISO3834认证所需的部分标准

    SO9606-1 焊工考试——熔化焊——第一部分:钢 ISO9606-2 焊工考试——熔化焊——第二部分:铝及铝合金 ISO14732 焊接人员——金属材料全机械化及自动化焊接的熔化焊操作攻击电阻焊安 ...

  10. C# 解析json Newtonsoft.Json

    Newtonsoft.Json.dll public class ErrorInfo { public error_response error_response { get; set; } } pu ...