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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
.cn 域名,1个 12个月
简介:
我们准备学习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 ,如需转载请自行联系原作者
相关文章
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
160 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
110 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
110 2
linux笔记 diff及patch的制作与使用
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
4月前
|
Linux Apache
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
|
4月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
4月前
|
Ubuntu Linux Shell
【linux】PetaLinux 2024.1安装笔记
【linux】PetaLinux 2024.1安装笔记
291 0
|
4天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
5天前
|
SQL 弹性计算 安全
阿里云上云优选与飞天加速计划活动区别及购买云服务器后续必做功课参考
对于很多用户来说,购买云服务器通常都是通过阿里云当下的各种活动来购买,这就有必要了解这些活动的区别,同时由于活动内的云服务器购买之后还需要单独购买并挂载数据盘,还需要设置远程密码以及安全组等操作之后才能正常使用云服务器。本文就为大家介绍一下目前比较热门的上云优选与飞天加速计划两个活动的区别,以及通过活动来购买云服务器之后的一些必做功课,确保云服务器可以正常使用,以供参考。
下一篇
DataWorks