SuSE Apache2 VirtualHost Build
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的更多相关文章
- Ubuntu下安装和配置Apache2
http://www.blogjava.net/duanzhimin528/archive/2010/03/05/314564.html 在Ubuntu中安装apache 安装指令:sudo apt- ...
- Apache关闭VirtualHost的Log日志记录
有时我们的apache产生的日志是超大的并且 没什么用处,这时我们就可以关闭了,关闭apache日志很简单,直接ErrorLog off或 # CustomLog即可. Web server(ex: ...
- ubuntu下安装配置apache2(含虚拟主机配置)
在Ubuntu14.14中安装apache 安装指令: sudo apt-get install apache2 安装结束后: 产生的启动和停止文件是: /etc/init.d/apache2 启动: ...
- Linux(CentOS7)系统中部署Django web框架
1. 概述 部署django和vue架在逻辑上可以分为web层与数据库层:web前端通过实现了WSGI协议的模块对python代码进行解析,而python代码中则通过特定于数据库的操作接口对数据库进行 ...
- LAMP环境搭建,防火墙开启,数据库挂载在逻辑卷
具体要求: 1. 源码部署 LAMP 环境, 和生产保持一致 2. 静态资源文件同步生产环境 3. 需要同时部署 2 个 web 网站 步骤: 一. 需要的安装包. 提前准备好. apr-util-1 ...
- 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...
- linux下安装PHP5.5
下载安装包后,在安装php之前必须先安装libxml2,因此可以通过下载libxml2安装包,编译安装 我通过yum -y install libxml2 libxml2-devel(不安装这个的话, ...
- 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 ...
- 如何构建Docker镜像
构建Docker 镜像有如下两种方法: (一)使用docker commit命令.(二)使用docker build命令和 Dockerfile 文件.在这里并不推荐使用docker commit来构 ...
随机推荐
- ios-滚动导航条页面
// ViewController.m #import "ViewController.h" #import "ScrollSliderView.h" @int ...
- 【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(2)
Lighting和Shading(2)镜面反射的控制和模拟次级表面散射技术 http://www.4gamer.net/games/216/G021678/20140703095/index_2.ht ...
- ecshop中$user对象
ecshop中$user对象 2011-10-01 18:41:23| 分类: ECSHOP | 标签:ecshop $user 对象 |举报|字号 订阅 http://blog.163.c ...
- PHP file_get_contents函数读取远程数据超时的解决方法
PHP file_get_contents函数读取远程数据超时的解决方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了PHP file_get_contents函数读取 ...
- (转)Linux下MatlabCompilerRuntime的安装和使用
1MCR简介 MCR之前是 Matlab Component Runtime的缩写,后更名为Matlab Compiler Runtime.MCR实际上是一组独立的共享库,也即是常说的动态连接库,所起 ...
- 【转】最简单的CI框架入门示例--数据库取数据
1.下载CI框架(自己找) 2.配置 database.php配置: 为数据库服务器设置 connection 参数: $db['default']['hostname'] = "yo ...
- nodejs net模块实现socket
var net = require('net'); var client = net.connect({port: 8080}, function() { console.log('连接到服务器!') ...
- 【C】漫谈C语言随机数
来说说C语言如何产生随机数. 有人会说这不简单?time() + srand() + rand() 3个函数不就OK了吗? 是的,不过,我们还是来看看原理比较好,也就是随机数是如何产生的. 这不无聊. ...
- 大数据下的java client连接JDBC
1.前提 启动hiveserver2服务 url,username,password 2.程序 3.结果 emp的第一列与第二列
- NDK编译FreeImage
参考了 以下2篇文章 并作了一小点修改 http://recursify.com/blog/2013/05/25/building-freeimage-for-android http://blog. ...