一、Apache下载
Apache下载是个大问题,对于一个官方控来说,需要在一堆官方文档中找到一个win下msi版本,实在是一个艰巨又仔细的工程。而最新版基本都是编译安装版的。
这里推荐一个网站,虽然msi不是最新的版本,但是胜在简单:
archive.apache.org
或者去其他软件站下载也可以
如果没有找到msi版本的也没有关系,稍后会介绍编译安装
二、Apache安装版安装
如果你找到了安装版的Apache,那么恭喜你,填写对应信息,点击下一步就可以了。
三、Apache官方版安装
小伙伴们可以先看下安装版需要修改的信息,{Domain,Server Name,Email Address,Change},大致是这四项,那么在编译安装的时候,就需要提前修改配置文件,也就是把这四项先修改完毕,再通过命令行安装
首先,我们解压缩zip包到需要放置的文件夹
打开conf/httpd.conf文件
修改
DefineSRVROOT "/Apache24"
ServerRoot "${SRVROOT}"
为
ServerRoot “D:/winrar/Apache2.4” //Apache程序的位置
修改(随意)
ServerAdmin admin@example.com
修改(随意)
ServerNamelocalhost:80
修改
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
为
DocumentRoot "D:/code";//网站的根目录
<Directory "D:/code">
修改
ScriptAlias/cgi-bin/ "${SRVROOT}/cgi-bin/"
<Directory"${SRVROOT}/cgi-bin">
为
ScriptAlias /cgi-bin/ "D:/winrar/Apache2.4/cgi-bin/" //Apache程序的位置
<Directory"D:/winrar/Apache2.4/cgi-bin">
总的原则是把${}中的变量,替换成我们需要配置的路径
下一步,启动Apache
打开cmd,输入d: 回车cd winrar/Apache2.4/bin回车httpd,如果配置正确,是没有任何显示的。
在网站根目录下建立文件,进行访问。如果正常,说明,OK。
下面把Apache加入系统服务
(1) 关闭3的那个httpd命令窗口,不然会报错的
(2) 开始 --- 运行,输入cmd,再打开一个命令提示符。输入d:回车cd Apache24\bin回车
这里加入服务的命令为:httpd.exe -k install -n "servicename"
servicename为Apache在windows的服务中的名字。
例如:httpd.exe -k install -n "Apache2.4"
(3) 顺便贴上卸载的命令:httpd.exe -k uninstall -n "Apache2.4"
四、Apache配置
这里Apache的配置和编译安装版本中的大同小异,不做单独介绍,需要注意的是,修改Apache配置文件后,需要重启Apache服务器。
五、Apache支持php
Apache支持php有2种方式:一种是php5apache2_*.dll,另一种是加载mod_fcgid方式。
这需要看php目录下是否存在php5apache2_*.dll该文件。(在这两种方式前,都需要安装VC++的支持包,这些在Apache官网有提示,这里就不多做介绍了)
php5apache2_*.dll方式:
修改httpd.conf
添加:
LoadModule php5_module "D:/winrar/php56/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "D:/winrar/php56"
重启Apache进行相应测试。
mod_fcgid方式:
首先下载mod_fcgid.so(Apache官网就可以下载)放置到Apache的modules目录下
修改httpd.conf
添加:
LoadModulefcgid_module modules/mod_fcgid.so
<IfModulemod_fcgid.c>
AddHandler fcgid-script .fcgi .php
FcgidInitialEnv PHPRC"D:/winrar/php56"
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
FcgidMaxRequestsPerProcess 1000
FcgidMaxProcesses 5
FcgidIOTimeout 120
FcgidIdleTimeout 120
FcgidWrapper "D:/winrar/php56/php-cgi.exe".php
AddType application/x-httpd-php .php
</IfModule>
在<Directory下,修改:
Options Indexes FollowSymLinks
为
Options IndexesFollowSymLinks ExecCGI
重启Apache进行相应测试。
六、测试
<?php
phpinfo();
?>