1,linux version:openSuSE 12.1

2,add ServerName to DNS(johv.ts.com ,use the same IP)

3,mkdir /srv/www/htdocs/jv_vh,it include the index.html

4,modify /etc/apache2/vhost.d/jv_vh.conf(it will be included in httpd.conf)

the content is below:

###begin

NameVirtual johv.ts.com

<VirtualHost johv.ts.com:80>##if not added ,the diffrent names all point to home page                             ##of the first virtualhost 

ServerName johv.ts.com

DocumentRoot /srv/www/htdocs/jv_vh/

Order allow ,deny

Allow from all

#ErrorLog /var/log/apache2/jv_vh/error_log

#Customlog /var/log/apache2/jv_vh/access_log combined(not use)

NameVirtual jv.host.com

<VirtualHost jv.host.com:80>

...

###end

solute mothed:

all address will visite the first VirtualHost(even #NameVirtualHost *:80)befor add the green words

 

当有外部访问需求进来时,apache2优先会访问第一个虚拟主机;如果访问域名是其它虚拟主机则会指向该域名的虚拟主机,若该访问域名的虚拟主机不存在,则会指向第一个虚拟主机;如果没有虚拟主机才会指向默认站点!

To solute the problem,find answer from  http://www.sunchis.com/html/php/php/2011/0617/339.html,tks

以下是参考,感谢原作大侠(开始):

copy from http://robinzs.blog.51cto.com/2834668/1178637

Linux提供HTTP服务的组件是apache,现在SUSE11自带的组件版本是apache2。
先说一下架设环境
硬件:虚拟机
IP地址:192.168.1.102
主机名:robinzs
首先安装组件,图形界面或字符界面亦可。
zypper install –y apache2
suse的zypper与redhat的yum功能类似,前题是都需设置好安装源,因为是拿虚拟机做的测试,所以我的安装源是镜像。
安装之后开始部署,为什么要部署虚拟主机。因为虚拟主机能够架设多个站点在同一台服务器,且都可以从80端口通迅数据,所以本次实验部署虚拟主机
Apache2的配置文件目录在/etc/apache2/下,需用到的文件有:
/etc/apache2/httpd.conf 主配置文件
/etc/apache2/listen.conf 监听端口配置文件
/etc/apache2/vhosts.d/*.conf 虚拟主机配置文件
说到这里简单提一下suse11下的apache2目录结构。与红帽不同,红帽是将 大部份配置文件内容都在httpd.conf中;而suse11的apache2是将httpd.conf 文件打散成若个文件,在httpd.conf中有Include标签可以加载打散这些文件的内容,所以在suse11下配置站点需要修改多个文件。

承

现在开始配置apache2,首先在/etc/apache2/vhosts.d/目录下创建文件*.conf, 文件名随便,可以以站点域名命名,我创建的叫virtual1.conf与virutual2.conf
vim /etc/apache2/vhosts.d/virtual1.conf
添加如下内容:(添加的内容可以参考同级目录下的vhost.template文件)

ServerAdmin    webmaster@robinzs.com
DocumentRoot    /srv/www/htdocs/virtual1/
ServerName        virtual1.robinzs.com
ErrorLog            /var/log/apache2/virtual1/error_log
CustomLog         /var/log/apache2/virtual1/access_log combined

上述配置文件内容与虚拟主机创建要求一一对应:
ServerAadmin—虚拟主机管理员邮箱
DocumentRoot—虚拟主机文件目录
ServerName—服务名称,就是访问地址
ErrorLog—错误日志
CustomLog—访问日志,combined是日志格式的一种,兼容所有日志格式
用同样方法配置virtual2.conf文件
修改apache2的主配置文件添加站点信息
vim /etc/apache2/httpd.conf
找到Include /etc/apache2/vhosts.d/*.conf这一行,这一行是代表加载所有虚拟主机配置信息。
在这一行下边添加:(其不在这里写也行,为了维护方便)

Options Indexes FollowSymlinks
       AllowOverried All
       Order allow,deny
       Allow from all

Options Indexes FollowSymlinks
       AllowOverried All
       Order allow,deny
       Allow from all
       
在内是对站点内容的权限设置:
Options-站点目录的权限设置
                   Indexes-如果在此目录下找不到"首页文件",就列出整个目录的文件,相反如果不例出目录文件则为-Indexes;
FollowSymLinks-让在此目录开放的连接文件可以连接出此目录外。
Allow Overried-表示是否允许额外配文件".htaccess"的权限复写,用户自己的个人网页若要修改权限时会用到。
Order -安全设置,是否可被浏览的权限,默认为allow,deny以allow优先处理,没有写入规则的默认为deny即不可浏览,allow见下述。
Allow from-默认为all,即全部客户都可浏览
其实上述内容不写在httpd.conf,写在vhost.conf内也可以:

ServerAdmin webmaster@robinzs.com
ServerName virtual1.robinzs.com
DocumentRoot /srv/www/vhosts/

Options All
        AllowOverride All
        Order deny,allow
        Allow from all

但如此做,有可能会出现无法访问的问题,也许会花长时间排错,自己测试无所谓。在生产环境我们应选择安全的方法来完工作,所以此配置方法不建议。

转

创建相应站点文件与目录
a 虚拟主机站点目录
mkdir /srv/www/htdocs/virtual1
mkdir /srv/www/htdocs/virtual2
b 虚拟主机主页
vim /srv/www/htdocs/virtual1/index.html
vim /srv/www/htdocs/virtual2/index.html
内容随便,为了方便我没用html写,直接就写的Test1 for virtual1与Test2 for virtual2
c 日志目录
mkdir /var/log/apache2/virtual1
mkdir /var/log/apache2/virtual2
修改/etc/hosts文件

添加内容:
192.168.1.102    virtual1.robinzs.com
192.168.1.102    virtual2.robinzs.com
因为两个虚拟主机都用的是80端口访问,上述操作都做完之后并不能正常访问,只能访问 virtual1.robinzs.com的页面,输入virtual2.robinzs.com也是一样.这时需要修改参数使所有虚拟主机都能够使用80端口.
修改/etc/apache/listen.conf文件
将NameVirtualHost *:80的注释去掉即可.

这里顺道提一句apache2的访问优先级。当有外部访问需求进来时,apache2优先会访问第一个虚拟主机;如果访问域名是其它虚拟主机则会指向该域名的虚拟主机,若该访问域名的虚拟主机不存在,则会指向第一个虚拟主机;如果没有虚拟主机才会指向默认站点!
重启服务
rcapache2 restart
设置apaceh2开机自启
chkconfig apache2 on

参考内容(结束)

#my point

想说的好的文章会指引你找到对的方法,所以有时候在互联网找东西就像在翻垃圾

SuSE Apache2 VirtualHost Build的更多相关文章

  1. Ubuntu下安装和配置Apache2

    http://www.blogjava.net/duanzhimin528/archive/2010/03/05/314564.html 在Ubuntu中安装apache 安装指令:sudo apt- ...

  2. Apache关闭VirtualHost的Log日志记录

    有时我们的apache产生的日志是超大的并且 没什么用处,这时我们就可以关闭了,关闭apache日志很简单,直接ErrorLog off或 # CustomLog即可. Web server(ex: ...

  3. ubuntu下安装配置apache2(含虚拟主机配置)

    在Ubuntu14.14中安装apache 安装指令: sudo apt-get install apache2 安装结束后: 产生的启动和停止文件是: /etc/init.d/apache2 启动: ...

  4. Linux(CentOS7)系统中部署Django web框架

    1. 概述 部署django和vue架在逻辑上可以分为web层与数据库层:web前端通过实现了WSGI协议的模块对python代码进行解析,而python代码中则通过特定于数据库的操作接口对数据库进行 ...

  5. LAMP环境搭建,防火墙开启,数据库挂载在逻辑卷

    具体要求: 1. 源码部署 LAMP 环境, 和生产保持一致 2. 静态资源文件同步生产环境 3. 需要同时部署 2 个 web 网站 步骤: 一. 需要的安装包. 提前准备好. apr-util-1 ...

  6. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  7. linux下安装PHP5.5

    下载安装包后,在安装php之前必须先安装libxml2,因此可以通过下载libxml2安装包,编译安装 我通过yum -y install libxml2 libxml2-devel(不安装这个的话, ...

  8. yum更换国内源 yum下载rpm包 源码包安装

    7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 yum更换国内源 cd  /etc/yum.repo.d/ 删除源 rm -f   dvd.repo rm -f  C ...

  9. 如何构建Docker镜像

    构建Docker 镜像有如下两种方法: (一)使用docker commit命令.(二)使用docker build命令和 Dockerfile 文件.在这里并不推荐使用docker commit来构 ...

随机推荐

  1. 归纳整理 PHP大神的十大优良习惯

    2015年03月04日11:26 来源:程序师 作者:TECHUG 编辑:覃里 查看全文 赞(0)评论(0) 分享 标签: PHP , 编程指南 , PHP开源项目 [IT168 资讯] 1.多阅读手 ...

  2. php开源项目

    论坛社区:Discuz.PHPWind.ThinkSAAS.phpBB CMS内容管理:DedeCMS.PHPCMS.帝国CMS.齐博CMS.Drupal 企业建站:CmsEasy.KingCMS.P ...

  3. Linux+环境使用vim搭建php+IDE

    让我们开始DIY吧-!!终端下执行命令:whereis vim     将列出vim安装的路径. 否则执行 sudo apt-get install vim 安装vim .成功安装了vim,只需要在用 ...

  4. jquery 事件 多次绑定,多次触发,怎么清除历史绑定事件

    Jquery在处理事件的时候有时候会遇到预想不到的结果 如下 <a id="link_foo">Foo</a> <script type=" ...

  5. jira-cli,api,git,jenkins--version.txt

    cd ${WORKSPACE}/trunk/src/main/webapp/html/ echo $version | sed -e "s/X/${BUILD_NUMBER}/g" ...

  6. Simplest way to serve static data from outside the application server in a Java web application

    tomcat service.xml <Context docBase="/path/to/images" path="/images" /> re ...

  7. 设计模式:享元模式(Flyweight)

    定   义:运用共享技术有效地支持大量细粒度的对象. 结构图: 内部状态:在享元对象内部并且不会随环境而改变的共享部分. 外部状态:随环境改变而改变的.不可共享的状态. Flyweight类,具体享元 ...

  8. sql server2008企业版和标准版

    SQL Server 的企业版和标准版的License价格差5倍之多,在企业应用中,DBA 经常会被这个问题问住,本帖将日常工作实践中遇到到版本问题给出第一手资料,陆续补充…… SQL 2008 镜像 ...

  9. TCP keepalive overview

    2. TCP keepalive overview In order to understand what TCP keepalive (which we will just call keepali ...

  10. Advanced REST client的使用说明

    1.  为什么要使用REST Client 在实际企业开发过程中经常会有这样的需求: 1.我当前开发的这个系统是需要调用其他系统的接口,也就是我们需要频繁的测试接口,尝试不同的入参参数去查看返回结果, ...