本文转自http://www.cnblogs.com/dreamhome/p/4967903.htmlphp
留档备查。html
linux系统CentOS7
先下载Apache须要依赖的软件
一、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.gzpython
二、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.gzmysql
三、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.gzlinux
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.gzc++
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/srcsql
shell端
须要先安装gcc与gcc-c++
yum添加/删除/更新RPM包即软件包
install : 安装一个或多个软件包在系统上
-y : 回答全部的问题为是
这里安装两个软件包gcc和gcc-c++
yum install -y gcc gcc-c++shell
进入到安装包目录
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