> CentOS > CentOS服务器 > 环境配置 >

CentOS7安装Apache2.4+PHP5.6

linux系统CentOS7
先下载Apache需要依赖的软件
1、APR
下载地址http://apr.apache.org/download.cgi
wget下载路径http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz
这里用到的是
apr-1.5.2.tar.gz

2、APR-util
下载地址同APR一样http://apr.apache.org/download.cgi
wget下载路径http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
这里用到的是
apr-util-1.5.4.tar.gz

3、PCRE
下载地址ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
wget下载路径ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
这里用到的是
pcre-8.37.tar.gz

Apache
下载地址http://httpd.apache.org/download.cgi
wget下载路径http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.17.tar.gz
这里用到的是
httpd-2.4.17.tar.gz

PHP
下载地址http://www.php.net/downloads.php
wget下载路径http://cn2.php.net/distributions/php-5.6.15.tar.gz
这里用到的是
php-5.6.15.tar.gz

用 WinSCP上传到指定的目录下,这里是
/usr/local/src


shell端
需要先安装gcc与gcc-c++
yum添加/删除/更新RPM包即软件包
install : 安装一个或多个软件包在系统上
-y      : 回答所有的问题为是
这里安装两个软件包gcc和gcc-c++
yum install -y gcc gcc-c++


进入到安装包目录
cd /usr/local/src


解压缩APR到当前文件夹
tar -zxvf apr-1.5.2.tar.gz


进入APR的解压目录
cd apr-1.5.2


配置APR安装目录
configure这一步一般用来生成 Makefile,为下一步的编译做准备,可以通过在 configure 后加上参数来对安装进行控制
--prefix : 设置安装目录
./configure --prefix=/usr/local/apr


开始编译APR
make编译,大多数的源代码包都经过这一步进行编译(有些perl或python编写的软件需要调用perl或python来进行编译)
make


开始安装
make install这条命令来进行安装(有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要有 root 权限(因为要向系统写入文件)
make install


返回上级目录
cd ../


解压缩APR-util到当前文件夹
tar -zxvf apr-util-1.5.4.tar.gz


进到解压缩目录
cd apr-util-1.5.4


配置安装目录及关联APR
--with-apr : 指定APR的安装目录
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr


编译
make


安装
make install


返回上级目录
cd ../


解压缩PCRE到当前文件夹
tar -zxvf pcre-8.37.tar.gz


进入解压缩目录
cd pcre-8.37


配置安装目录
./configure --prefix=/usr/local/pcre


编译
make


安装
make install


返回上级目录
cd ../


解压缩Apache到当前文件夹
tar -zxvf httpd-2.4.17.tar.gz


进入解压缩目录
cd httpd-2.4.17


配置Apache安装
httpd允许配置的选项
--prefix             : 安装路径
--sysconfdir         : 指定配置文件路径
--enable-so          : DSO兼容,DSO=Dynamic Shared Object,动态共享对象,可实现模块动态生效
--enable-ssl         : 支持SSL/TLS,可以实现https访问
--enable-cgi         : 支持CGI脚本(默认对非线程的MPM模式开启)
--enable-rewrite     : 启用Rewrite功能
--enable-deflate     : 支持压缩
--with-z             : 使用指定的zlib库,不指定路径会自动寻找
--with-apr           : 指定apr安装路径
--with-apr-util      : 指定apr-util安装路径
--with-pcre          : 使用指定的PCRE库,不指定路径会自动寻找
--enable-modules     : 支持动态启用的模块,可选参数有all,most,few,reallyall
--enable-mpms-shared : 支持动态加载的MPM模块,可选all
--with-mpm           : 设置默认启用的MPM模式
./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


修改Apache配置文件
进入后按键盘i进行编辑,修改如下值
一大堆LoadModule下面
添加
#加载PHP处理模块
LoadModule php5_module modules/libphp5.so
#添加PHP等后缀的处理
AddType application/x-httpd-php .php
如果服务器有任何问题将通知的邮箱地址
修改
ServerAdmin you@example.com
改成
ServerAdmin zdy_521@126.com
配置服务器名称,本机ip为192.168.155.128,如果DNS未配置,此段语句要放在配置文件开头处
修改
ServerName www.example.com:80
改成
ServerName 192.168.155.128:80
修改
DirectoryIndex index.html
改成
DirectoryIndex index.php index.html
编辑后按esc键输入:wq按回车保存。
vim /usr/local/apache/conf/httpd.conf


将Apache加入到可控制启动的服务的文件夹内,并命名httpd,即service可控制的服务名,这样就可以使用service httpd start来启动Apache了
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd


修改/etc/init.d/httpd使Apache可以设置成开机启动
在第一行#!/bin/sh下一行添加如下两行
#chkconfig: 2345 10 90
#description: Activates/Deactivates Apache Web Server
#必须有,其中:2345是设为要启动的运行级别,10是启动优先级,90是杀死进程的优先级,谁优先谁先挂的意思。
编辑后按esc键输入:wq按回车保存。
vim /etc/init.d/httpd


让Apache服务加入到开机启动指令管理的服务列表中
chkconfig --add httpd


设置成开机启动
chkconfig httpd on


返回上级目录
cd ../


安装php前需要安装libxml2和libxml2-devel
yum install -y libxml2 libxml2-devel


解压缩PHP到当前文件夹
tar -zxvf php-5.6.15.tar.gz


进入解压缩目录
cd php-5.6.15


配置PHP安装
./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


将安装包里的开发版php.ini复制到配置php安装时指定存放php.ini的位置即--with-config-file-path指向的位置
cp php.ini-development /usr/local/php/php.ini


编辑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.dll
php5默认<?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 = On
vim /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



附一:
PHP ./configure允许配置的选项,列表如下(部分参数未得到解释)
--prefix                     : 指定 php 安装目录
--with-apxs2                 : 整合 Apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 Apache,要求 Apache 要打开SO模块
--with-config-file-path      : 指定php.ini位置
--with-mysql                 : mysql安装目录,对mysql的支持。例--with-mysql=/usr/local/mysql
--with-mysqli                : mysqli扩展技术支持不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。例--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-iconv-dir             : 选项指令,用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。例--with-iconv-dir=/usr/local
--with-freetype-dir          : 打开对freetype字体库的支持
--with-jpeg-dir              : 打开对jpeg图片的支持
--with-png-dir               : 打开对png图片的支持
--with-zlib-dir              : 打开zlib库的支持,用于http压缩传输
--with-libxml-dir            : 打开libxml2库的支持
--disable-rpath              : 关闭额外的运行库文件
--enable-bcmath              : 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-shmop               : 这样就使得你的PHP系统可以处理相关的IPC函数了。和--enable-sysvsem一起使用
--enable-sysvsem             : 这样就使得你的PHP系统可以处理相关的IPC函数了。和--enable-shmop一起使用
--enable-inline-optimization : 优化线程
--with-curl                  : 打开curl浏览工具的支持
--with-curlwrappers          : 运用curl工具打开url流
--enable-mbregex             :
--enable-fpm                 : 打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-mbstring            : 多字节,字符串的支持
--with-mcrypt                : mcrypt算法扩展
--with-mhash                 : mhash算法扩展
--with-gd                    : 打开gd库的支持
--enable-gd-native-ttf       : 支持TrueType字符串函数库
--with-openssl               : openssl的支持,加密传输https时用到的
--enable-pcntl               : freeTDS需要用到的,可能是链接mssql 才用到
--enable-sockets             : 打开 sockets 支持
--with-xmlrpc                : 打开xml-rpc的c语言
--enable-zip                 : 打开对zip的支持
--enable-ftp                 : 打开ftp的支持
--with-bz2                   : 打开对bz2文件的支持
--without-iconv              : 关闭iconv函数,字符集间的转换
--with-ttf                   : 打开freetype1.*的支持,可以不加了
--with-xsl                   : 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext               : 打开gnu 的gettext 支持,编码库用到
--with-pear                  : 打开pear命令的支持,PHP扩展用的
--enable-calendar            : 打开日历扩展功能
--enable-exif                : 图片的元数据支持
--enable-magic-quotes        : 魔术引用的支持
--disable-debug              : 关闭调试模式
--with-mime-magic            : 魔术头文件位置。例--with-mime-magic=/usr/share/file/magic.mime

CGI方式安装才用的参数
--enable-fastCGI             : 支持fastcgi方式启动PHP
--enable-force-CGI-redirect  : 重定向方式启动PHP
--with-ncurses               : 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--with-gmp                   : 应该是支持一种规范
--enable-dbase               : 建立DBA 作为共享模块
--with-pcre-dir              : perl的正则库案安装位置。例--with-pcre-dir=/usr/local/bin/pcre-config
--disable-dmalloc            :
--with-gdbm                  : dba的gdbm支持
--enable-sigchild            :
--enable-sysvshm             :
--enable-zend-multibyte      : 支持zend的多字节
--enable-wddx                :
--enable-soap                :./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php --with-jpeg-dir --with-curl --with-gd














(责任编辑:IT)