网站运营
位置:首页>> 网站运营>> Windows下的Apache+PHP+MySql+虚拟主机设置全功略

Windows下的Apache+PHP+MySql+虚拟主机设置全功略

 来源:CSDN 发布时间:2007-08-13 14:48:00 

标签:

一、安装PHP4

我们需要安装的是win32版本,下载当然也是win32版本 php4.3.0-win32.zip

1、下载后,解压到c:\php目录下。

2、把c:\php目录下的php4ts.dll php4ts.lib文件都拷贝到c:\winnt\system32目录下(即window 2000系统目录下的system32目录)。

3、修改php.ini文件 重启完后,把c:\php目录下的php.ini-dist文件改名为php.ini 用记事本或其它可编辑文本的软件把它打开。

3.1找到register_globals = Off 改为register_globals = On

这一步是为了使部分旧的PHP程序能正常运行;

3.2找到 extension_dir = ./ 把它改为extension_dir = c:\php\extensions

刚刚的修改是指定php4扩展dll文件存放的路径 由于php4默认所带的php.ini-dist中,是关掉了所以的扩展dll的功能( Windows Extensions)


           

;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
.....

要做的就是把extension前面的分号去掉就行了,当然这样是不够的。因为有些extension在我们的系统是不能使用的,比如系统中没有安装sql server的话,那么extension=php_mssql.dll就要用;(分号)把它注释掉;

其中,PHP4带了两个GD扩展,请选用一个,另一个先用分号注释掉,以免出现函数无法注册的错误;

如下面


           

extension=php_gd.dll
;extension=php_gd2.dll

3.3 找到session.save_path,把这一项改为 session.save_path = c:\tmp

并在C盘建立一个TMP目录

3.4把所有的extension=php_xxxx.dll前面的分号都去掉后。记得要保存刚刚的修改 并把php.ini文件放置在c:\winnt目录下。

二、安装MySql

安装MySql 当然,我在MySql.com 下载的MySql是一个压缩包,要先解压出来;再点setup.exe安装;

按默认安装,即安装在c:\MySql下,安装完后,按“开始”菜单中的“运行”打进cmd进入dos窗口,进到c:\MySql\bin 目录;

运行mysqld-nt --install (将会出现一个Dos窗口,随即自动关闭!如果没有出任何信息,即安装到service成功!)

从“开始”菜单“程序”=》“管理工具”=》“服务”,打开后,将会找到MySql,点击mouse右键 选择启动 回到刚刚的Dos窗口

即c:\MySql\bin目录下 运行mysqladmin -u root password 123 即把root用户的密码设置为123 这一步,如果没有出错,说明初始化root密码成功;

当然从本机进入MySql是不需要用户名和密码,但用php 程序或是其它程序连接MySql时就要用到;

测试进入 第一种方法:直接动行MySql进入MySql 的dos管理状态;

第二种方法:运行MySql -uroot -p MySql将会提示让您输入密码,密码当然就是刚刚设置的123(当然,得按设置的密码喽,不一定得设置是123)

出现: C:\MySql\bin>MySql -uroot -p Enter password: ********** Welcome to the MySql monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 3.27.44-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

即安装MySql成功。

三、安装Apache 1.3.x 及 PHP运行设置

1、首先下载Apache,Apache软件一般叫作apache_1_3_x.win32.exe。运行它。它会问你将Apache安装到什么地方,为他系统安全及操作容易,我们不要使用默认路径,你可以设为c:\Apache或C:\,因为马上你就要修改它的配置文件。

如果安装没出什么错的话,Apache就可以用了。有很多readme文件可供参考,但仅有一个文件是讲Win32平台的,包括Window 9x和Windows NT。

有两种方式使 PHP 工作于 Windows 下的 Apache 1.3.x。一种是 CGI 方式(php.exe),另一种是使用 Apache 模块 DLL。不管哪种方式都需要停止 Apache,编辑 httpd.conf 来配置 Apache 以加入PHP支持。

值得在这里指出现在 Windows 下的 SAPI 模块更加稳定了,我们推荐使用模块方式,因为更加透明和安全。

尽管有几种不同方法在 Apache 下配置 PHP,但是对新手来说还是非常简单易用的。有关更多的 httpd.conf 配置指令请参考 Apache 文档。

如果你按照手工安装步骤一节中的说明把 PHP 解压缩到了 c:\php\ 目录下,那么需要加入以下三行到 Apache 配置文件中以 CGI 方式安装:


           

ScriptAlias /php/ "c:/php/"

AddType application/x-httpd-php .php .phtml

Action application/x-httpd-php "/php/php.exe"

注意上面的第二行在原来的 httpd.conf 中就有的,不过被注释了。还有记住用你自己放置 PHP 的路径替换 c:/php/。

警告

在 CGI 方式下,你的服务器可能会受到几种攻击的影响。请学习如何防止攻击。

如果你想在 Apache 中用模块方式使用 PHP,确认把 php4ts.dll 拷贝到 windows/system(Windows 9x/Me)或者 winnt/system32(Windows NT/2000)或者 windows/system32(Windows XP)目录下,覆盖原来的文件。然后在 Apache 配置文件 httpd.conf 中加入以下两行:

用自己喜爱的编辑器打开 httpd.conf,找到 LoadModule 指令的部分,在其列表的最后部分加上如下一行,对 PHP 4:

LoadModule php4_module c:/php/sapi/php4apache.dll

对 PHP 5:

LoadModule php5_module "c:/php/sapi/php5apache.dll"

你可能发现在用 Windows Installer 安装了 Apache 之后需要为用 AddModule 指令定义 mod_php4.c。尤其是在定义了 ClearModuleList 指令时格外重要,向下滚动几行可以找到该指令。你将会看到 AddModule 项目的列表,在列表的最后加上这一行:

AddModule mod_php4.c

对于 PHP 5 则为:

AddModule mod_php5.c

搜索类似 # AddType allows you to tweak mime.types 的短语,你会找到一些 AddType 的项目,并且在列表的最后有这一行: AddType application/x-httpd-php .php。你可以在这里选择任何想用 PHP 解析的后缀。.php 只是所建议的一个。甚至可以包括 .html,也可以加上 .php3 来向下兼容。

修改了配置文件之后记住重新启动 Apache,例如如果你的 Apache 是作为 Windows 的服务安装的,NET STOP APACHE 后面接上 NET START APACHE。或者用你通常使用的快捷方式。

有两种方式使用源程序语法彩色显示特色,但是取决于你的安装方法。如果你配置了 Apache 的 SAPI 模块方式使用 PHP,那么在 httpd.conf 中(和插入 AddType application/x-httpd-php .php 是同一个位置)加入下面一行就可以使用本特色:AddType application/x-httpd-php-source .phps。

如果你用 CGI 方式使用 PHP,那你需要用 show_source() 函数。建立一个 PHP 文件,加入以下代码:。用你想要显示源代码的文件名替换掉 original_php_script.php。

注: 在 Windows-Apache 组合中,所有路径中的反斜线例如 "c:\directory\file.ext" 都必须转换成斜线,如 "c:/directory/file.ext"。

四、实现Apache虚拟主机的两种方案

简介:这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序支持多个Apache服务器,如在公司财务部门有一台Web服务器,名为account.yourdomain.com,同时又想为sales部门建立网站,网站内容也放在该机器上,通过sales.yourdomain.com访问,这就要用到虚拟主机设置。

设置Apache虚拟主机通常有两种方案

1、基于IP的虚拟主机

这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的网卡上绑定多个IP地址去服务多个虚拟主机。若该机器的IP地址为192.168.0.1(account.yourdomain.com),首先你要设置IP别名(假设用192.168.0.2作为其别名IP)。加下面的行到/etc/rc.d/rc.local,确保每次启动后自动运行。


           

#/sbin/ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 broadcast \
192.168.0.255 up
#/sbin/route add -host 192.168.0.2 eth0:0

然后你需要设置/etd/httpd/conf/httpd.conf文件:

ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log

然后分别创建目录

/home/httpd/sales.yourdomain.com,
/var/log/httpd/sales.yourdomain.com

放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.0.2。

注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机方案。

2、基于名字的虚拟主机:

它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件


           

/etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.0.1

ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log

ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/hr.yourdomain.com
ServerName hr.yourdomain.com
ErrorLog /var/log/httpd/hr.yourdomain.com/error_log
TransferLog /var/log/hr.yourdomain.com/access_log

注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,为了让它工作,你需要把sales.yourdomain.com,hr.yourdomain.com的DNS都指向IP地址192.168.0.1

上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。

0
投稿

猜你喜欢

  • 每当谈起SEO这个词,很多身边做技术的朋友就会用疑惑的眼光去看。总是把它当成是一个高端的技术,搜索引擎优化其实也只是伴随搜索引擎高速发展而萌
  • named查询使用的是UDP协议和端口53。响应通过UDP返回,除非他们大于512K,这种情况使用TCP。服务器之间的“区传送”则都使用TC
  • 前日,山东冠县政府称关闭网吧系安民心举措,被质疑为公权滥用。昨日冠县有关部门表示,网吧被整顿有法可依。目前网吧恢复营业尚无时间表。冠县网吧被
  • 【搜狐IT消息】(文/雷风)6月25日,原微软中国总裁、盛大网络总裁唐骏在接受搜狐IT采访时对比尔·盖茨进行了评价,并回顾了与盖茨交往中难忘
  • 本报讯(记者 敖祥菲) 昨日,在2008百度世界大会的开场发言中,百度公司总裁兼CEO李彦宏用将近一半的演讲篇幅来讲述大洋彼岸充满火药味的总
  • 不要让读者找不着北:关于网站导航问题,越简单越好。虽然google鼓励你创建目录结构,但你不能让它太过复杂,比如需要15次点击才能到达目标内
  • 核心提示:网站的存在就已经不是一个个人行为了,因为你面向的是一个广泛的群体,而非只是针对性的自己一个人,因此,网站的运营过程中,就必经有人加
  • 今天比较忙,自己的博客关了一天,下班后落水鱼赶紧的处理了一下博客,到目前为止,落水鱼博客成功更换域名了,现在更换为 www.seobye.c
  • 据GOS报道,Google在AdSense账户中提供了一种新的广告形式:AdSense for Feeds。早在今年5月份的时候Google
  • 前几天发现顶峰网的百度快照突然后退,这种不正常的现象立即引起了笔者的注意,因为百度快照后退预示着网站出现了一定的问题。曾经听万能导航网的站长
  • 继阿里巴巴集团与深圳签署协议、在深圳建国际总部和南方总部后,互联网最大的中文搜索引擎——百度也有意在
  • 康盛创想的UCHOME一经发布就让整个站长界着迷,SNS的站点如雨后春笋般大量涌现,可以说造就了真正的社区革命几乎所有的社区都装上了UCHO
  • 1:“曾经有一个很好的网站摆在我的面前,可是我没有好好维护,等到失去的时候才追悔莫及,人世间最痛苦的事情莫过于此。如果上天能够给我一个好站,
  • WEB3.0时代已悄然降临在我们站长的身边,而这个时代我们靠什么赚钱呢?这是一个新的研究课题.可是在WEB2.0普遍流行的当今互联网江湖,可
  • DHCP概述1 采用DHCP的必要性在TCP/IP网络上,每台工作站要能存取网络上的资源之前,都必须进行基本的网络配置,一些主要参数诸如IP
  • 自从我们发布了服务器端广告设置这个功能以后,大家修改代码就更加方便了。Google AdSense代码投放的最好办法是直接通过帐户获取代码并
  • 万千游戏玩家瞩目的“金翎奖”已经落下了帷幕,多项大奖花落各家,几家欢喜几家愁。金山软件一如既往的为玩
  • 每个网民每天都会浏览许多网页,每个网页上都会有许多按钮。估计很多对这些小小的按钮从来没有特别注意过。当然,我也是这样。当然,很多专业对于这些
  • 众所周知,服务器是计算机网络中最重要的资源,对其安全要求很高。如果我们正在运行的服务器没有进行正确的谨慎配置,就可能将大量的有用信息泄漏出去
  • 一个草根的痛苦,莫过于流量的裹足不前。更大的痛苦来自于流量在增加的同时,网站受到无情的攻击!每天早上5点多爬起,晚上深夜灯光依然照亮,布满血
手机版 网站运营 asp之家 www.aspxhome.com