• 虚拟主机的搭建(ubuntu+apache2)


    搭建环境: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:WindowsSystem32driversetc 文件夹下手动打开是不能修改的,具体修改方案是: 

          在windows开始中找到记事本,点击右键--->以管理员身份运行,在打开的记事本中选择 文件-->打开,找到  C:WindowsSystem32driversetc 文件夹下的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。

      

  • 相关阅读:
    250 浅拷贝Object.assign(target, ...sources),深拷贝
    249 递归:概念,利用递归求1~n的阶乘,利用递归求斐波那契数列,利用递归遍历数据
    248 闭包:概念,作用,案例,思考题案例,chrome 中调试闭包
    247 高阶函数 之 函数可以作为参数传递
    246 JavaScript严格模式
    245 改变函数内部 this 指向:call,apply,bind,call、apply、bind 三者的异同
    244 函数内部的this指向:6种
    243 函数:函数的3种定义方式,函数的6种调用方式
    242 Object.defineProperty
    241 获取对象的属性名:Object.keys(对象)
  • 原文地址:https://www.cnblogs.com/cj8988/p/4189866.html
Copyright © 2020-2023  润新知