apache_php多域名配置

新建 文本文档 (5).txtApache中通过配置http.conf绑定多个域名以及二级域名的方法Apache是最流行的HTTP服务器软件之一,其以快速、可靠(稳定)而著称,并且可通过简单的API扩

新建 文本文档 (5).txt

Apache中通过配置http.conf绑定多个域名以及二级域名的方法

Apache是最流行的HTTP服务器软件之一,其以快速、可靠(稳定)而著称,并且可通过简单的API扩展,Perl/Python解释器可被编

译到服务器中,完全免费,并且源代码全部开放。如果有自己的服务器或者VPS, 并且不想为了方便而购买昂贵的控制面板的话,

那自己动手配置Apache就成了一门必修课了。下面简单的介绍了如何通过设置Apache的 http.conf文件,进行多个域名以及其相关

的二级域名的绑定(假设我们要绑定的域名是minidx.com和ntt.cc,二级域名是 blog.minidx.com,独立IP为

72.167.11.30).

apache怎么绑定多个域名

打开http.conf

1,ServerName 127.0.0.1 修改成ServerName 72.167.11.30

2,#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"

3,在文件最后面有虚拟主机格式,

#

# ServerAdmin [email]admin@minidx.com[/email]

# DocumentRoot /www/httpd/html/minidx.com

# ServerName minidx.com

# ErrorLog logs/minidx.com-error_log

# CustomLog logs/minidx.com-access_log common

#

简单的添加:

DocumentRoot usr/local/www/

ServerName 72.167.11.30

DocumentRoot usr/local/www/minidx.com/

ServerName minidx.com

DocumentRoot usr/local/www/ntt.cc/

ServerName ntt.cc

日志文件的话也可以按照自己的路径添加。

Apache如何添加二级域名

RewriteEngine on

RewriteMap lowercase int:tolower

RewriteMap vhost txt:/usr/local/etc/apache/vhost.map

RewriteCond ${lowercase:{SERVER_NAME}} ^(. )$

RewriteCond ${vhost:1} ^(/.*)$

RewriteRule ^/(.*)$ 1/$1

其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改(例如在/etc/httpd/下面)。然后

,在这个所在路径的目录下创建一个文件: vhost.map,内容为:

www.minidx.com /usr/local/www/minidx.com

www.ntt.cc /usr/local/www/ntt.cc

blog.minidx.com /usr/local/www/minidx.com/blog

最后,在网站根目录 /usr/local/www/下,创建对应目录就可以了。如果需要增加,修改或者删除域名,子域名,仅仅需要更改

vhost.map文件,而不用重启apache进程。

来自:http://blog.minidx.com/2008/04/12/708.html

用Apache重写规则配置虚拟二级域名

第 1 页

,

新建 文本文档 (5).txt

作用:

在用户注册后提供类似于 username.yemaosheng.com 之类的二级域名服务

步骤:

首先要去你注册域名的网站的域名管理面板中配置你的域名为泛域名解析(不是每个域名服务商都提供泛域名解析。我的域名是万

网注册的,有这个服务)。

具体配置示例如下(图):

比如你有个叫yemaosheng.com的域名,则,在你的域名管理面板中添加一条A记录,记录的RR值配置为通配符(星号*),这样,完

整的记录就是 *.yemaosheng.com ,指向你的服务器所在的IP。

然后对服务器上的Apache配置如下(注:QQ空间将反斜杠显示为””)

NamevirtualHost *:80

ServerAdmin webmaster@yemaosheng.com

DocumentRoot /var/www/yemaosheng

ServerName *.yemaosheng.com

RewriteEngine on

RewriteCond {HTTP_HOST} ^[a-zA-Z0-9] .yemaosheng.com$

RewriteRule ^/?$ /{HTTP_HOST}

RewriteRule ^/www.yemaosheng.com/?$ /

RewriteRule ^/news.yemaosheng.com/?$ /news.php

RewriteRule ^/bbs.yemaosheng.com/?$ /bbs.php

RewriteRule ^/blog.yemaosheng.com/?$ /blog.php

RewriteRule ^/([a-zA-Z0-9] ).yemaosheng.com/?$ /blog.php?user=$1

Options None

AllowOverride All

Order allow,deny

Allow from all

第 2 页

,

关于如何在apache上绑定多域名的问题

apache服务器配置文件在

/apache/conf/httpd.conf

这个文件夹下有三个文件,httpd.conf是主配置文件,其他的,初学者可以不管,但是在安全上有些问题。 绑定域名的设置,在httpd.conf的最后几行,例如:

### 部分 3: 虚拟主机

# 基于名称的虚拟主机示例:[/color]

#

# ServerAdmin webmaster@dummy-host.example.com

# DocumentRoot /www/docs/dummy-host.example.com

# ServerName dummy-host.example.com

# ErrorLog logs/dummy-host.example.com-error_log

# CustomLog logs/dummy-host.example.com-access_log common

#

注意,每行前有#号的,说明这只是注释,并不对apache产生控制,所以,如果你要绑定域名,在下面加入行,去掉#就可以了。如下:

### 部分 3: 虚拟主机

# 基于名称的虚拟主机示例:

#设置网站管理员邮箱

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

ServerAdmin webmaster@dummy-host.example.com

#虚拟主机目录(网站根目录)

DocumentRoot /www/docs/dummy-host.example.com

#要绑定的域名

ServerName dummy-host.example.com

#产生记录文件

ErrorLog logs/dummy-host.example.com-error_log

#记录文件

CustomLog logs/dummy-host.example.com-access_log common

如果你是在本机测试,这篇文章的意义不大。谁也不会把域名绑定到一个变动IP的机器上,如果是在服务器上安装apache,则要先指定IP,使用以下命令:

#指定主机IP地址

NameVirtualHost 12.34.56.78

这样的话,就把域名绑定到指定IP上了。

————————————————————

[color=crimson]关于如何安装win2000adv php5.0 iis apache2 mysql perl

如果你用windows,下载最新的apache(2.0.54),php(5.0.4),mysql(5.x的是测试版,推荐用4.1.1x),zend optimizer 2.5.7和kehui cms。

#######################################################################

第一: 装http服务器apache

APACHE 的安装,选择好目录即可,基本采取NEXT 一路下去就可以了。

我的APACHE 安装目录是F:Program FilesApache GroupApache2

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

安装完毕,打开F:Program FilesApache GroupApache2conf下的

"要保证APACHE2对中文支持。在httpd.conf文件中,找到下面这句,修改之:

AddDefaultCharset ISO-8859-1(好像是这么写的,改为AddDefaultCharset off)从apache2.0.53开始,中文字符已经支持,不在需要这个语句了!!!!!!

"

还是httpd.conf文件里,设置ServerRoot(服务器根,也就是apache的安装目录)

ServerRoot "F:Program FilesApache GroupApache2"

设置DocumentRoot(网站目录,也就是你机器上那些让人浏览的网页所在目录)比如:

DocumentRoot "F:Http"

找到DirectoryIndex (浏览的缺省页)在后面补上一个 index.php

这后面的一大串东西要用空格隔开比如:DirectoryIndex index.html index.php

下面2个这么设比较好(此外Options和ServerSignature怎么设最好研究一下):

HostnameLookups Off

ServerTokens Prod

其它的以后自己慢慢学吧,反正现在是能用了。

运行一下apache,在浏览器里输入:http://localhost/xxx.html

看看F:http下面的xxx.html是不是能看到了(假设xxx.html文件已经存在)?

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

############################################################################# 第二:装脚本语言php

下载php的zip文件,解压缩,将其中的:

php5ts.dll、libmysql.dll 一起复制到

F:Program FilesApache GroupApache2bin的目录下;

php.ini-recommended改名为php.ini 和 php5apache2.dll一起复制到F:Program FilesApache GroupApache2下

此外,把php的ext目录整个复制过来,比如:F:Program FilesApache GroupApache2ext 打开F:Program FilesApache GroupApache2conf下的

AddType application/x-httpd-php .php

然后,修改php.ini

(1) 改 display_errors = Off 成為 display_errors = On

(2) 改 extension_dir = "./" (这个是php的ext目录所在位置)成為

extension_dir = "F:Program FilesApache GroupApache2ext"

(3) 改 ;extension=php_mysql.dll 去除分號成為 extension=php_mysql.dll

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

php装完了。在你的网站目录下(比如:F:http),建一个文本文件,内容如下:

保存为info.php。首先,重新启动apache服务器(也就载入php);然后,在浏览器里输入: http://localhost/info.php

如果看到PHP的欢迎测试页面,说明安装成功

原理:

Apache 會啟動並載入 httpd.conf

跑到 LoadModule 會使用 Windows API LoadLibrary 載入 php5apache2.dll

接著會載入同目錄的 php5ts.dll

然後會載入 php.ini 根據裡面的設定載入其他 extension dll

各個 extension 的 dll 被載入後, 如果該 extension dll 還需要載入相關的 dll 則其他需要的 dll 要放在 apache 的 bin 目錄下

因為 Apache 使用 Windows API LoadLibrary 來載入 DLL 檔,

搜尋路徑是以 bin 為最優先, 其次是 SYSTEM32)

######################################################################### 第三:装数据库软件mysql

这个很简单,选好安装目录,再选好apache目录F:Program FilesApache GroupApache2 和php.ini目录F:Program FilesApache GroupApache2就行了。

装完后要设置一下。

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

先选Detailed Configuration;然后是服务器类型,随便选,我选developer machine;

接着选数据库用途,我选Multifunctional database,对innodb和myisam都支持然后

是innodb tablespace setting,我直接next(实际上我们好像并不需要innodb,直接选第3个只支持myisam的也可以);;

然后,是用户数量,我选最少的;

enable tcp/ip 我next了;字符集好像应该选第2个或第1个,我选的是第2个:

Best Support for Multilingualism;install as windows service划钩,next;

modify security settings自己选吧(可以改mysql的根密码password,缺省的根密码是没有。为了安全起见,最好自己设一个根密码),next。最后执行就行了。

都弄好了,先来建一个数据库:开始,程序,mysql,运行mysql command line client

先输入根密码password(缺省是没有,改过的就要输入自己的密码),

屏幕出现mysql>

在后面输入create database kehui; 然后回车(分号一定要输入),就建了一个叫kehui的数据库 有了一个数据库就可以安装kehui cms了。(如果输入drop database xxx;就删掉xxx数据库)

#######################################################################

第四:装kehui cms

kehui cms需要先安装zend optimizer,去下一个最新的,安装就行了,很简单。

最后,把kehui都解压缩到F:http目录下,到浏览器里输入http://localhost/install.php,

上来是条款声明,点yes;

进入到安装部分:host是数据库的主机名,既然数据库mysql和kehui cms都装在同一台机器上,那就填‘localhost’(也就是本地主机。如果不装在同一台机器上,

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

那就填数据库所在机器的名字)

User name是mysql的根用户名,一般只能是‘root’

以上两项自动出,一般不需要自己输入。

Password是mysql的根密码,如果你没有改动过,缺省的就是什么也没有,不填;改过的话,就输入自己设的根密码。

database就是kehui CMS系统所需的数据库,这个数据库必须已经存在才行。刚才安装mysql的时候不是 已经建了一个也叫kehui的数据库吗?就用它好了,填'kehui'

timezone好像是时区,默认是0,不用动。国外的朋友可能需要改,这个以后改也可以。

好啦,next,连接数据库,并创建表.....

所有表都建立完后,

Admin name是管理员(也就是你)在网站上的注册名,自己起名吧。

password输入自己登陆网站的密码

confirm再输入一遍密码

Admin email管理员的电子邮箱

继续下一步,也就全部完成。点击Done就可以来到主页。

#################################################################################

装好后,浏览器里http://localhost/就是主页(如果中文乱码,很可能是mysql字符集选择不对,语言那里重选;

还不行就重装mysql,语言选项里选前2个中的一个,我印象是选第2个)

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

,

进入管理员界面后,进系统设置。要注意‘系统URL’这一栏,如果地址末尾有''或‘/’,一定要把末尾的''或‘/’删掉,否则会出现问题。

注意:系统URL最好这样写,以避免发生问题:

如果你的kehui就在F:/http目录下,那么系统URL不填,为空,主页URL填/index.php(登录网站的时候会自动加上前面的ip地址的);如果kehui网站在F:/http/kehui目录下,系统URL要填/kehui,主页URL

填/kehui/index.php。大体上就是这个意思。

——————————————————————————————————————

如果再不懂,那再看下面的例子

我现在有这么一个问题,

我有一台服务器,只有一个ip,假设为202.112.11.22

我有两个国际域名,三个站点,

我想用apache支持多个域名,

站点一通过202.112.11.22访问(对应本机usr/local/www/)

站点二www.site1.com的地址为202.112.11.22/site1/(对应本机usr/local/www/site1/)

站点三www.site2.com的地址为202.112.11.22/site2/(对应本机usr/local/www/site2/)

请问如何设置apache ?

解决办法:

打开http.conf

1,ServerName 127.0.0.1 修改成ServerName 202.112.11.22

file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]

标签: