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