搭建环境:windows+VMware(Ubuntu)+apache2.(同一IP,不同域名)

1:在VMware的虚拟机Ubuntu下安装apache2(怎么安装百度一下就能找到);

2: apache2的相关配置文件在/etc/apache2下

  apache2.conf 是全局配置文件,也是主配置文件

  conf.d 一般性的配置

  envvars 存放环境变量

  httpd.conf 用户配置文件

  mods-available 已安装的可用模块

  mods-enabled 已启用的模块

  ports.conf httpd服务的端口号

  sites-available 可用的虚拟主机

  sites-enabled 启用的虚拟主机

3:关于虚拟主机,参照 http://baike.baidu.com/view/7383.htm?fr=ala0_1_1

4:开始虚拟机的配置:apache2的默认访问路径是 /var/www,在/etc/apache2/sites-available/000-default.conf文件中可以看到

  ServerAdmin localhost
  DocumentRoot /var/www

  sites-availeable中的是网站配置文件,sites-enable 中是指向 sites-availeable 的链接(先不要管)。

5:新建虚拟文件:在/var/www文件夹下新建两个文件夹:a和b,在a文件夹下新建a.html,b中新建b.html。作为访问时的服务目录。

6:先在/etc/apache2/sites-available文件夹中新建两个文件  test_a.conf 和 test_b.conf(文件后缀名参见 /etc/apache2/apache2.conf配置文件中的 IncludeOptional mods-enabled/*.conf)。

  在终端(Ctrl+Alt+T进入)输入  sudo gedit /etc/apache2/sites-available/test_a.conf ;进入编辑文件:

  参照000-default.conf的内容(复制内容后修改红色部分即可):

test_a.conf:

  <VirtualHost 192.168.238.2>
    ServerAdmin ******@******

    DocumentRoot /var/www/a
    ServerName www.test_a.com

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>
  <Directory /var/www/a>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride All
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/wperror.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/access.log combined

  Alias /doc/ "/usr/share/doc/"
  <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>

  </VirtualHost>

test_a.conf:将 /var/www/a 修改为 /var/www/b, www.test_a.com 修改为 www.test_b.com.

  DocumentRoot:为访问目录;ServerName :为访问的域名。

7:到这里虚拟主机的配置完成了,刚才提到 sites-enable 文件夹下存放的是访问 sites-availeable 的链接,所以刚刚新建的 test_a.conf he test_b.comf 同样的建立连接:

  在终端输入: sudo a2ensite test_a.conf  和 sudo a2ensite test_b.conf  。进入sites-enable文件夹下可以看见多了两个链接文件。

8: 启动apache :sudo /etc/init.d/apache2 start ,

  我们在ubuntu虚拟机中打开浏览器,输入 192.168.238.2,看看能否打开(一般是不行的,还没分配IP地址);

  进入终端,输入  sudo ifconfig eth0:1 192.168.238.2  ,

  再次启动 apache,浏览器输入 192.168.238.2,有了吧!!

那么输入域名试试: www.test_a.com 或者 www.test_b.com 没反应??

修改hosts文件: 终端输入  sudo gedit /etc/hosts  加入

    192.168.238.2 www.test_a.com

    192.168.238.2 www.test_b.com

再次在浏览器中访问:www/test_a.com 进入我们新建的 /var/www/a 文件夹下;同样  www.test_b.com 进入  /var/www/b 文件夹下。

9:在宿主机(Windows中访问):

  (1):首先在cmd 终端 输入 ping 192.168.238.2 试试看能否拼通。(能ping通的话,在windows中的浏览器中打开 192.168.238.2 试试看能否看到什么)。

   (2):不能ping通的话就要关闭ubuntu的防火墙:在ubuntu终端输入: sudo ufw disable (关闭防火墙)(http://blog.sina.com.cn/s/blog_483e43060101p603.html)。

  再次在浏览器中输入 192.168.238.2 能看到了吧!!!

   (3):域名访问,想要在windows中通过域名访问新建的虚拟主机(www.test_a.com  和  www.test_b.com)则需要设置hosts。

  windows中的位置是  C:\Windows\System32\drivers\etc 文件夹下手动打开是不能修改的,具体修改方案是: 

      在windows开始中找到记事本,点击右键--->以管理员身份运行,在打开的记事本中选择 文件-->打开,找到  C:\Windows\System32\drivers\etc 文件夹下的hosts文件  打开,在其中添加两行:

      192.168.238.2 www.test_a.com

      192.168.238.2 www.test_b.com    保存!

  最后在浏览器中访问 www.test_a.com ,出现在ubuntu浏览器中访问 www.test_a.com 的效果一样!!!!

到此虚拟主机配置完成!!!

参考资料:

  http://xuchengji.blog.51cto.com/160472/387247;

http://blog.sina.com.cn/s/blog_483e43060101p603.html。

  

虚拟主机的搭建(ubuntu+apache2)的更多相关文章

  1. KingPaper初探 wamp下本地虚拟主机的搭建

    在本地我们进行网站或系统开发时,因为我们本地的地址以localhost为主机名的  我们上传到服务器会有很多东西要修改 为了避免这些不必要的修改,我们可以在本地搭建虚拟主机 一下是在wamp下搭建虚拟 ...

  2. apache配置文件详解及虚拟主机的搭建

    1.404跳转: <IfModule dir_module>    DirectoryIndex index.php index.html /error.php</IfModule& ...

  3. Apache虚拟主机的搭建及相关问题解决

    在开发的过程中,很多时候项目的部署都需要在本地进行虚拟服务器的模拟搭建,所以具体的配置流程为下,并且把自己遇到的问题跟大家分享. 1.Apache配置文件httpd.conf 找到   # Virtu ...

  4. Tomcat----->tomcat配置虚拟主机(搭建网站)mac

    1.首先在server.xml中添加HOST <Host name="www.snowing.com" appBase="/Users/snowing/Downlo ...

  5. Ubuntu Server 14.04 & Apache2.4 虚拟主机、模块重写、隐藏入口文件配置

    环境: Ubuntu Server 14.04 , Apache2.4 一.Apache2.4 虚拟主机配置 01. 新建一份配置文件 在apache2.4中,虚拟主机的目录是通过/etc/apach ...

  6. Ubuntu配置apache2.4配置虚拟主机遇到的问题

    update: 偶然看到了 apache的更新说明,直接贴个地址过来吧. http://httpd.apache.org/docs/2.4/upgrading.html 最近想把web开发目录从/va ...

  7. ubuntu apache 配置虚拟主机 与 二级域名

    一.ubuntu 配置虚拟主机 方法一:添加端口号 第一步进入 /etc/apache2/sites-available/ 目录,将 000-default.conf 复制一份到当前目录下并重命名,然 ...

  8. Apache2.4.6 添加虚拟主机

    apache2.4 与 apache2.2 的虚拟主机配置写法有所不同 apache2.2的写法: <VirtualHost *:80> ServerName domain.com Doc ...

  9. 虚拟主机 (Virtual Host)

    虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同 ...

随机推荐

  1. Linux上的errno和strerror

    部分内容参考:https://www.douban.com/note/165931644/ 在Linux的api中: errno 是记录系统的最后一次错误代码.代码是一个int型的值,在errno.h ...

  2. PHP面向对象编程一

    php面向对象编程(一)   类与对象关系: 类就像一个人类的群体 我们从类中实例化一个对象 就像是制定一个人. 面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,所以我们首先要做的就是如何 ...

  3. 工作经验(Unity篇)

    我的工作是C++开发,主要是做底层,其中绝大部分是给Unity调用的,以下是我的脚印,希望不会重蹈覆辙 Unity具有强大的跨平台性,但是使用到库文件不尽相同,例如Android中就使用so库文件,W ...

  4. Java集合框架—Map

    Map集合:该集合存储键值对.一对一对往里存.而且要保证键的唯一性. 1,添加. put(K key, V value)  putAll(Map<? extends K,? extends V& ...

  5. Kyligence Analytics Platform Enterprise

    平台: arm 类型: ARM 模板 软件包: kap 2.3 kyanalyzer 2.3 apache kylin basic software bi big data cube data war ...

  6. ubuntu双屏调整分辨率

    查看屏幕硬件指标 # xrandr Screen 0: minimum 8 x 8, current 2390 x 768, maximum 32767 x 32767 LVDS1 connected ...

  7. PHP的模板引擎smarty原理浅谈

    mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...

  8. Python之HTML的解析(网页抓取一)

    http://blog.csdn.net/my2010sam/article/details/14526223 --------------------- 对html的解析是网页抓取的基础,分析抓取的 ...

  9. 【BZOJ3106】[CQOI2013] 棋盘游戏(对抗搜索)

    点此看题面 大致题意: 在一张\(n*n\)的棋盘上有一枚黑棋子和一枚白棋子.白棋子先移动,然后是黑棋子.白棋子每次可以向上下左右四个方向中任一方向移动一步,黑棋子每次则可以向上下左右四个方向中任一方 ...

  10. SpringBoot操作MongoDB实现增删改查

    本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...