RHCE认证培训+考试七天实录(一)-阿里云开发者社区

开发者社区> 科技小能手> 正文

RHCE认证培训+考试七天实录(一)

简介:
+关注继续查看

时隔三个多月,终于又再次来到济南参加RHCE认证的学习培训,还是那所培训机构,还是那位老师,只是同学们都换成了新面孔,而季节也由盛夏过度到了初冬。照例还是将每天的学习过程记录下来,为自己留下第一手的资料,同时希望也能为大家提供一些帮助。

第一天(11月26日)

第一天的主要内容是搭建Web服务器,这也是RHCE考试最重要的内容。
 
1、Apache概述
在Linux系统中使用Apache实现Web服务器,互联网中大约60~70%的Web服务器基于Apache实现。Apache来源于NCSA(由欧洲量子实验室开发),现在由Apache软件基金会(ASF)负责管理和开发,其官网为httpd.apache.org。

Apache的特点:开源,模块化设计(可以灵活添加各种功能),跨平台应用(可以用于Windows、UNIX/Linux系统)。缺点:默认只有256个并发连接,运行速度偏慢,效率较低。目前已经出现了一些取代它的软件,如nginx。

Apache有两个版本分支:1.x和2.x,目前使用的都是2.x版本,最新版本为2.2.15。
Apache的服务进程为httpd,查看系统中是否已安装Apache:
[root@localhost ~]# rpm -qa | grep httpd
httpd-tools-2.2.15-15.el6_2.1.x86_64
如果Apache没有安装,可以用yum安装:
[root@localhost ~]# yum install httpd httpd-manual
httpd-manual是Apache的帮助手册。
Apache的一些常用命令:
# service httpd start        启用httpd服务
# service httpd stop        停止httpd服务
# service httpd status       查看httpd服务的状态
# service httpd restart      重启httpd服务
httpd服务启动之后会开放80端口,利用netstat命令查看系统开放的端口:
[root@localhost ~]# netstat -an | grep :80
只要80端口开放,www服务器就可以正常访问,如果有问题,多半是防火墙的原因。
另:在/etc/services中注明了所有的端口对应的服务。可以用grep命令在其中查找相应端口的信息。
 
2、httpd.conf配置文件
Apache的配置文件是/etc/httpd/conf/httpd.conf,服务器的配置信息全部存储在这个文件中,如果修改了配置文件,就必须重启httpd服务才可以生效。
httpd.conf文件中的内容非常多,用wc命令统计一共有1004行,其中大部分是以#开头的注释行。所以对httpd.conf的配置一般采用搜索的方式对常用项目进行设置,在vim命令模式下输入“/”,后面跟上要搜索的内容。

下面是配置文件中的一些比较重要的设置项目。

   apache的默认主目录
DocumentRoot "/var/www/html"
如果更改了主目录的位置(不是在/var/www目录下),需要用“setenforce 0”命令将SELinux关闭,所以主目录一般不建议更改。
   apache的默认主页
DirectoryIndex index.html index.html.var
    默认侦听的端口
Listen 80           
   客户端在访问Apache服务器时默认使用的用户apache和组apache
User apache
Group apache
 
例题1:为站点http://server14.example.com创建一个web服务器,然后执行下述步骤:
   从ftp://192.168.0.254/pub/station.html下载文件,并且将文件重命名为index.html。
   将文件拷贝到web服务器的主目录下,不能对文件index.html的内容做任何修改。
   我的电脑的IP为192.168.0.114,域名server14.example.com与IP的对应关系已经在DNS服务器中创建好了。
操作步骤:
首先从服务器下载文件:
[root@server14 ~]# wget ftp://192.168.0.254/pub/station.html
将文件改名并移动到主目录中:
[root@server14 ~]# mv station.html /var/www/html/index.html
打开浏览器,输入网址http://server14.example.com,可以正常访问页面,操作完成。
 
3、构建虚拟主机
虚拟主机指的是在同一台服务器中运行多个Web站点。
有三种技术可以实现虚拟主机。
基于域名的虚拟主机:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的。例如,www.example.com和www.accp.com站点的IP地址都是192.168.0.1。这是使用最为普遍的虚拟主机类型。
基于IP地址的虚拟主机:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛
基于端口的虚拟主机:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。此种方式也很少使用。
在RHCE考试中只考察基于域名的虚拟主机。
例题2:扩展您的服务器,为站点http://www14.example.com创建一个虚拟主机,然后执行下述步骤:
  设置主目录为/var/www/virtual
  从ftp://192.168.0.254/pub/www.html下载文件,并且将文件重命名为index.html。
  将文件index.html放到虚拟主机的主目录下,不要对文件的内容做任何更改。
  确保harry用户能够在/var/www/virtual目录下创建文件。
操作步骤:
同样的,www14.example.com与IP的对应关系已在DNS服务器中设置好了。
首先创建虚拟主机的主目录:
# mkdir /var/www/virtual
从服务器下载文件:
[root@server14 ~]# wget ftp://192.168.0.254/pub/www.html
将文件改名并移动到主目录中:
[root@server14 ~]# mv www.html /var/www/virtual/index.html
修改配置文件httpd.conf:
[root@server14 ~]# vim /etc/httpd/conf/httpd.conf
按G将光标移动到文件末尾,增加如下内容:
NameVirtualHost 192.168.0.114
<VirtualHost 192.168.0.114>
    DocumentRoot /var/www/virtual/
    ServerName www14.example.com
</VirtualHost>
在末行模式下按wq保存退出。
这些增加的内容的含义:
    NameVirtualHost 192.168.0.114
表示在192.168.0.114这台主机上启用虚拟主机功能。
    <VirtualHost 192.168.0.114>……</VirtualHost>
这是虚拟主机的标准格式,每增加一台虚拟主机就要添加这样一个段落。
     DocumentRoot /var/www/virtual/
指定虚拟主机的主目录。
     ServerName www14.example.com
指定虚拟主机的域名。
最后将httpd服务重启后生效。
# service httpd restart
打开浏览器,在地址栏中输入http://www14.example.com/,就可以访问虚拟主机站点了。
 
4、访问控制
对Apache网站的访问控制可以采用基于用户的访问控制,或是基于客户机地址的访问控制两种方式。
(1)基于用户的访问控制
注意,此用户与系统用户没有任何关系。
例题3:设置网站server14.example.com下面的private子目录需要通过用户身份验证才能访问,只有输入用户名harry或natasha以及相应的密码才能访问。
操作步骤:
首先创建子目录:
# mkdir /var/www/html/private
然后在子目录中创建网页:
# vim /var/www/html/private/index.html
下面修改配置文件httpd.conf,在文件末尾增加下面的部分:
<VirtualHost 192.168.0.114>
    DocumentRoot /var/www/html/
    ServerName server14.example.com
<Directory /var/www/html/private>
    AuthName "test"
    AuthType Basic
    AuthUserFile /etc/httpd/conf/.htpasswd
    require valid-user
</Directory>
</VirtualHost>
其中的设置项目的含义:
    <Directory /var/www/html/private>……</Directory>,表示对目录“/var/www/html/private”进行访问控制设置。
     AuthName:定义受保护的领域名称,将在弹出的认证登陆对话框中显示。
     AuthType:设置认证的类型,Basic为基本认证
     AuthUserFile:设置用于保存用户帐号、密码的认证文件路径。(可以自由定义)
     require valid-user:授权给认证文件中的所有有效用户
最后这一项也可以写成“Require User [用户名]”,指定一个用户名,这样无论认证文件中如何定义,只有该用户可以访问。
设置完成后,保存退出httpd.conf。
接下来创建存储认证用户账号及口令的文件:
# htpasswd –cm /etc/httpd/conf/.htpasswd harry
-c,创建文件   -m,MD5加密
如果要再加入别的用户,需要去掉-c选项
# htpasswd –m /etc/httpd/conf/.htpasswd natasha
重启httpd服务,配置完成:
# service httpd restart
(2)基于客户机地址的访问控制
考试时只考察这种方式,这种方式相对比较简单。
例题4:设置网站server14.example.com下面的private子目录只允许在本机访问(本机IP:192.168.0.114)。
修改配置文件,增加下面的部分:
# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.0.114>
    DocumentRoot /var/www/html/
    ServerName server14.example.com
<Directory /var/www/html/private>
   Order allow,deny
   Allow from 192.168.0.114
</Directory>
</VirtualHost>
其中的设置项目的含义:
     Order allow,deny   定义控制顺序,先允许后拒绝,默认拒绝所有。
     Allow from 192.168.0.114 设置允许访问的地址,地址可以是多个,如Allow from 192.168.0.114 192.168.0.115。再如
Allow from 192.168.0.0/24
Deny from 192.168.0.100
表示只允许192.168.0.0/24网段中的主机访问网站,192.168.0.100除外。
设置完成后,保存退出httpd.conf。
重启httpd服务生效:
# service httpd restart
此时只有IP为192.168.0.114的主机(也就是本机)能访问这个网站。
5、实现https安全访问
实现https访问,首先需要为web站点申请证书,由于还没有搭建CA服务器,这里就使用本机自认证的证书。
apache默认并不支持安全访问功能,所以需要为apache安装ssl模块:
# yum install mod_ssl
另外,https不支持虚拟主机技术,在一台服务器上只允许有一个启用该功能的网站。所以这里还要把之前配置的虚拟主机的相关行前面加“#”,将之全部注释掉。
做完上面的设置后,在客户机就可以使用https方式访问网站了。
 
6、构建LAMP平台
LAMP即Linux、Apache、MySQL、PHP,使用它们可以构建出目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境。
首先在系统中安装mysql和php:
# yum install httpd mysql mysql-server php php-mysql
在网站主目录中生成一个php的测试网页:
# vim /var/www/html/a.php
<?php
phpinfo();
?>
保存退出。
然后在浏览器中输入server14.example.com/a.php就可以打开PHP的信息页面。
例题5:利用LAMP搭建一个bbs论坛。
这里用到的论坛程序是Discuz!,首先从服务器里下载Discuz!的压缩文件包Discuz_X2.5_SC_UTF8.zip,将之解压到网站主目录中:
# cd /var/www/html
# uzip Discuz_X2.5_SC_UTF8.zip
解压后会生成一个名为upload的目录,这是bbs的主目录,将之改名为bbs:
# mv upload bbs
重启数据库:
# service mysqld start
指定数据库的管理员及密码(注意,此root并不是Linux系统的根用户root)
# mysqladmin –u root password “123”
重启httpd服务:
# service httpd restart
在浏览器中输入“server14.example.com/bbs”,打开论坛的设置界面:
 
检查安装环境,要保证所有项目都是绿勾:
 

安装数据库,并设置管理员账户admin及密码:

 

安装完成后,关闭浏览器,再次打开浏览器,在地址栏中输入“server14.example.com/bbs”,就可以正常打开论坛的首页,输入用户名admin及密码登录:

 

进入“管理中心”,在“论坛”选项卡中可以对论坛中的版块进行设置:

 

返回首页,就可以看到我们搭建好的论坛了:

 

 
 
 
 本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1071201

 

 


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一张贴纸破解顶级FaceID,华为新研究让人脸识别不再安全
用来刷脸解锁的 Face ID 也可以被「对抗样本」攻击了。最近,来自莫斯科国立大学、华为莫斯科研究中心的研究者们找到的新型攻击方法,让已经广泛用于手机、门禁和支付上的人脸识别系统突然变得不再靠谱。
6 0
在 IJCAI 2019 上,阿里不仅贡献了 11 篇论文,还展示了最新的 AI 技术
澳门举行的人工智能顶会 IJCAI 2019 因为正值大会创立 50 周年而备受瞩目。在这场盛会上,国内科技巨头阿里巴巴展示了自己面向文娱和安全两大方向的最新技术。
5 0
解决自然语言歧义问题,斯坦福教授、IJCAI 卓越研究奖得主提出 SenseBERT 模型
自然语言理解和生成对于 AI 系统来说是一大难题,语言的复杂性和模糊性对 AI 系统提出了很大挑战。今天,斯坦福教授、IJCAI 卓越研究奖得主 Yoav Shoham 创办的公司 AI21 Labs 提出一种能够显著提升词汇消歧能力的新模型,并发布了可控性优于其他前沿文本生成系统的「HAIM」。AI21 Labs 的愿景是构建「具备前所未有的优秀自然语言理解和生成能力」的 AI 系统。
4 0
【2020 Java基础快速学习路线】写了很久,这是一份最适合普通大众、非科班的路线
【2020 Java基础快速学习路线】写了很久,这是一份最适合普通大众、非科班的路线
5 0
云迁移SaaS如何入驻阿里云工具应用市场
HyperMotion SaaS是一款基于云原生理念开发的云迁移和云灾备的SaaS平台,2020年7月,HyperMotion迁移版本正式入驻阿里云工具应用市场。用户登陆阿里云后,可以直接以SaaS模式使用产品,而无须再到云市场启动实例的方式。由于与阿里云的用户体系、RAM系统、支付系统彻底打通,用户在使用感受上更加便捷。
6 0
想学习,无方法,十年老码农告诉你方法
想学习,无方法,十年老码农告诉你方法
5 0
四所中国高校夺冠三大赛道,这场24个国家2500多支队伍角逐的算法竞赛刚刚落幕
可以「欺骗」神经网络的对抗样本是近期计算机视觉,以及机器学习领域的热门研究方向。为了让 AI 能够抵御攻击,研究人员一直在寻找构建稳固机器学习算法的道路。最近,在国际顶级人工智能大会 IJCAI 上,一场有关人工智能安全的攻防战落下了帷幕。
6 0
Oracle最新的Sql笔试题及答案
Oracle最新的Sql笔试题及答案
5 0
教妹学Java(六):JDK,JRE和JVM之间有什么区别?
教妹学Java(六):JDK,JRE和JVM之间有什么区别?
4 0
教妹学Java(七):究竟什么是JVM?
教妹学Java(七):究竟什么是JVM?
4 0
14426
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载