在CentOS6.8上编译安装apache+PHP+mariadb
参考文档:http://www.cnblogs.com/dreamhome/p/4967903.html
使用wget或git下载源码速度很慢,使用迅雷下载会比快很多
bison和cmake安装顺序
网上的参考教程列出的下载地址部分失效,需要到官方网站重新找到下载地址
本文根据参考文档重新将各条命令合并在一起,基本上可以做到一键安装完成。
已经将文中需要的文件打包共享,欢迎前往下载。
验证环境:VirtualBox+CentOS6.8,安装过程中可能还需要额外安装或升级一些程序,如果网速较慢,那么需要挂载CentOS安装光盘到/media/CentOS。
全部编译安装完毕大约需要2个小时
如果直接在网页复制执行,可能会有隐藏字符导致命令执行失败
仅供研究交流使用,切勿用于工作环境。
===============================================
原文 http://www.cnblogs.com/dreamhome/p/4967903.html
#使用迅雷批量下载
https://github.com/MariaDB/server/archive/10.2.zip
http://www.apache.org/dist/apr/apr-1.5.2.tar.bz2
http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
http://exim.mirror.fr/pcre/pcre-8.38.tar.gz
http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.23.tar.gz
http://cn2.PHP.net/distributions/PHP-5.6.25.tar.gz
#上传到/temp,解压
#也可以在centos下wget下载,简单但是较慢
##################################################################################
#安装编译工具和依赖文件,先将所需要的文件下载到/temp
mkdir /temp
cd /temp
yum -y install gcc gcc-c++ wget git
yum -y install bison
yum -y install cmake bison
yum -y install readline-devel zlib-devel openssl-devel
yum -y install libxml2 libxml2-devel
unzip server-10.2.zip
tar -jxvf apr-1.5.2.tar.bz2
tar -zxvf apr-util-1.5.4.tar.gz
tar -zxvf pcre-8.38.tar.gz
tar -zxvf httpd-2.4.23.tar.gz
tar -zxvf PHP-5.6.25.tar.gz
#APR安装
cd /temp/apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
cd /temp
#APR-util
cd /temp/apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd /temp
#PCRE
cd /temp/pcre-8.38
./configure --prefix=/usr/local/pcre
make && make install
cd /temp
#apache
cd /temp/httpd-2.4.23
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make && make install
cd /temp
#修改Apache配置文件
\cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak2016 -rf
\cp /usr/local/apache/bin/apachectl /etc/init.d/httpd -rf
echo "LoadModule PHP5_module modules/libPHP5.so" >> /usr/local/apache/conf/httpd.conf
echo "AddType application/x-httpd-PHP .PHP" >> /usr/local/apache/conf/httpd.conf
echo "ServerName mocc.lmu:8080" >> /usr/local/apache/conf/httpd.conf
#设置成开机启动
chkconfig --add httpd
chkconfig httpd on
#编译mariadb
yum erase -y MariaDB-server MariaDB-client
cd /temp/server-10.2
mkdir /home/www/mariadbdata/ -p
chmod 0770 /home/www/mariadbdata/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL \
-DMysqL_DATADIR=/home/www/mariadbdata/ \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STPRAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWIYH_READLINE=1 \
-DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 \
-DMysqL_UNIX_ADDR=/tmp/MysqL.sock \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
#PHP
cd /temp/PHP-5.6.25
./configure --prefix=/usr/local/PHP \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/PHP \
--with-MysqL=/usr/local/MysqL \
--with-MysqLi=/usr/local/MysqL/bin/MysqL_config
make && make install
cd /temp
\cp /temp/PHP-5.6.25/PHP.ini-development /usr/local/PHP/PHP.ini -rf
#####################################################
以下部分需要手工完成
#修改配置文件#####################################################vi /usr/local/apache/conf/httpd.conf#DirectoryIndex index.html 改成 DirectoryIndex index.PHP index.html#修改/etc/init.d/httpd使Apache可以设置成开机启动vi /etc/init.d/httpd#在第一行#!/bin/sh下一行添加如下两行#chkconfig: 2345 10 90#description: Activates/Deactivates Apache Web Server#编辑PHP.ini将前面的;去掉使PHP支持MysqL,并且配置时要指定--with-MysqL的值,如果之前安装时未配置,需要重新配置,编译,安装;extension=PHP_MysqL.dll要使用PHPmyadmin或MysqLi函数打开,并且配置时要指定--with-MysqLi的值,如果之前安装时未配置,需要重新配置,编译,安装;extension=PHP_MysqLi.dll要PHP支持png,jpg,gif等(PHPcmsV9必须)打开;extension=PHP_gd2.dll大字符集,支持多字符集之间的转换打开;extension=PHP_mbstring.dllPHP5默认<?PHP echo date("Y-m-d H:i:s");?>时间与北京时间相差八小时(少八小时)为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时查找;date.timezone =将;去掉,并修改成date.timezone = PRC除了E_NOTICE类型的错误(Notice)不报告,其他的都报告,查找error_reporting = E_ALL改成error_reporting = E_ALL & ~E_NOTICE使 include 等可以包含域外网页如 include_once "http://www.126.com";找到allow_url_include = Off改成allow_url_include = Onvi /usr/local/PHP/PHP.ini启动Apache,之前未启动是因为未安装PHP关联前Apache配置文件中LoadModule PHP5_module modules/libPHP5.so找不到加载模块报错service httpd start开放防火墙80端口访问firewall-cmd --zone=public --add-port=80/tcp --permanent重启防火墙firewall-cmd --reload