PHP本地实现多域名访问教程之Apache虚拟主机配置方法

PHP本地实现多域名访问教程之Apache虚拟主机配置方法,第1张

方法/步骤

1、首先修改C:\Windows\System32\drivers\etc目录下的

hosts

文件,用记事本打开,加入:

127.0.0.1

www.a.com127.0.0.1

www.b.com记得去掉前面的#

2、打开xampp\apache\conf\httpd.conf文件,搜索

“Include

conf/extra/httpd-vhosts.conf”,确保前面没有

#

注释符,也就是确保引入了

vhosts

虚拟主机配置文件。效果如下:

#

Virtual

hosts

Include

"conf/extra/httpd-vhosts.conf"

开启了httpd-vhosts.conf,默认a的httpd.conf默认配置失效(确保

httpd-vhosts.conf

文件里也开启了虚拟主机配置,见第3条),访问此IP的域名将全部指向

vhosts.conf

中的第一个虚拟主机。

3、在虚拟主机设置文件xampp\apache\conf\extra\httpd-vhosts.conf里设置:取消

NameVirtualHost

*:80

前面的

##,这样就启用了

vhosts.conf

,默认的httpd.conf默认配置失效。虚拟主机配置将只设置在httpd-vhosts.conf里。localhost

的目录默认配置记得也按此设置。

#

#

Use

name-based

virtual

hosting.

#

NameVirtualHost

*:80

#

#

VirtualHost

example:

#

Almost

any

Apache

directive

may

go

into

a

VirtualHost

container.

#

The

first

VirtualHost

section

is

used

for

all

requests

that

do

not

#

match

a

ServerName

or

ServerAlias

in

any

block.

#

ServerAdmin

postmaster@dummy-host.localhost

DocumentRoot

"I:/xampp/htdocs/"

ServerName

localhost

ServerAlias

localhost

ErrorLog

"logs/dummy-host.localhost-error.log"

CustomLog

"logs/dummy-host.localhost-access.log"

combined

ServerAdmin

postmaster@dummy-host1.localhost

DocumentRoot

"I:/xampp/htdocs/a"

ServerName

www.a.com

ServerAlias

www.a.com

ErrorLog

"logs/dummy-host1.localhost-error.log"

CustomLog

"logs/dummy-host1.localhost-access.log"

combined

ServerAdmin

postmaster@dummy-host2.localhost

DocumentRoot

"I:/xampp/htdocs/b/"

ServerName

www.b.com

ServerAlias

www.b.com

ErrorLog

"logs/dummy-host2.localhost-error.log"

CustomLog

"logs/dummy-host2.localhost-access.log"

combined

至此,XAMPP

的虚拟主机设置完毕,现在

访问

localhost

还是原来的

XAMPP

的帮助指南,访问

www.a.com

将指向到绑定的

a

目录,访问

www.b.com

将指向到绑定的

b

目录。

windows 2000虚拟主机基本权限的设置

在这里说一下我以为比较安全的win2000虚拟主机的权限设置方法,仅仅是说下权限设置。

一.虚拟主机需要的软件及环境

1.Serv-U5.0.11(似乎不安全,但是也未必)

2.Mysql数据库

3.Mssql数据库

4.PcAnyWhere远程控制

5.杀毒软件,我一般使用诺顿8.0

6.php5

7.ActivePerl5.8

以上各种软件,除Mssql数据库以为,其他的都应去官方网站下载推荐版本安装。下面开始就是安装设置了,从系统安装完开始。假设系统安装的windows2000高级服务器版,系统分为c盘,d盘和e盘,全部是ntfs格式。

二.系统端口设置

虚拟主机,一般同时使用PcanyWhere和终端服务进行控制,终端服务要更改端口,比如修改成8735端口。根据要开放的服务,去设置TCP/IP筛选。为什么不使用本地安全策略了?个人认为TCP/IP筛选比较严格,因为这里是除非明确允许否则拒绝,而本地安全策略是除非明确拒绝否则允许。如果我理解不当,还请指教。TCP/IP筛选设置如下:

TCP端口只允许21,80,5631,8735,10001,10002,10003,10004,10005;IP协议只允许6;UDP端口我没有做过详细测试,不敢乱说,以后测试了再补上。TCP/IP端口里面的10001-10005是设置Serv-U的PASV模式使用的端口,当然也可以使用别的。

本地连接属性里面,卸载所有的其他协议,只留下Internet协议(TCP/IP),顺便把administrator帐号改个复杂点的名字,并且在本地安全策略里面设置不显示上次登陆帐号,对帐号锁定做出合适的设置。然后重新启动计算机,这步设置已经完成。

现在开始安装软件,所有的软件都安装在d盘,e盘作数据备份使用。先安装Serv-U到d:Serv-U,并且汉化顺便破解,嘿嘿。然后依次安装到d盘。现在开始设置权限。首先二话不说,c盘,d盘和e盘的安全里面把Everyone删除,添加改名后的administrator和system,让他们完全控制。

高级里面重置所有子对象的权限并允许传播可继承权限。这样系统所有的.文件,目录全部是由改名后的administrator和system控制了,并且自动继承上级目录的权限,下面开始为每个目录设置对应的权限。

运行asp,建立数据库连接需要使用C:Program FilesCommon Files目录下面的文件。在这里,设置C:Program FilesCommon Files权限,加入everyone,权限为读取,列出文件夹目录,读取及运行。还可以使用高级标签进行更加严格的设置,但是我没有做过,不敢胡说。

运行php,需要设置c:winntphp.ini的权限,让everyone有读取权限即可。如果php的session目录设置为c:winnttemp目录,此目录应该让everyone有读取写入权限。为提高性能,php设置为使用isapi解析,d:php目录让everyone有读取,列出文件夹目录,读取及运行权限。至于php.ini的设置,这里我就不说了。第一我不很懂,第二我只讲系统权限设置。

运行cgi,设置d:perl让everyone有读取,列出文件夹目录,读取及运行权限。顺便说下,cgi设置为使用isapi方式解析有利于安全和性能。

现在说下让人头大的Serv-U的设置了。这东西功能确实强大,但是安全性不怎么好,需要我们来改造。最首先的是溢出攻击,5.0.11好象已经没有这个缺陷了。其次是修改ini配置文件,这里已经没有权限修改了,略过不提。据我所知现在唯一的办法就是使用默认的管理帐号和密码添加有写入执行权限的帐号来执行木马了。

把默认帐号密码修改掉就完了,这个东西直接使用editplus之类的编辑器打开ServUDaemon.exe和ServUAdmin.exe修改就可以了。如果懒得麻烦,随便什么语言写个程序都很容易作到。我以前写过一个这样的东西,方便自己设置。现在Serv-U基本上没有什么问题了。

至于数据库,权限已经不用设置了,直接继承d盘根目录就可以。至于里面的帐号密码该怎么设置,我也懒得说了。

现在最后一点,就是设置c:winntsystem32目录和他下面的一些东西了。很多程序运行需要这里的动态连接库,而且这里文件太多,我也没有弄明白所有的,把目录c:winntsystem32给everyone赋予读取,列出文件夹目录,读取及运行即可。

其实,这样做是不安全的,但是别慌,我们还没有完。在这个目录下面,我们还需要对几个特别程序进行单独的设置。首先就是cacls.exe,嘿嘿,先把这个设置了在说别的。这东东是设置权限用的,让它不继承父目录权限,并且让它拒绝任何人访问,因为我们一般不使用这个鸟东西。其他的要设置的程序列表如下:net.exe,cmd.exe,ftp.exe,tftp.exe,telnet.exe,这几个程序设置成只允许改名后的administrator访问。

现在就想起这么多,这是今天上班空闲时间零零碎碎写的,以后再补充吧。

补充:禁止 非管理员组访问winnt目录 再把需要调用的文件 从winnt弄出来 重新 赋予它读取路径。

安装phpStudy下载,傻瓜式安装很简单,一直点击下一步即可,中途根据个人爱好设置WebPHP目录,设置在D盘根目录里。

打开虚拟主机配置D:\phpStudy\Apache\conf下的 httpd.conf文件去掉#Include conf/extra/httpd-vhosts.conf前面的 # 保存即可。在D:\WebPHP目录下建立mooc文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7883692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存