先准备好软件:
Apache官方下载地址:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi,更多版本在这里;
php官方下载地址:php-5.4.37-Win32-VC9-x86.zip,更多镜像下载地址,更多版本下载;
mysql官方下载地址:mysql-5.5.39-win32.msi,更多镜像下载地址,更多版本下载。
一、安装Apache,配置成功一个普通网站服务器
运行下载好的“httpd-2.2.25-win32-x86-openssl-0.9.8y.msi”,出现如下界面
出现Apache HTTP Server 2.2.55的安装向导界面,点“Next”继续
确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续
将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续
置系统信息,在Network Domain下填入您的域名(比如:zkm.com),在Server Name下填入您的服务器名称(比如:www.zkm.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:[email protected]),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。一般选择如图所示。按“Next”继续。
选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。按“Next”继续
出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动指定安装目录。
我这里选择安装在“D:\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。
返回刚才的界面,选“Next”继续。
确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装
正在安装界面,请耐心等待,直到出现下面的画面
安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装
我们来熟悉一下这个图标,很方便的,在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。
好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打“http://127.0.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。
页面看到 It works! 说明Apache服务已安装好。。。
现在开始配置Apache服务器,使它更好的替我们服务,事实上,如果不配置,
你的安装目录下的Apache2\htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。
这里我们还是要配置一下,有什么问题或修改,配置始终是要会的,
如图所示,“开始”、“所有程序”、“Apache HTTP Server 2.0.55”、“Configure Apache Server”、“Edit the Apache httpd conf Configuration file”,点击打开。
XP的记事本有了些小变化,很实用的一个功能就是可以看到文件内容的行、列位置,
按下图所示,点“查看”,勾选“状态栏”,界面右下角就多了个标记,
“Ln 78, Col 10”就表示“行 78,列 10”,这样可以迅速的在文件中定位,方便解说。
当然,你也可以通过“编辑”,“查找”输入关键字来快速定位。
每次配置文件的改变,保存后,必须在 Apache服务器重启动后生效,可以用前面讲的小图标方便的控制服务器随时“重启动”
XP的记事本有了些小变化,很实用的一个功能就是可以看到文件内容的行、列位置,按下图所示,点
“查看”,勾选“状态栏”,界面右下角就多了个标记,“Ln 78, Col 10”就表示“行78,列10”
,这样可以迅速的在文件中定位,方便解说。当然,你也可以通过“编辑”,“查找”输入关键字来快速定位。每次配置文件的
改变,保存后,必须在Apache服务器重启动后生效,可以用前面讲的小图标方便的控制服务器随时“重启动”。
现在正式开始配置Apache服务器,“Ln 228”,或者查找关键字“DocumentRoot”(也就是网站根目录),
找到如下图所示地方,然后将""内的地址改成你的网站根目录,地址格式请照图上的写,主要是一般文件地址的
“\”在Apache里要改成“/”。
“Ln 253”,同样,你也可以通过查找“<Directory”来定位,以后不再说明,将""内的地址改成跟DocumentRoot的一样。
Ln321”,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如有些网站的首页是index.htm,就在光标那里加上“index.htm ”文件名是任意的,不一定非得“index.html”,比如“test.php”等,都可以。
这里有一个选择配置选项,以前可能要配置,现在好像修正过来了,不用配置了,就是强制所有输出文件的语言编码,html文件里有语言标记(,这个就是设定文档语言为gb2312)的也会强制转换。如果打开的网页出现乱码,请先检查网页内有没有上述 html语言标记,如果没有,添加上去就能正常显示了。把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要强制输出的语言,中文是“zh-cn”,保存,关闭。
好了,简单的Apache配置就到此结束了,现在利用先前的小图标重启动,所有的配置就生效了,你的网站就成了一个网站服务器,如果你加载了防火墙,请打开80或8080端口,或者允许Apache程序访问网络,否则别人不能访问。如果你有公网IP(一般ADSL或电话拨号上网的都是),就可以邀请所有能上网的朋友访问使用http://你的IP地址(IP地址查询可访问http://www.zkm.com,查询内容内即是)你的网站了;如果你没有公网IP,也可以把内网IP地址告诉局域网内的其它用户,让他们通过http://你的内网IP地址,访问你的网站。
二、php的安装、以module方式,将php与apache结合使你的网站服务器支持php服务器脚本程序
php.ini-dist 适合开发程式使用
php.ini-recommended 拥有较高的安全性设定,则适合正式上线的服务器中使用。
将下载的php安装文件php-5.4.37-Win32-VC9-x86.zip右键解压缩。指定解压缩的位置,我的设定当前目录
查看解压缩后的文件夹内容,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑,找到下面图中的地方,
Ln385,有一个“register_globals = Off”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”
,就只能用“$_POST['变量名']、$_GET['变量名']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名
”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。这个值是否改成“On”
就看自己感觉了,是安全重要还是方便重要?
这里还有一个地方要编辑,功能就是使php能够直接调用其它模块,比如访问mysql,如下图所示,Ln563,选择要加载的模块,去掉前面的
“;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,不过也多不到哪去,比如我要用mysql,就要把“;extension=php_mysql.dll”前的“;”
去掉。所有的模块文件都放在php解压缩目录的“ext”之下,我这里的截图是把所有能加载的模块都加载上去了,前面的“;”没去掉的,是因为“ext”
目录下默认没有此模块,加载会提示找不到文件而出错。这里只是参考,一般不需要加载这么多,需要的加载上就可以了,编辑好后保存,关闭。
更改php.ini-production为php.ini(注:php.ini-development 适合开发程式使用);php.ini-production 拥有较高的安全性设定,则适合上线当产品使用;一般将php.ini-production修改为php.ini,确保测试环境(本地)与正式环境(线上)一致。
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D:\localhost目录上建立了phpsessiontmp目 录,在php.ini中找到session.save_path(session保存地址)更改为:
session.save_path = "D:/zhangkaimin/phpsessiontmp"
配置PHP的文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功 能,否则文件上传功能会失败,我们仍然需要在 Windows 7上建立一个可读写的目录文件夹,此处我在D:\localhost目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中 找到upload_tmp_dir(文件上传缓存目录)更改为: upload_tmp_dir = D:/zhangkaimin/phpfileuploadtmp;
在php.ini修改如下几个属性:
short_open_tag = On 注释:短标签开启
asp_tags = On 注释:asp的短标签<* *>开启
register_globals = off 注释:超级全局变量,建议关闭,打开它会造成安全上的漏洞(未找到)
post_max_size= 8M 注释:POST提交时的最大数据提交量
magic_quotes_gpc = off 注释:php自带的安全验证,建议开启(未找到)
file_uploads = On 注释:php支持文件上传
upload_max_filesize = 2M 注释:文件上传最大值 2M
max_file_uploads = 20 注释:同时并发上传的最大文件数
打开php.ini文件,找到:
extension_dir= “./”
将其改为:
extension_dir= “你的php解压目录ext”
找到:Windows Extensions
在Windows Extensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的分号即可)
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
设置中国时区
date.timezone = Asia/ShangHai
让apache支持php
打开apache安装目录,\apache2.2\conf\httpd.conf,在大约60行的位置添加如下语句:
PHPIniDir "D:/zhangkaimin/php-5.4.37-Win32-VC9-x86"
注意一定要添加在LoadModule 那一段的前面,以便提前加载,不然稍后的phpMyAdmin容易出错
在LoadModule这段后面添加如下语句:
LoadModule php5_module "D:/zhangkaimin/php-5.4.37-Win32-VC9-x86/php5apache2_2.dll"
apache的htdocs重写(即修改根目录位置)
在D盘下建立localhost文件夹,php.ini文件中找到DocumentRoot,更改为DocumentRoot "D:/zhangkaimin/www"
php.ini文件中找到DirectoryIndex,更改为DirectoryIndex index.php index.html