linuxapache绑定域名访问
‘壹’ linux服务器如何绑定域名
使用一键安装包配置的apache环境,添加网站配置方法如下:
1.命令:cd /alidata/server/httpd/conf/vhosts/
进入网站的配置文件目录
2.命令:vi aa.conf
创建一个新的配置文件
3.按键盘上的字母 “i” ,开始编辑文件,将下面的内容复制过去。
Order allow,deny
Deny from all
DocumentRoot /alidata/www/test
ServerName www.test.com
ServerAlias test.com
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2
ErrorLog "/alidata/log/httpd/test-error.log"
CustomLog "/alidata/log/httpd/test.log" common
对应自己的
ServerName www.test.com 绑定的网站域名
ServerAlias test.com 绑定的网站别名(您如果有多个域名添加在这里)没有的话,这个可以删除。
DirectoryIndex index.html index.php index.htm 设置默认首页
DocumentRoot /alidata/www/test 和 Directory "/alidata/www/test" 和 DirectoryMatch "/alidata/www/test/都是指定网站的目录,需要一致。
ErrorLog "/alidata/log/httpd/test-error.log" 和 CustomLog "/alidata/log/httpd/test.log" 对应的日志名字也需要自己修改一下,可以区分网站的日志信息。
4.输入命令:/alidata/server/httpd/bin/apachectl restart 重启apache测试。
‘贰’ 谁会wdcp linux管理系统 设置啊 绑定了域名无法访问
检查有没站点配置文件后台 》系统管理 》戚宽文件管理器 》虚拟主机站点文件(nginx,apache) 点击进去,进入到vhost目高搜亮录,看是否有相应的配置文件
文件名以创建站点时用的域名加后缀.conf,如wdlinux.conf
或者看看是不是安装没有完成 最好删了重新漏如安装一次
‘叁’ 如何在Linux下使用Apache服务绑定域名
我apache提供冲瞎web服务散竖。如果你要绑定域名的话,可以冲判大去域名的后台管理进行绑定。如果是在自己的电脑上的话,可以安装dns服务器。
‘肆’ 怎样绑定linux的主机头,只能使用域名访问,IP访问不到的
绑定linux的主机头,只能使用域名访问,IP访问不到,可以通过修改httpd.conf文件来实现。
方法一:
在httpd.conf文件最后面,加入以下代码
NameVirtualHost 211.*.*.*
<VirtualHost 211.*.*.*>
ServerName 211.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 211.*.*.*>
DocumentRoot "网站路径"
ServerName 网站域名
</VirtualHost>
说明:上面部分是实现拒绝直接通过211.*.*.*这个IP的任何访问请求,这时如果你用211.*.*.*访问,会提示拒绝访问。下面部分就是允许通过http://网站域名/这个域名访问,主目录指向"网站路径"。
方法二:
在httpd.conf文件最后面,加入以下代码
NameVirtualHost 211.*.*.*
<VirtualHost 211.*.*.*>
DocumentRoot "网站路径"
ServerName 211.*.*.*
</VirtualHost>
<VirtualHost 211.*.*.*>
DocumentRoot "网站路径"
ServerName http://网站域名
</VirtualHost>
说明:上面部分是把通过211.*.*.*这个IP直接访问的请求指向"网站路径"目录下。
‘伍’ Apache如何绑定域名
你是用apache做虚哪明拟主机吗? 如果是单独一个网站,不需要绑定就可以访问,如果档凯只限制一个域名访问的话,在httpd.conf搜索Listen 80 将其改为 Listen 域名:80 即可。如果是做虚拟主机,需要在httpd.conf最后加上像行缓唤下面这样的设置:
‘陆’ linux 云主机已经配置了apache 如何绑定域名求命令和步骤。
绑定域名是在apache配置文件里做的,一般vhosts.cfg打开修改就可以。这是做虚拟主机的例子。
‘柒’ linux服务器怎样绑定域名
一、DNS服务器的设置
我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的。因此要想实现虚拟域名首先应当令DNS服务器接受该虚拟域名,即把它映射到指定的IP地址上。因为我们靠Web服务器来区分域名,所以这个IP地址自然应当是Web服务器所管理的。
RedHat6.0操作系统中捆绑有BIND DNS服务器。它的域名配置文件是”/etc/named.conf”,一般情况下,域配置文件放在”/var/named”目录下面。
例1、named.conf文件的配置:
zone “domain.com” {
type master;
file “domain.com”;
};
zone “0.10.10.in-addr.arpa” {
type master;
file “10.10.0〃;
};
该例子说明”domain.com”的域配置文件是”/var/named/domain.com”,反向域的配置文件是”/var/named/10.10.0〃。domain.com文件负责把DNS域名映射为IP地址。
例2、domain.com文件配置:
@ IN SOA dns.domain.com. hostmaster.dns.domain.com. (
1998111003 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 10 dns.domain.com.
@ IN NS dns.domain.com.
@ IN A 10.10.0.1
www IN A 10.10.0.1
假定要增加的域名是aaa.domain.com,想要指到www.domain.com,DNS服务中应增加一个别名记录,可写成:
aaa IN CNAME www.domain.com.
如果需要配置大量的虚拟域名,domain.com文件要很大,而且也相当麻烦。我们可以使用符号 “*” ,即在 domain.com 文件中加入:
* IN CNAME www.domain.com.
这样它就把所有没给出设置的以domain.com结尾的记录全部转到www.domain.com去了,不管是aaa.domain.com还是bbb.domain.com。这不会影响已有的记录。配置好DNS服务器后应该重新启动守护进程named:
[root@domain /root]# /etc/rc.d/init.d/named restart
二、Apache服务器的配置
Apache服务器是目前互联网上使用最多的Web服务器,它可以维护非常繁忙的站点。RedHat 6.0捆绑了Apache Web Server 1.3。它的配置文件位于”/etc/httpd/conf”目录下,有httpd.conf、srm.conf、access.conf,下面讨论一下与虚拟域名有关的配置:
1、静态配置
修改配置文件 httpd.conf 的步骤:
(1) 首先设置UseCanonicalName为off。它指示用服务器Host:header的内容代替ServerName 的值来提供给环境变量SERVER_NAME。
(2) 然后加入:
NameVirtualHost xxx.xxx.xxx.xxx其中xxx.xxx.xxx.xxx为所要配置的虚拟服务器的IP地址。在此可配置多个虚拟IP地址,当然要与DNS服务器中的配置一致。(注意:这里要用IP地址,不能用域名。)
(3) 接下来为每个虚拟域名加入一段记录:
< virtualhost xxx.xxx.xxx.xxx>
…..
< /virtualhost>
xxx.xxx.xxx.xxx要和NameVirtualHost配置的IP地址一致。在两个标志之间可加入的配置参数有:
ServerName后面跟你要增加的虚拟域名,如aaa.domain.com ;
Documentroot如果你映射到本机的路径就加在后面,如”/home/aaa” ;
redirect如果你映射到远端的URL可加在后面,有两个参数,第一个是虚拟域名的相对路径,第二个是远端站点的URL;
ServerAlias后可加入本域名的别名,可使用通配符,如*.aaa.domain.com 。
下面举两个例子:
例3、映射到本机的物理路径:
< virtualhost xxx.xxx.xxx.xxx>
DocumentRoot “/home/test”
ServerName test.domain.com
< virtualhost>
例4、映射到远端的URL:
< virtualhost xxx.xxx.xxx.xxx>
ServerName test1.doamin.com
redirect / http://test.domain1.com/welcome.htm
< /virtualhost>
还有一些参数,象log文件的位置、超时的设置、缓冲区的设置等等,在此不一一介绍,可以参考Apache服务器的在线帮助文件。配置好httpd.conf文件后需要重新启动Apache的后台守护进程httpd,
[root@domain /root]# /etc/rc.d/init.d/httpd restart
每增加一个虚拟域名就要增加一段位于 < VirtualHost...>…< /VirtualHost> 之间的配置代码,而且只有在重新启动 httpd 后新配置才能生效。
2、动态配置
可以发现,如果要配置大量的虚拟域名将大大增加配置文件的长度,这样还会使Apache启动变慢,占用更多的内存,而且也不容易实现在线申请。可以通过选择动态方式来配置。这样不必事先写好配置,而是通过编写一定的动态规则来自动生成或随时从独立的配置文件中读取信息。
Apache有一个强大的扩展功能,即模块(Moles)的特性。模块可对服务器的功能进行扩充,它在运行和使用时才装入服务器,这样比一直放入服务器中要节省内存空间,同时也比调用外部CGI程序速度快。
现在使用一个功能强大的模块来实现动态配置虚拟域名,这就是mod_rewrite。它负责侦听从客户机送出的URL地址,并基于一组规则表达式对该URL来进行重写。这类似于URL别名概念,但它更进了一步,输出的URL可以映射到其他主机的任何URL地址上。 修改配置文件httpd.conf的步骤:
(1) 先设置UseCanonicalName为off 。
(2) 使用RewriteEngine on打开rewrite引擎。用RewriteMap设定配置文件的位置和属性,用RewriteCond和RewriteRule制定相应的规则。
例5、httpd.conf 文件中相关配置的一个例子:
RewriteEngine on
RewriteMap lowercase int:tolower
# 定义独立的配置文件的位置
RewriteMap vhost dbm:/www/conf/vhostdbm
# 利用独立的配置文件重映射虚拟域名
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1
这里的 vhostdbm 文件格式见”CGI 程序的编制” 。
三、CGI程序的编制
要实现虚拟域名的在线申请,就必须编写相应CGI程序动态修改独立的配置文件(即上面的vhostdbm文件)和进行用户的管理(包括用户申请,登录,密码修改等等)。在此只介绍对独立的配置文件的操作,其他属于如何用Perl语言来编写CGI程序,请参考有关资料。
vhostdbm文件使用dbm格式来记录数据,与用普通文本文件相比可加快寻找速度,而且易于修改。许多UNIX系统都具有叫做dbm(database management)的标准库。该库将键-值对的集合存贮到一对磁盘文件中,提供简单的数据库管理工具,可以方便的更改、新增或删除数据内容。
Perl访问dbm的方式:通过一个类似于打开文件的进程将关联数组与dbm数据库联系起来。在数组中创建新元素时立即就更改了dbm数据库。删除一个元素的同时也删除了dbm数据库中的数值。可使用:
1、欲将dbm数据库与dbm数组相关联起来:
dbmopen(%arrayname,”dbmfilename”,$mode);
如果dbmfilename不存在的话就新建该库。%arrayname参数是Perl的关联数组(如果这个数组已经有值,那么这些值就被删除)。该关联数组连接到叫做dbmfilename的dbm数据库中。$mode 参数是当需要创建库时控制库文件权限的数字,该数字被指定为8制,经常被用到的是0644,给除了机主之外的新用户以只读的权限,机主可有全部权限。
2、关闭dbm库:
dbmclose(%arrayname);
%arrayname 是已经与dbm库关联了的数组名。
例6、VHOST打开vhostdbm,或新建一个dbm库:
dbmopen(%VHOST,”vhostdbm”,0644);
例7、新建记录或更改已有记录(设从html文件form中传过来的参数名为vhost、rhost):
$VHOST{$FORM{’vhost’}}=$FORM{’rhost’};
例8、删除已有记录(设从html文件form中传过来的参数名为vhost):
delete $VHOST{$FORM{’vhost’}};
例9、关闭vhostdbm:
dbmclose(%VHOST);
注:以上已经假设传过来的参数经过了验证,不存在重复的记录,否则会导致已有记录的混乱。
httpd.conf 该文件底部
< virtualhost 192.168.0.100> #你的服务器ip
DocumentRoot “/home/test” #你的网站路径
ServerName test.domain.com #你的域名
< virtualhost>
‘捌’ apache如何绑定域名,只允许该域名访问服务器
我以前也有这个问题,原因大概是这样,apache接收所有指向的域名,当配置中没有被访问的域名时,它会默认跳到配置的第一个虚拟主机中去,于是我就在第一个虚拟主机那配了个404页面,或者给他把地址重写一下,跳到什么的。也不知道这样能不能混过网监那关。
‘玖’ 如何为Apache绑定多IP多域名
无论Windows主机还是Linux主机,在Apache接收处理前,首要要确保这些IP地址已经映射到APACHE服务上,也就是说,对要首先保证操作系统本身接受这些IP地址访问,Windows绑定多IP参考前一篇文章(如何为Windows绑定多个IP和多个域名 ),Linux绑定多IP地址先自行搜索解决,以后再补充。
测试之前,确保域名已经解析到本服务器上且已生效。
本文默认按照80端口配置,还可以通过同IP但不同端口来区分不同网站,该情况一般是用在主机管理上。举个例子:可以使用http://192.168.1.100作为正常网址,而http://192.168.1.100:2020则可以用来做后台配置管理等。
绑定方法有很多种,比如虚拟绑定、单IP多域名绑定、多IP单域名绑定、多IP多域名绑定、端口识别绑定等等,而且每种绑定可能还有不同的实现方法,根据自己习惯和场合选择使用。
一、Apache绑定单IP多域名
1、示例绑定:
IP地址192.168.1.100
比如:对应两个域名http://chaodiquan.com和http://chaodiquan.cn(域名)
2、绑定过程
a、打开http.conf,该文件位置在apache/conf下面,直接用文本编辑器即可打开。
b、添加以下字段,位置靠近ServerName 127.0.0.1或ServerName localhost:80下面附近,方便修改和理解。
view source
print?
1 <VirtualHost 192.168.1.100>
2 DocumentRoot D:/xampp/htdocs/chaodiquan.com
3 ServerName zhanhelp.com
4 </VirtualHost>
5 <VirtualHost 192.168.1.100>
6 DocumentRoot D:/xampp/htdocs/chaodiquan.com/wwwroot
7 ServerName chaodiquan.cn
8 </VirtualHost>
这个方法是对指定IP地址的主机比较适合,但是如果是动态获取IP地址的主机就有问题了,则可以把<VirtualHost 192.168.1.100>统一修改为<VirtualHost *:80>,这样设置后APACHE不再对IP区分,只根据ServerName和处理优先级识别。比如很多虚拟主机要求使用CNAME解析域名,那么该虚拟主机的IP可能会变化的,就无法使用上面的配置方法,还是<VirtualHost *:80>要更好用一些。
补充一下,如果是Linux主机,DocumentRoot字段需要修改为类似:
usr/local/www/chaodiquan.com/
usr/local/www/chaodiquan.com/wwwroot
这样的路径,该路径指向网站所在根目录或子目录。
c、此外还可以为每个域名指定单独的错误日志(ErrorLog)及用户日志地址(CustomLog)只需要把下面两句添加到上述<VirtualHost ...></VirtualHos>字段之间即可,示例如下(具体存储地址可根据实际情况修改掉):
ErrorLog "logs/error.log"
CustomLog "logs/access.log" combined
d、重启Apache服务即可生效。
二、Apache绑定多IP多域名
1、示例绑定
IP地址192.168.1.100/192.168.1.101
对应两个域名http://chaodiquan.com和http://chaodiquan.cn
2、绑定过程
步骤同上文,还是打开httpd.conf,然后增加下面脚本。
view source
print?
1 <VirtualHost 192.168.1.100>
2 DocumentRoot D:/xampp/htdocs/chaodiquan.com
3 ServerName chaodiquan.com
4 </VirtualHost>
5 <VirtualHost 192.168.1.101>
6 DocumentRoot D:/xampp/htdocs/chaodiquan.cn
7 ServerName chaodiquan.cn
8 </VirtualHost>
这样就是两个IP地址对应两个域名。实际上在上面的单IP地址绑定中,提到<VirtualHost *:80>这样的设置方式也可以用来多IP访问,只是只能使用ServerName来区分,而如果输入对应的IP地址来访问,APACHE只会显示符合第一个优先级网站(假设无端口区分条件下),因为它无法判断IP地址与多域名之间的映射关系,所以使用明确的IP地址配置还是有点好处,支持直接输入IP地址访问,只是看起来不太好。
补充一下,如果是Linux主机,DocumentRoot字段需要修改为类似:
usr/local/www/chaodiquan.com/
usr/local/www/chaodiquan.com/wwwroot
这样的路径,该路径指向网站所在根目录或子目录。
‘拾’ linux下apache配置多域名只有一个域名可以子目录访问 增加的域名不能实现子目录访问是什么问题
跟据你所描述的情况看,应该是你的配置文件有些问题,
正常来说都是可访问的,建议你把配置文件test.b.com的那一部分展示一下。