设为首页 收藏本站
查看: 969|回复: 0

[经验分享] Apache 2 配置二级域名 图文教程 [VMware, LAMP, vhost, vhost.map, a2ensite]

[复制链接]

尚未签到

发表于 2015-4-5 15:39:01 | 显示全部楼层 |阅读模式
  关于二级域名和网站子目录之间的关系和联系相信很多朋友都知道了的.作为与主站关系不是很大的子分类来说, 比如bbs.domainname.com, news.domainname.com之类还是需要使用二级域名的. 由于apachhe2不同于以往的apache版本, 有一些配置文件已经分散放在各个不同的文件里了, 所以如果还是根据网络的旧资料来配置文件的话会带来很大困惑, 其实新版的apache2最大的优点就是采用了结构更好的架构, 当然在配置虚拟主机的过程还是和旧版本的有一些差别的. 下面就用Apache2配置虚拟主机的二级域名来做下说明, 附带说明一下我的环境, 我是在VMware下配置的LAMP环境, 我的apache2 路径在/etc/apache2/, 网站根目录: /var/www/, 如果你采用的是一键安装版的话,一般都是装在/usr/local/etc/apache2/, 网站的根目录在/usr/local/www这个在配置过程中要注意一下. 下面进入正题
  关于虚拟主机下同IP多域名虚拟主机的问题请参考我的另一篇文章. 由于在进行二级域名的配置过程中要用到mod_rewrite模块的支持, 需要先开启mod_rewrite模块, 请参考我转的一篇文章, apache2服务器mod_rewrite模块 开启方法. 要做二级域名的解析, 首先要做的是你最好有一个顶级域名, 如果你还没有申请到顶级域名, 就按照我的例子在本地以phpwindtest.com为例进行介绍, 要添加的域名是bbs.phpwindtest.com, 其他的如news.phpwindtest.com都类似设置. 这样的话可以让你自由地本地进行安装测试各种的网站,论坛,博客等, 待测试完成后再解析到外网上. 大致的情况就介绍到这里, 打开服务器端的apache2 的配置文件httpd.conf,  要注意, 如果你在其他的网站看到的这个资料时, 会发现它们会介绍这个文件有很多的内容, 那主要是基于apache来讲的, 对于apache2来说, 它的内容很简单, 一般就是ServerName localhost这一个字符, 其他的啥都没有. 更别提有什么mod_rewrite模块了, 如下图:
DSC0000.jpg
  实际上Apache2的配置文件是和它同等的目录下的apache2.conf, 也即是/etc/apache2/apache2.conf,
  RewriteEngine on
RewriteMap lowercase int:tolower  #特别注意: 现在网络有很多转贴中这个lowercase被空格了, 变成:lower case, 初步分析, 这个是由于他们在转贴时使用了转贴工具导致的错误, 但是对于学习者来说却是莫大的影响, 在此提请转贴的朋友, 一定要小心在意.
RewriteMap vhost txt:/etc/apache2/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
  如图:
DSC0001.jpg
  在这里要强调的是, 你一定要根据你自己的apache2实际情况来自己配置, 注意点见上面的介绍. 然后,在/etc/apache2/新建一个文件vhost.map, 输入如下的内容:
DSC0002.jpg
  完成后保存,注意两点, 一点是域名和文件夹之间有空格, 另一点是要用根路径. 最后, 在对应的文件夹内建立对应的目录. 通过这种操作,可以创建无限个二级域名网站, 如news.phpwindtest.com,  product.phpwindtest.com等. 设置完成后,保存退出即可.
  通过浏览器访问我们的网站,www.phpwindtest.com, 它访问的对应目录是/var/www/neiwang/phpup, 访问bbs.phpwindtest.com时, 它访问对应的目录是/var/www/neiwang/phpup/bbs, 其他依次类推. 至此, 对于一般的直接放到外网的网站来讲, 二级域名设置完成. 但是针对本地测试的网站, 总不可能你一直使用IP地址访问吧? 如果能和访问外网的方式来访问本地站的话会更好. 这一点也可以做得到, 不过你要修改一下实体机的HOSTS表. HOSTS表的作用可以参考其他的网络资料.这里只作简要的设置说明.
  XP系统的HOSTS表的路径:C:\WINDOWS\system32\drivers\etc, 编辑里面的内容. 添加如下的内容:
  192.168.21.102 www.phpwindtest.com    #说明:192.168.21.102 这个是我ubuntu的IP地址,  www.phpwindtest.com虚拟的测试域名, 完成后保存.
  192.168.21.102 bbs.phpwindtest.com     #说明:192.168.21.102 这个是我ubuntu的IP地址,  bbs.phpwindtest.com虚拟的测试域名, 完成后保存.
  如图示:
DSC0003.jpg
  即使通过这样的设置, 也不会如你预期那样可以通过二级域名访问到对应的文件夹内的内容, 如本例的/var/www/neiwang/phpup/bbs, 你还要在apache2服务器内再配置一个独立于主域名的配置文件, 这个文件可以直接从该主域名的文件内进行COPY, 其路径是在/etc/apache2/sites-available/下, 然后再适当编辑一下它的ServerName, DocumentRoot之类的参数, 为了方便起见, 可以直接使用主配置文件的ErrorLog, CustomLog, 如图示:
DSC0004.jpg
  
  然后再将该配置文件链到sites-enabled/文件夹下, 可以使用软链接(ln -s),也可以COPY命令, 使用软链接的好处是当你源文件更新时, 软链接的文件也立即更新, 通俗理解, 软链接就是WIN系统下的快捷方式. 然后, 也可以用a2ensite sitesname(配置文件名称),即:
  #a2ensite sitesname
  这样的话, 也可以建立更新的链接
  
  然后重启apache2:
  #/etc/init.d/apache2 restart
  #service apache2 restart    #建议使用这个命令
  然后通过浏览器键入域名:www.phpwindtest.com进行访问,可以看到顶级域名的信息, 通过bbs.phpwindtest.com 就可得到对应文件夹的文件了.  
  顶级域名效果:
DSC0005.jpg
  二级域名效果:
DSC0006.jpg
  至此二级域名的设置完全解决. 再延伸一步, 这是一个虚拟主机, 那么第二个,第三个,乃至更多的虚拟主机能不能这样设置呢? 答案是肯定的, 依照此方法, wwufengg已经完成多个虚拟主机架设二级域名的工作.
  特别需要注意的是: 上面的phpwindtest.com实质上是在本地测试完成的, 并不是在外网上可以正常访问的, 这样做只是为了测试方便而已, 如果你已经申请了域名,就特别要注意, 要在DNS服务器上把二级域名给设置好才行. 把二级域名对应的的主机空间定义一下, 我就是没有注意到这一点, 在部署外部的二级域名时绕了很大的弯路, 悲摧(一般都是和顶级域名的IP地址一样的, 注意www.abc.com之类的也是二级域名哦, 真正的顶级域名是:abc.com, 这个要注意一下. )
  N久之后我再重新配置时又遇到了上面黑体字的误区, 也就是: 要在DNS服务器上把二级域名给设置好才行. 把二级域名对应的的主机空间定义一下
  source: http://www.iyunv.com/wwufengg/archive/2013/01/31/apache2-config-domain.html
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-54062-1-1.html 上篇帖子: VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系 下篇帖子: 如何在虚拟机里装vmware tools
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表