当前位置: 首页 > news >正文

SUSE Linux 11架设Apache虚拟主机

 

http://www.linuxidc.com/Linux/2013-06/86429.htm

 

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文件)

<VirtualHost *:80> 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 </VirtualHost>

上述配置文件内容与虚拟主机创建要求一一对应: ServerAadmin—虚拟主机管理员邮箱 DocumentRoot—虚拟主机文件目录 ServerName—服务名称,就是访问地址 ErrorLog—错误日志 CustomLog—访问日志,combined是日志格式的一种,兼容所有日志格式 用同样方法配置virtual2.conf文件 修改apache2的主配置文件添加站点信息 vim /etc/apache2/httpd.conf

找到Include /etc/apache2/vhosts.d/*.conf这一行,这一行是代表加载所有虚拟主机配置信息。

在这一行下边添加:(其不在这里写也行,为了维护方便)

<Directory "/srv/www/htdocs/virtual1/">  Options Indexes FollowSymlinks  AllowOverried All  Order allow,deny  Allow from all </Directory> <Directory "/srv/www/htdocs/virtual2/">  Options Indexes FollowSymlinks  AllowOverried All  Order allow,deny  Allow from all </Directory>

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

其实上述内容不写在httpd.conf,写在vhost.conf内也可以:

<VirtualHost *:80> ServerAdmin webmaster@robinzs.com ServerName virtual1.robinzs.com DocumentRoot /srv/www/vhosts/ <Directory "/srv/www/vhosts/">  Options All  AllowOverride All  Order deny,allow  Allow from all </Directory> </VirtualHost>

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

 

 

创建相应站点文件与目录

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

 

 

用浏览器访问测试

输入域名

virtual1.robinzs.com 本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2013-06/86429.htm

转载于:https://www.cnblogs.com/boowii/p/6434990.html

相关文章:

  • PCL点云库在VS2010下的编译环境配置
  • MapReduce机制
  • json反序列化成实体存入数据库
  • C/C++自实现的函数(memset, memcpy, atoi)
  • yii2之创建管理员
  • 使用Hive Rest API 连接HDInsight
  • oracle 批量改temp/data/redo file的路径
  • MAPZONE GIS SDK接入Openlayers3之三——瓦片数据集接入
  • php学习1
  • 机器学习之线性回归---logistic回归---softmax回归
  • php导出pdf
  • 10第十一天JDBC事务控制管理
  • 预处理指令
  • 我个人对c#基础的理解和总结
  • Java学习笔记【十二、网络编程】
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【刷算法】从上往下打印二叉树
  • Angular4 模板式表单用法以及验证
  • Create React App 使用
  • Docker 笔记(2):Dockerfile
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Java知识点总结(JavaIO-打印流)
  • js递归,无限分级树形折叠菜单
  • js写一个简单的选项卡
  • vuex 笔记整理
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 老板让我十分钟上手nx-admin
  • 微服务入门【系列视频课程】
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 《天龙八部3D》Unity技术方案揭秘
  • hi-nginx-1.3.4编译安装
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​低代码平台的核心价值与优势
  • ​批处理文件中的errorlevel用法
  • #前后端分离# 头条发布系统
  • (13):Silverlight 2 数据与通信之WebRequest
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (rabbitmq的高级特性)消息可靠性
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • **python多态
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 中插件式开发实现
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .Net多线程总结