RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(1)

简介:
我们准备学习apache服务器,做apache需要DNS服务器,大家要把自己的DNS服务器调试好,排错很简单
1、使用named-check 命令检查配置文件
2、查看日志文件的提示
3、检查自己的网络还有主机环境设置是否正确
named-checkzone  域名   区域文件
image
WEB服务器的架设,在linux有一个很著名的架构叫lamp:linux+apache+mysql+php
我们主要说apache,但是有兴趣的,可以去鸟站找phpbb,是一个论坛的软件,基于lamp架构,挺简单,有兴趣就可以自己去安装来调试下
先简单介绍下http协议吧
WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里。当使用超文本作为WWW文档的标准格式后,人们开发了可以快速获取这些超文本文档的协议——HTTP协议,即超文本传输协议
HTTP是应用级的协议,主要用于分布式、协作的信息系统。HTTP协议是通用的、无状态的,其系统的建设和传输与数据无关。HTTP也是面向对象的协议,可以用于各种任务,包括名字服务、分布式对象管理、请求方法的扩展、命令等。
http和https分别使用80、443端口
在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也可以使用其他端口。
Web服务的实现采用客户/服务器模型
客户机运行WWW客户程序——浏览器,它提供良好、统一的用户界面。浏览器的作用是解释和显示Web页面,响应用户的输入请求,并通过HTTP协议将用户请求传递给Web服务器
Web服务器运行服务器程序,它最基本的功能是侦听和响应客户端的HTTP请求,向客户端发出请求处理结果信息。
Web服务通常可以分为两种:静态Web服务和动态Web服务。
这就是http的运行原理了
1.Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。
2.若该服务器在特定端口(通常是TCP 80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接
3.服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。Web浏览器接收到文档后,就将它显示出来。
4、当客户端浏览完成后,就断开与服务器的连接。
image
linux下的web服务器,软件使用的apache大家应该知道吧,apache也是美国军方的一种大型直升机
开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。渐渐地,它开始在功能和速度上超越其他Web服务器。由于Apache服务器拥有牢靠可信的美誉,因此从1995年1月以来,Apache一直是Internet上最流行的Web服务器
后台进程:httpd 
脚本:/etc/rc.d/init.d/httpd 
使用端口:80(http),443(https) 
所需RPM包:httpd 
配置路径:/etc/httpd/* 
默认网站存放路径:/var/www/*
优点:免费,稳定,速度快
下面我们先安装apache
yum  install “httpd*” 或rpm安装、不过自己喜欢编译也可以
/config 
make  && make install 
image
安装好了,启动apache,有特殊要求的可以自己编译,但是我们现在用不了那么深
而且编译的不可以自动升级,升级软件只有找新版本的重新编译安装配置
image
我们学apache主要学会以下基本功能
httpd.conf文件的格式  
Web服务的基本配置  
创建虚拟目录 
设置目录权限 
用户认证 
虚拟主机的配置
 
先介绍下apache的常用目录
这个是apache的所有配置文件存放的目录
image
这个是网页文件存放目录,一般在html内
image
apache的主配置文件
image
请大家用自己熟悉的编辑器打开吧
httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成。每部分都有相应的配置语句,该文件所有配置语句的语法为“配置参数名称 参数值”的形式。
httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)
httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号表示注释。 
全局配置的相关参数,全局的参数一般不用改哦
ServerType 
选择系统激活服务器的方式。可以是inetd或standalone
默认应该是独立的stationalone 
ServerRoot 
设定Apache 安装的绝对路径
image
TimeOut 
设定 服务器接收至完成的最长等待时间
image
KeepAlive 
设定服务器是否开启连续请求功能,真实服务器一般都要开启
  image
image
image
image
image
Port 
设定http服务的默认端口。
User/Group 
设定 服务器程序的执行者与属组,这个一般是apache
提示一点,如果RHCE考试的时候,题目让你修改存放网页文件的权限,比如是750,这样你一定要注意了,所有用户的读取权限里没有了,apache对网页文件的读取权限也没有了,网站也不能正常访问的,所以你需要修改组为apache或者使用acl给apache用户访问权限,修改为755可以,这个看题目要求,考试的测试网页是html的,就简单的字符,能访问就行了,你别去改全局的什么连续请求啊,最大闲置进程啊之类的,考试嘛,能达到效果就OK,不是做优化 
一般在apache里,都说用户,这个组没多大意思的,是建立用户的时候就建立默认组了,网页的所有组或者所有者改成apache
ps:
/dev/null 是编程使用 把错误输出导进去
zero是无限零资源设备,在测试lvm和quota的时候使用
/dev/null是黑洞,给他什么吃什么。/dev/zero是太阳取之不尽用之不竭。嘿嘿我们老师说的。很经典
o(∩_∩)o...
######################Michael分割线###########################
我们简单介绍了apache,下面我们就开始实战
image
打开firefox,输入自己的域名
image
如果能看见红色的redhat的测试页面,就证明你的安装没有问题,如果看不见,你就要从新安装,或者调试你的网络了,我们说过,网页文件默认是放在/var/www/html中的,我们现在就自己去写个网页,简单的,来测试下
image
然后重新访问你的服务器,看看有什么变化
image
这个是默认的情况,我从网页down个网页,我现在把他放到/var/www/html中去
打开主配置文件,搜索index.html
image
看见DirectoryIndex了么,这个位置就是定义主页文件的名字的,自己可以随意修改,但是一般网页开发都写成了index.html,index.htm default.html 等等,所以你也最好这样写
image
我添加了一个index.php ,方便一会我们测试apache支持php,如果找不到,系统会出现redhat的测试页面,你可以,试试
image
搜索/var/www/html
image
documentRoot 就是定义网站的默认网站存放目录,如果考试要让你修改默认网站目录的位置,你就需要修改这个位置
image
现在我们测试把默认网站目录改到root家目录下
第一步,修改DocumentRoot这个位置
第二步,修改目录的权限设置
image 
保存退出并重启httpd服务
image
启动失败了,我们把selinux暂时关闭了,测试看是不是selinux的原因,用setup 来关闭selinux
image
image
image
image
image
关闭后httpd服务就启动起来了
image
但是权限还是不对,直接再次搜索/var/www/html 找到就改成新的目录就可以了,因为/root目录的权限是750,所以apache用户没有访问权限,我们要给apache用户访问权限,简单点改成755就可以了
image
image
建个PHP页面哈~
image
image
现在就可以访问了,下面我们要解决的就是selinux的问题,我们现打开selinux
image
再次访问
image
又是权限拒绝了,我们就需要修改selinux的上下文了
使用chcon 命令来修改上下文
-R 是递归修改,连目录里面的一起修改
--reference  是拷贝 /var/www/html的上下文应用到/root/web下去
ls -Z是查看文件的上下文
image
修改上下文后,就又可以访问了
image
######################Michael分割线###########################
下面我们就讲虚拟机主机
1、基于名称的虚拟主机
查看你的DNS服务器,是否对你服务器做出了两个正向解析
image
我的有三个正向解析,说说基于名称的虚拟机主机吧,这个是现在很常用的技术,一个服务器放一个公司的网页不现实,一般都是放了几个公司的网站,但是服务器怎么区分用户访问网站呢?,这就是虚拟主机技术,虚拟机主机有基于域名和基于IP两种方法,一般使用基于域名的,应为现在IPV4的公网IP很珍贵的,如果一个网站一个IP,那么就会浪费掉很多IP,如果使用域名就不会有这种浪费
我们实现基于域名的虚拟机主机
步骤 
1、需要两个域名解析到你的服务器,我的是 
server.michael.com   192.168.8.188 
[url]www.michael.com[/url]      192.168.8.188
2、建立/var/www/server 目录,用于存放server.michael.com的网站
3、给/var/www/server 和/var/www/thml分别放入网站,内容要不一样,方便我们区分
image
5、修改配置文件
取消NameVirtualHost这行的注释,并写入你服务器的IP地址,这条的意思是启用基于名称的虚拟机主机
然后在最后写入虚拟机主机的内容
<>是主机通告,前后要对应 
serveradmin 是管理员邮箱 
documentroot  是网页目录 
servername   是域名 
下面两个是日志文件
image
由于我们两个虚拟主机,所以我们写两个,如果有多个,你就需要定义多个,完成后保存退出,重启服务后就可以测试了
image
image
image
######################Michael分割线###########################
下节课我们继续讲,基于IP地址的虚拟主机,如何提供网站下载,如何使用apache自带的basic认证,如何支持php和jsp,还有支持cgi
配置步骤 
1、添加一个虚拟机网卡,并配置一个IP地址
临时使用,重新启动网卡消失
image
2、基于上面的操作,修改配置文件
注释掉这行,取消基于域名的虚拟主机
image
下面只需要修改virtualhost 的IP地址,多了一个临时的虚拟网卡,这个虚拟网卡上也配置了IP地址
image
image
注意地址栏的IP地址不同哦
image
image
下一个功能,基于web页面的资源下载
使用别名来实现,当然别名也可以实现网站目录转换
下面我们来看看别名的配置
修改配置文件
image
搜索Alias,找到下面的位置
image
我们现设置一个别名对我们刚才那个网站的访问
image
/test 是别名名称
/root/web/site 是真实位置
注意真实位置的权限和selinux上下文一定要正确。注意,Directory是对你真是目录的权限设置,我们刚才修改默认家目录都修改过了,所以这里我们就不用修改了
保存退出测试
image
注意我的地址栏的写法
image
这个也是别名的一个功能,当然别名还能实现用户主页的功能
下面我们来实现网页的资源下载
1、添加别名
2、对/VAR/FTP/PUB目录设置权限
image
options选项必须要有Multiviews参数,然后保存退出,重启测试
image
image
就出现了貌似FTP的东西,可以提供资源下载
下一个功能,basic基本认证,基于用户名和密码
1、修改配置文件
基于我们刚才的down别名设置
image
提示一下 
<>里面是目录
Authtype 是认证类型 Basic apache自带的基本认证
Authname  认证名字,是提示你输入密码的对话框的提示语
Authuserfile  是存放认证用户的文件
require user  允许指定的一个或多个用户访问,就是后面跟的redking用户
如果认证文件里面还有其他用户,还是不能访问
require valid-user  的话,就是所有认证文件里面的用户都可以访问
require group 授权给一个组,这个参数很少用
下面我们开始创建认证用户文件
image
这样就创建了一个redhat用户,重新启动服务器,测试效果
image
可以访问
image
还有一种是更灵活的认证方式,这种认证需要修改配置文件,当然用户是没有权限修改配置文件了,他想使用认证怎么办?这个就使用基于目录的认证,把认证文件放在用户可以管理的主业目录内,这样用户就可以随意修改了
我们对/var/www/html目录进行设置
image
image
访问192.168.8.188就可以访问到/var/ww/html目录
image
下面我们在目录内放入认证文件
image
image
然后创建用户51cto
image
重新启动服务器,并测试
image
image
image
OK,测试成功,还有4个内容,我们下季在讲吧,cgi的支持,php的支持,jsp的支持,https的配置
######################Michael分割线###########################









本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/151561 ,如需转载请自行联系原作者
相关文章
|
13天前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
65 24
|
2天前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
1月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
167 28
|
1月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
119 28
|
1月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
88 17
|
1天前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
24 12
|
10天前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
63 23
|
9天前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
104 16
|
2月前
|
Linux
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
180 56
|
1月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
127 24

热门文章

最新文章