web服务器配置实践
1.为linux系统分配IP地址:192.168.X.1/24,客户端XP系统IP地址为:192.168.X.2/24,其主要DNS指定为:192.168.X.1。
2.查询本机是否安装了httpd服务,结果显示已安装(默认已安装)
3.启动httpd服务
4.在linux系统中的火狐浏览器中打开本地回环地址127.0.0.1,可以看到测试页,说明服务正常启动
5.编辑Apache的主配置文件:vi /etc/httpd/conf/httpd.conf
1) 更改默认web站点根目录到 /var/wwwroot,并更改网站根目录的访问权限
2) 为默认web站点绑定域名www.example.com,即把Servername前面的注释符号#去掉
3)添加网站默认首页文件:index.htm,保存退出httpd.conf文件。
4)在/var目录下新建网站的根目录wwwroot。
5) 在wwwroot下新建网站首页文件index.htm,并通过vi命令在主页文件中写入文本:welcome to NO.X web site!
6 重新启动httpd服务,并在客户端XP通过服务器IP地址192.168.x.1访问该web网站,网站页面不能访问。
7.在防火墙中把WWW服务即80端口设为可信任服务,再通过XP访问只看到测试页面,仍然不能显示主页文件内容。
8.关掉selinux服务 (更改了网站根目录后,无法显示网站首页,这一步非常关键)
#setenforce 0
9. 最后在客户端XP通过服务器IP地址192.168.x.1访问该web网站,结果显示网站首页内容,测试通过
10.在本机配置DNS服务器,为网站添加A记录:www.example.com~192.168.x.1,最后通过域名www.example.com 在客户机XP系统访问默认网站。
11.创建虚拟目录web
1)编辑Apache的主配置文件:vi /etc/httpd/conf/httpd.conf,找到Alias关键字定义一个web的虚拟目录,实际路径是/var/web。
2)重启httpd服务,然后新建虚拟目录:#mkdir /var/web
3) 新建虚拟目录主页文件index.html,并写入文本:welcome to a Alias web site!
4)在XP系统通过地址:192.168.100.1/web访问虚拟目录,访问不成功
5)关闭selinux安全服务:#setenforce 0
6) 在XP系统通过地址:192.168.100.1/web访问虚拟目录,访问成功。
12. 多个IP创建虚拟主机站点
1)在linux系统中绑定多一个IP地址:192.168.X.2/24,重启网络服务,然后在apache中创建两个虚拟主机站点:A和B站点。
2)在/var下新建两个站点的根目录/var/A和/var/B,并在A和B下分别新建主页文件index.html,分别写入文本:welcome to NO.X.A site!、welcome to NO.X.B site!
3)编辑Apache的主配置文件:vi /etc/httpd/conf/httpd.conf,找到<VirtualHost>…<VirtualHost>语句添加基于A和B两个站点的虚拟主机代码:
保存退出,并重启httpd服务。
4)在XP系统通过两个IP地址访问A、B两个站点,正常显示两个站点首页内容。
13. 端口号法创建虚拟主机
1) 打开apache主配置文件,找到Listen 80语句,修改为:Listen 192.168.100.1:80,并加多一句:Listen 192.168.100.1:8080,用于监听两个端口号服务
2) 找到<VirtualHost>…<VirtualHost>语句添加基于A和B两个站点的虚拟主机代码:
保存退出。
3) 在XP通过IP地址+端口号访问两个站点:http://192.168.100.1:80、http://192.168.100.1:8080,A站点能成功,B站点失败。
4) 在防火墙界面中通过添加其它端口方法允许8080端口为可信任服务,或者通过编辑防火墙配置文件,添加规则,允许8080端口通过。
#vi /etc/sysconfig/iptables
5) 在XP通过IP地址+端口号访问两个站点:http://192.168.100.1:80、http://192.168.100.1:8080,A、B两个站点均能访问成功。
14.基于主机名的虚拟主机
1)编辑Apache的主配置文件:vi /etc/httpd/conf/httpd.conf,找到<VirtualHost>…<VirtualHost>语句添加基于A和B两个站点的虚拟主机代码:
保存退出,并重启httpd服务
2)在Linux系统中配置DNS服务,为A和B两个站点分别提供www.a.com、www.b.com的域名服务
3)安装完bind程序包后,进入DNS主配置文件,添加两个正向查找区域:a.com和b.com,一个反向查找区域100.168.192.in-addr.arpa,并分别新建正反向区域文件,添加对应的资源记录,添加成功后,重启DNS服务。
DNS主配置文件named.conf代码截图
区域文件a.com代码截图
区域文件b.com代码截图
反向区域文件192.168.100.arpa代码截图
4)重启httpd服务
5)在XP系统通过www.a.com、www.b.com访问两站点。
web服务器配置实践的更多相关文章
- Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》
首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...
- 【原创】我所理解的自动更新-外网web服务器配置
ClientDownload和ClientUpdate共享渠道配置信息: channel-0.php //以appstore的渠道为例 <?php define('APPNAME', 'TOKE ...
- ASP.NET Web API实践系列04,通过Route等特性设置路由
ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程.在"ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置"一 ...
- visual studio 2012打开提示 未能将网站×××配置为使用 ASP.NET 4.5 和 尚未在Web服务器上注册,您需要手动将Web服务器配置为使用ASP.NET 4.5
未能将网站×××配置为使用 ASP.NET 4.5.为了使此网站正确运行,您必须将它手动配置为使用ASP.NET 4.5. ASP.NET 4.5尚未在Web服务器上注册,您需要手动将Web服务器配置 ...
- 《高级软件测试》web测试实践--12月30日记录
考完数学,我们正式开始web测试实践的作业,今天,我们主要进行了方案的选择和人员的分工.任务计划和安排如上图所示. 任务进展:完成题目选择和人员分工: 遇到问题:暂无: 下一步任务:完成软件评测.用户 ...
- vs2012 aps.net 4.5尚未在web服务器上注册,您需要手动将Web服务器配置为
系统换成Windows10安装VS2012打开项目总提示:vs2012 aps.NET 4.5尚未在web服务器上注册,您需要手动将Web服务器配置为使用ASP.net 4.5,这样您的网站才可能正确 ...
- 20155326《网路对抗》Exp8 WEB基础实践
20155326<网路对抗>Exp8 WEB基础实践 实践内容 (1).Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写 ...
- 《响应式Web设计实践》学习笔记
原书: 响应式Web设计实践 目录: 第2章 流动布局 1. 布局选项 2. 字体大小 3. 网格布局 4. 混合固定宽度和流动宽度 第3章 媒介查询 1. 视口 2. 媒介查询结构 3. 内嵌样式与 ...
- 20145236《网络对抗》Exp8 WEB基础实践
20145236<网路对抗>Exp8 WEB基础实践 一.基础问题回答 什么是表单 表单在网页中主要负责数据采集功能 一个表单有三个基本组成部分: 表单标签 表单域:包含了文本框.密码框. ...
随机推荐
- ios开发之--从相机或相册选取图片,并带删除操作的demo
多选图片的一个效果,如下图:
- SegmentedControl的使用
原文 http://blog.csdn.net/hmt20130412/article/details/38390493 @UISegmentedControl类似于UIButton,它可以提供多个选 ...
- cut的用法【转】
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut [-bn] [file] 或 cut ...
- const T* 和 T* const
使用c++的时候,经常会在 const int *p 和 int * const p这个地方迷惑.这里记录一下: const int *p = int const *p //这里const后面的为* ...
- 【PHP】数字补零的两种方法
在php中有两个函数,能够实现数字补零, str_pad() sprintf() 函数1 : str_pad 顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串 例如:str ...
- java.lang.NoSuchMethodException:com.yxq.action.AdminAction.addGoods()《转载》
java.lang.NoSuchMethodException:com.yxq.action.AdminAction.addGoods() 在学习struts2的时有时会出现此异常,现将其总结如下 ...
- python实现HTTP代理的思路和Demo
一.首先什么是代理: 代理其实就是中间转发的那个玩意,所以在代码逻辑上也是如此的. 二.Python写http代理的基本逻辑: (1)接受浏览器发出的请求,解析,拼凑成该有的样子,然后使用套接字发出去 ...
- Add a try-catch with Mono Cecil
Adding exception handlers with Mono.Cecil is not difficult, it just requires you to know how excepti ...
- ios 监听设备旋转方向
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { if(fromI ...
- linux awk时间计算脚本
在linux如果计划时间是个麻烦事, 用awk脚本如下 BEGIN {FS=":";OFS=":"} {total_seconds=total_seconds+ ...