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