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

时间:2022-04-03 19:17:23

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基本运行环境搭建完成!