RHCE考題-7.0版本rhel7.0考題


RHCE考題-7.0版本rhel7.0考題

 

RHCE Requirements
完成下列操作,當您收到成績時,這部分內容的成績會標識為RHCSA,並另有一個總分,您必須得到300分中的210分,或者210分以上才能獲得認證。
第一題:設定SELinux
第二題:配置防火牆
第三題:自定義用戶環境
第四題:配置端口轉發
第五題:配置鏈路聚合
第六題:配飾IPV6地址
第七題:配置本地郵件服務
第八題:通過SMB共享目錄
第九題:配置多用戶SMB掛載
第十題:配置NFS服務
第11題:掛載一個NFS共享
第12題:實現一個web服務器
第13題:配置安全web服務
第14題:配置虛擬主機
第15題:配置web內容的訪問
第16題:實現動態WEB內容
第17題:創建一個腳本
第18題:創建一個添加用戶的腳本
第19題:配置ISCSI服務端
第20題:配置ISCSI的客戶端
第21題:配置一個數據庫
第22題:數據庫查詢

做題的核心:

題目中的每個字我都認識,我卻不知道題目在說些什么,是基礎知識學的沒怎么理解,平常練習次數不夠,思考的不夠沒有形成自己的理解導致的
正確的做題是,看完題后你心里有一個很明確,很清晰的的做題步驟,知道先干嘛后干嘛,需要完成哪些:

1.創建文件
2.安裝軟件包
3.配置服務
4.設置權限或防火牆
5.測試是否OK
6.解決報錯問題,排除錯誤

考試中兩個系統的服務器
system1.group8.example.com 作為服務器
system2.group8.example.com 作為客戶端
兩個系統的root密碼為 redhat
系統的IP地址由DHCP提供,或者可以設置為靜態的IP地址
system1.group8.example.com 172.24.8.11/24
system2.group8.example.com 172.24.8.12/24
兩個系統的DNS域為group8.example.com
server.group8.example.com提供了認證的服務器group8.example.com
server.group8.example.com提供了YUM倉庫 URL是 http://server.group8.example.com/yum
做完之后需要關閉system2然后關閉system1 啟動的時候需要先啟動是system1然后啟動system2

reboot 重啟系統
poweroff 強制關機
shutdown 正常關機
--------------------------

RHCE共22題

RHCE Requirements
完成下列操作,當您收到成績時,這部分內容的成績會標識為RHCSA,並且另有一個總分,您必須得到300分鍾的210分或者210分以上
才能獲得認證

第一題:設置SELinux
第二題:配置防火牆
第三題:自定義用戶環境
第四題:配置端口的轉發
第五題:配置鏈路聚合
第六題:配置IPV6地址
第七題:配置本地郵件服務
第八題:通過SMB共享目錄
第九題:配置多用戶SMB掛載
第十題:配置NFS服務
第十一題:掛載一個NFS共享
第十二題:實現一個web服務器
第十三題:配置安全web服務
第十四題:配置虛擬主機
第十五題:配置web內容的訪問
第十六題:實現動態的WEB內容
第十七題:創建一個腳本
第十八題:創建一個添加用戶的腳本
第十九題:配置ISCSI服務端
第二十題:配置ISCSI的客戶端
第二十一題:配置一個數據庫
第二十二題: 數據庫查詢

設定SELinux

設定SELinux
在system1和system2上要求SELinux的工作模式為enforcing
要求系統重啟后依然生效

vim /etc/selinux/config
vim /etc/sysconfig/selinux
修改為
SELINUX=enforcing

setenforce 1
查看一下當前的狀態
getenforce

SSH遠程登錄到服務器上去
ssh root@172.24.8.12

vim /etc/sysconfig/selinux
修改為
SELINUX=enforcing

setenforce 1
查看一下當前的狀態
getenforce

配置防火牆

-----------------------
配置防火牆
請按下列要求在system1和system2上設定防火牆系統
允許group8.example.com域的客戶對system1和system2進行ssh訪問
禁止my133t.org域客戶對system1和system2進行ssh訪問
備注:my133t.org是在172.13.8.0/24 網絡

用圖形界面實現一下

firewall-config

 

 

查看一下當前的防火牆規則
firewall-cmd --list-all

使用命令行實現一下防火牆規則

查看防火牆幫助的命令
man firewalld.richlanguage
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'

firewall-cmd --reload
firewall-cmd --list-all

system2上也需要做一遍
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'

firewall-cmd --reload
firewall-cmd --list-all

如果規則寫錯了刪除
firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'

firewall-cmd --reload
查看一下是否刪除了
firewall-cmd --list-all

查看幫助 刪除規則的幫助
firewall-cmd --permanent --remove-

自定義用戶環境

自定義用戶環境
在系統system1和system2創建自定義命令為qstat 要求:
此自定義命令將執行以下命令:/bin/ps -Ao pid,tt,user,fname,rsz
此命令對系統中的所有用戶有效


vim /etc/profile 非登錄shell是不可讀取此文件的
vim /etc/bashrc

給一條命令起別名
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
寫入配置文件中去
vim /etc/bashrc
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
讓配置文件生效一下
source /etc/bashrc

source 與./ 的區別
source是指在當前shell中把文件執行了一遍
./ 重新打開了一個新的shell執行了一遍,當前shell中的寫入內容並沒有被這個新的shell讀取到

system2上也寫一遍
vim /etc/bashrc
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
讓配置文件生效一下
source /etc/bashrc
測試一下別名命令是否生效
qstat

配置端口轉發

配置端口轉發
在系統system1設定端口轉發,要求:
在172.24.8.0/24網絡中的系統,訪問system1的本地端口5423 將被轉發到80
此設置必須永久生效

 

 

用可視化圖形界面實現一下

firewall-config

 

查看一下當前的防火牆的規則信息
firewall-cmd --list-all

使用命令行實現一下
查看一下幫助
man firewall-cmd

man firewalld.richlanguage

firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.0/24" forward-port to-port="80" prorocol="tcp" port="5423"'

firewall-cmd --reload
firewall-cmd --list-all

驗證一下
配置一下YUM倉庫
cd /etc/yum.repos.d/
ls
cat *

vim rhce.repo
寫入
[rhce]
name=rhce
baseurl=http://server.group8.example.com/yum
enabled=1
gpgcheck=0

清空一下系統中yum的緩存
yum clean all
yum list all

測試一下端口轉發
yum -y install httpd
systemctl enable httpd
systemctl start httpd

firewall-cmd --permanent --add-service=http
firewall-cmd --reload
firewall-cmd --list-all

cd /var/www/html/
vim index.html
寫入
hello world

在非本地主機上訪問一下,本地訪問不能進行轉發,直接是5423
在瀏覽器中輸入
172.24.8.11:5423
或者用
curl http://172.24.8.11:5423

配置鏈路聚合

配置鏈路聚合
在system2和system1之間按以下要求設定一個鏈路:
此鏈路使用接口eth1和eth2
此鏈路在一個接口失效時仍然能工作
此鏈路在system1使用下面的地址172.16.3.40/255.255.255.0
此鏈路在system2使用下面的地址172.16.3.45/255.255.255.0
此鏈路在系統重啟之后依然保持正常狀態


添加一個虛擬網卡的配置文件
nmcli con add type team ifname team0 con-name

查看一下man幫助

man 5 teamd.conf 

nmcli con add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'
給虛擬接口配置IP地址
nmcli connection nodify team0 ipv4.addresses 172.16.3.40/24 ipv4.method manual
添加兩個物理網卡
nmcli con add type ethernet ifname eth1 conp-name eth1
nmcli con add type team-slave ifname eth1 conp-name eth1 master team0
nmcli con add type team-slave ifname eth2 conp-name eth2 master team0
開啟一下這個網卡
nmcli con up team0
查看一下當前的網卡配置信息
ifconfig
查看一下這個虛擬網卡的狀態
teamdctl team0 state

system2上也配置
man 5 teamd.conf
nmcli con add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'
給虛擬接口配置IP地址
nmcli connection nodify team0 ipv4.addresses 172.16.3.45/24 ipv4.method manual
nmcli con add type team-slave ifname eth1 conp-name eth1 master team0
nmcli con add type team-slave ifname eth2 conp-name eth2 master team0
nmcli con up team0
ifconfig
teamdctl team0 state

system2上測試是否ok
ping 172.16.3.40

查看一下這個虛擬網卡的team0的配置信息
vim /etc/sysconfig/network-scripts/ifcfg-team0

配置IPV6地址

配置IPV6地址
在考試系統上設定接口eth0使用下列IPV6地址:
system1上的地址應該是2003:ac18::305/64
system2上的地址應該是2003:ac18::30a/64
兩個系統必須能與網絡2003:ac18/64內的系統通信
地址必須在重啟后依然生效
兩個系統必須保持當前的IPV4地址並能通信

配置system1上的ipv6地址

查看一下網卡地址信息
nmcli con show
修改ipv6地址為手動的
nmcli con modify eth0 ipv6.addresses 2003:ac18::305/64 ipv6.method manual
重啟一下這個網卡
nmcli con up eth0
查看修改的網卡地址是否生效
ifconfig

配置system2上的ipv6地址
nmcli con modify eth0 ipv6.addresses 2003:ac18::30a/64 ipv6.method manual
nmcli con up eth0

在system1上ping6 system2的ipv6地址,測試是否ok
ping6 2003:ac18::30a

配置本地郵件服務

配置本地郵件服務
在系統system2和system1上配置郵件服務,要求:
這些系統不接受外部發送來的郵件
在這些系統上本地發送的任何郵件都會自動路由到mail.group8.example.com
從這些系統上發送的郵件顯示來自於server.group8.example.com
您可以通過發送郵件到本地用戶dave 來測試您的配置,系統server.example.group8.com 已經配置把此用戶的郵件轉到URL http://server.group8.example.com/pub/received mail/8

 

 

查看郵件的服務狀態
systemctl status postfix.service
修改郵件的主配置文件
vim /etc/postfix/main.cf
修改
inet_interfaces = localhost 為inet_interfaces = loopback-only
修改
relayhost = [an.ip.add.ress] 為relayhost = [mail.group8.example.com]
修改
myorigin = $mydomain 為myorigin = service.group8.example.com
修改
mydestination = $myhostname,localhost.$mydomain,localhost為mydestination =

重啟一下郵件服務
systemctl restart postfix.service

測試郵件發送
mail -s info dave
寫入
hello word

在瀏覽器中打開測試郵件地址查看是否能收到測試郵件

通過SMB共享目錄

通過SMB共享目錄
在system1上配置SMB服務,要求:
您的SMB服務器必須是STAFF工作組的一個成員
共享/common 目錄,共享名必須為common
只有group8.example.com域內的客戶端可以訪問common共享
common必須是可以瀏覽的
用戶andy必須能夠讀取共享中的內容,如果需要的話,驗證密碼是redhat

 


安裝SMB包
yum -y install samba samba-client.x86_64
重啟一下服務,加入到開機啟動中
systemctl enable smb nmb
systemctl start smb nmb
開機一下smb的防火牆
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

修改一下samba的配置文件
vim /etc/samba/smb.conf
修改
workgroup = MYGROUP 為workgroup = STAFF

創建共享目錄common
mkdir /common
chon -t samba_share_t /common/
semanage fcontext -a -t samba_share_t "/common(/.*)?"

cd /etc/selinux/targeted/contexts/files/file_contexts 參考"/common(/.*)?"
restorecon -v /common/
查看一下這個共享的權限信息
ll -dZ /common/

在配置文件中寫入
vim /etc/samba/smb.conf
寫入
[common]
path=/common
hosts allow=172.24.8.

設置andy的smba的訪問密碼redhat
smbpasswd -a andy

pdbedit -L
smbclient -L //172.24.8.11
smbclient //172.24.8.11/common -U andy

yum -y install samba-client

訪問一下共享文件common
smbclient //172.24.8.11/common -U andy

配置多用戶SMB掛載

配置多用戶SMB掛載
在system1通過SMB共享目錄 /devops ,並滿足下列要求:
共享名為devops
共享目錄devops 只能group8.example.com域中的客戶端使用
共享目錄devops 必須可以被瀏覽
用戶silene必須能以讀的方式訪問此共享,訪問密碼是redhat
用戶akira必須能以讀寫的方式訪問此共享,訪問密碼是redhat
此共享永久掛載在system2.group8.example.com上的/mnt/dev 目錄,並使用用戶silene作為認證任何用戶,可以通過用戶akira來臨時獲取讀寫權限

 


創建一個共享目錄
mkdir /devops
chcon -t samba_share_t/devops

修改配置文件
vim /etc/samba/smb.conf
寫入
[devops]
path=/devops
hosts allow=172.24.8.
write list =akira

設置共享目錄的權限
ll -d /devops/
chmod 777 /devops/
setfacl -m u:akira:rwx /devops/

將訪問用戶加入到samb數據庫中
smbpasswd -a silene
smbpasswd -a akira

測試本地是否可訪問
smbclient //172.24.8.11/devops -U silene

在system2上實現共享
smbclient -L //172.24.8.11
測試一下是否可登陸
smbclient //172.24.8.11/devops -U akira

創建掛載點
mkdir /mnt/dev
寫入掛載信息
vim /etc/fstab
寫入
//172.24.8.11/devops /mnt/dev cifs defaults,multiuser,sec=ntlmssp,username=silene,password=redhat 0 0


執行一下掛載
mount -a
查看掛載信息
df -h

yum -y install cifs-utils.x86_64
查看一下man幫助
man 8 mount.cifs

su - silene
cd /mnt/dev
cifscreds add -u silene 172.24.8.11

su - akira
cd /mnt/dev
cifscreds add -u akira 172.24.8.11

 

配置NFS服務

配置NFS服務
在system1配置NFS服務,要求如下:
以只讀的方式共享目錄 /public ,同時只能被group8.example.com域中的系統訪問
以讀寫的方式共享目錄 /protected,同時只能被group8.example.com 域中的系訪問
訪問/protected需要通過Kerberos安全加密,您可以使用下面URL提供的秘鑰
http://server.group8.example.com/pub/keytabs/system1.keytab
目錄/protected 應該包含名為project擁有人為andres 的子目錄
用戶andres能以讀寫方式訪問/protected/project

 

 


mkdir /public
mkdir /protected

vim /etc/exports
寫入
/public *.group8.example.com(ro,sync)
/pretected *.group8.example.com(rw,sync,sec=krb5p)

執行一下
exportfs -r
查看一下共享的權限
exportfs -v

下載秘鑰
wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system1.keytab
查看一下下載是否OK
ll /etc/krb5.
vim /etc/krb5.conf

測試一下system1的秘鑰是否有效
ktutil
rkt /etc/krb5.keytab
list


cd /protected/
mkdir project
chown andres project
查看project的權限信息
ll project
exportfs -v


yum list all |grep sssd
yum list all |grep krb5-work

將服務加入到開機啟動中
systemctl enable nfs-server
查看一下服務的狀態
systemctl status nfs-server

systemctl start nfs-server
systemctl status nfs-server

systemctl enable nfs-secure-server
systemctl restart nfs-server
systemctl restart nfs-secure-server

同步一下系統時間
ntpdate -u 172.24.8.254

設置防火牆
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
讓防火牆規則生效
firewall-cmd --reload

查看一下rpcbind服務 狀態
systemctl status rpcbind

掛載一個NFS共享

掛載一個NFS共享
在system2上掛載一個來自system1.group8.example.com的NFS共享,並符合下列要求:
/public 掛載在下面的目錄上 /mnt/nfsmount
/protected掛載在下面的目錄上 /mnt/nfssecure並使用安全的方式,秘鑰下載URL如下:
http://server.group8.example.com/pub/keytabs/system2.keytab
用戶andres能夠在/mnt/nfssecure/project上創建文件
這些文件系統在系統啟動時自動掛載

 

 

創建掛載目錄
mkdir /mnt/nfsmount
mkdir /mnt/nfssecure

將掛載目錄加入到開機啟動中
vim /etc/fstab
寫入
172.24.8.11:/public /mnt/nfsmount nfs defaults 0 0

查看一下共享信息
showmount -e 172.24.8.11

執行一下掛載
mount -a
查看掛載信息
df -h


下載秘鑰
wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system2.keytab
查看一下秘鑰文件是否下載OK
ll /etc/krb5.

將服務加入到開機啟動項中去
systemctl enable nfs-secure
開啟服務
systemctl start nfs-secure

將共享加入到開機啟動中去
vim /etc/fstab
寫入
172.24.8.11:/protected /mnt/nfssecure nfs defaults,sec=krb5p 0 0

執行一下掛載
mount -a
查看一下掛載信息
df -h

su -andres
cd /mnt/nfssecure
kinit
klist
exit

su -andres
klist
cd /mnt/nfssecure
ls
cd project/
touch file

創建一個腳本

創建一個腳本
在system1上創建一個名為/root/foo.sh的腳本,讓其提供下列特性:
當運行/root/foo.sh redhat ,輸出為fedora
當運行 /root/foo.sh fedora ,輸出為redhat
當沒有任何參數或者參數不是redhat 或者fedora時,其錯誤輸出產生以下的信息:
/root/foo.sh redhat |fedora

 

vim /root/foo.sh
#!/bin/bash
#注釋
if [ "$1" = "redhat" ];then
echo "fedora"
elif [ "$1" = "fedora" ];then
echo "redhat"
else
echo "/root/foo.sh redhat | fedora"
fi

給腳本添加可執行權限
chmod u+x /root/foo.sh
./foo.sh
./foo.sh xxx
./foo.sh redhat
./foo.sh fedora


case語句的判斷
case "$1" in
"redhat")
echo "fedora"
;;
"fedora")
echo "redhat"
;;
*)
echo "/root/foo.sh redhat |fedora"
;;
esac


給腳本添加可執行權限
chmod u+x /root/foo.sh
./foo.sh
./foo.sh xxx
./foo.sh redhat
./foo.sh fedora

創建一個添加用戶的腳本

創建一個添加用戶的腳本
在system1上創建一個腳本,名為/root/batchusers ,此腳本能實現為系統system1創建本地用戶,並且這些用戶的用戶名來自一個包含用戶名列表的文件,同時滿足下列要求:
此腳本要求提供一個參數,此參數就是包含用戶名列表的文件
如果沒有提供參數,此腳本應該給出下面的提示信息
Usage: /root/batchusers userfile 然后退出並返回相應的值
如果提供一個不存在的文件名,此腳本應該給出下面的提示信息 Input file not found 然后退出並返回相應的值
創建的用戶登錄shell為/bin/false
此腳本不需要為用戶設置密碼
您可以從下面的URL獲取用戶名列表作為測試用
http://server.group8.example.com/pub/userlist


chmod u+x /root/batchusers
vim /root/batchusers.sh
#!/bin/bash
#注釋信息
if [ "$#" = 0 ];then
echo "Usage:/root/batchusers userfile"
exit 10
elif [ !-f "$1" ];then
echo "Input file not found"
exit 20
else
for USER in $(cat $1)
do
useradd -s /bin/false $USER
done
fi

執行一下腳本測試一下
./batchusers ssss
./batchusers userlist
查看一下用戶是否添加進去了
cat /etc/passwd

配置ISCSI服務端

配置ISCSI服務端
配置system1 提供一個ISCSI服務,磁盤名為 iqn.2014-08.com.example.group8:system1,並符合下列要求:
服務端口為 3260
使用iscsi_store 作其后端邏輯卷名稱,其大小為3G
此服務只能被system2.group8.example.com 訪問

fdisk -l
lsblk
開始創建邏輯卷
fdisk /dev/sda
n
p
d
q 退出

fdisk /dev/sda
p
n
p
+4G
t
8e
p
w 保存

ll /dev/sda 查看一下新的分區是否更新到系統中去了
partprobe /dev/sda 將新的分區信息更新到系統內核中去
再次查看分區信息中是否有新的分區
ll /dev/sda

pvcreate /dev/sda3
vgcreate vg0 /dev/sda3
lvcreate -L 3G -n iscsi_store vg0
lvdisplay
安裝一個軟件包
yum -y install targetcli.noarch
systemctl enable target
systemctl start target
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

targetcli
ls
pwd
cd
cd backstores/
ls
cd block
ls

create /> pwd
cd backstores/block
create iscsi_store /dev/vg0/iscsi_store
ls
cd /
ls
cd iscsi
ls
create iqn.214-08.com.example.group8:system1
ls
cd iqn.214-08.com.example.group8:system1/tpg1/acls acls 訪問控制列表
ls

遠程登錄到system2上去查看它的iscsi名字是什么
ssh root@system2
cat /etc/iscsi/initiatorname.iscsi


繼續在system1上
create iqn.1994-05.com.redhat:57bcb2ccfc29
ls
cd ..
ls
cd iqn.214-08.com.example.group8:system1/tpg1/acls
ls
cd luns lun 邏輯單元號
create /b
create /backstores/block/iscsi_store
ll
cd ..
ls
cd ..
ls

pwd
cd tpg1/portals/
ls


刪掉之前添加的端口號
delete 0.0.0.0 3260
ls
help

重新創建一個新的端口
create 172.24.8.11 3260
ls
cd /
ls
saveconfig
exit
重啟一下服務
systemctl restart target

iscsiadm -m discovery -t st -p 172.24.8.11
iscsiadm -m node -l -T iqn.2014-08.com.example.group8:system1
iscsiadm -m node -l
fdisk -l

配置ISCSI客戶端

配置iSCISI的客戶端
配置system2使其連接在system1上提供的iqn.2014-08.com.example.group8:system1,並符合一下要求:
iSCISI設備在系統啟動的期間自動加載
塊設備iSCISI上包含一個大小為2100 MiB的分區,並格式化為ext4
此分區掛載在 /mnt/data 上,同時在系統啟動的期間自動掛載

cd /var/lib/iscsi/
ls
ls nodes/
ls send_targets/

刪除
rm -rf send_targets/*
rm -rf nodes/*

對設備進行分區
fdisk /dev/sdb
n
p
+2100M
w

ll /dev/sdb
格式化
mkfs.ext4 /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
寫入掛載信息
UUID="1231549879" /mnt/data ext4 defaults,_netdev 0 0


執行一下掛載操作
mount -a
df -h


卸載
umount /mnt/data/
關機
init 0

blkid 查看存儲設備的uuid

實現一個web服務器

實現一個web服務器
在system1上配置一個站點
http://system1.group8.example.com/,然后執行下述步驟:
從http://server.group8.example.com/pub/system1.html 下載文件,並且將文件重命名為index.html,不要修改此文件的內容
將文件index.html拷貝到您的web服務器的DocumentRoot目錄下
來自於group8.example.com域的客戶端可以訪問此web服務
來自於my133t.org域的客戶端拒絕訪問此web服務

 

安裝軟件包
yum -y install httpd-manual
yum -y install httpd
firewall-cmd --list-all
cd /etc/httpd/conf.d
ls
vim web.conf
<Virtualhost *:80>
DocumentRoot /var/www/web1
ServerName system1.group8.example.com
<Virtualhost>


cd /var/www/
ls
mkdir web1
cd web1
wget http://server.group8.example.com/pub/system1.html
mv system1.html index.html

重啟一下服務
systemctl restart httpd
cd /etc/httpd
cd /conf.d/
ls

vim web.conf
<Virtualhost *:80>
DocumentRoot /var/www/web1
ServerName system1.group8.example.com

<Directory /var/www/web1>
order deny,allow
deny from .my133t.org
allow from .group8.example.com
<Directory>
<Virtualhost>

重啟一下服務
systemctl restart httpd

配置安全web服務

配置安全web服務
為站點http://system1.group8.example.con 配置TLS加密;
一個已簽名證書從http://server.group8.example.com/pub/tls/certs/system1.crt 獲取
此證書的秘鑰從http://server.group8.example.com/pub/tls/private/system1.key 獲取
此證書的簽名授權信息從
http://server.group8.example.com/pub/tls/serts/ssl-ca.crt 獲取

 


下載秘鑰
cd /etc/httpd/
mkdir certs/
ls
wget http://server.group8.example.com/pub/tls/certs/system1.crt
wget http://server.group8.example.com/pub/tls/private/system1.key
wget http://server.group8.example.com/pub/tls/certs/ssl-ca.crt
安裝軟件包
yum -y install mod_ssl
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

ls
cd ..
ls
cd conf.d/
ls
vim ssl.conf
修改:
DocumentRoot "/var/www/web1"
ServerName system1.group8.example.com:443
修改
SSLCertificateKeyFile /etc/httpd/certs/system1.crt
SSLCertificateKeyFile /etc/httpd/certs/system1.key
SSLCertificateKeyFile /etc/httpd/certs/ssl-ca.crt

語法測試一下
httpd -t
重啟服務
systemctl restart httpd
在瀏覽器的地址欄中測試
http://system1.group8.example.com

配置虛擬主機

配置虛擬主機
在system1上擴展您的web服務器,為站點http://www8.group8.example.com 創建一個虛擬主機,然后執行下述步驟:
設置DocumentRoot為 /var/www/virtual
從http://server.group8.example.com/pub/www8.html 下載文件重命名為index.html ,不要對文件index.html的內容做任何修改
將文件index.html 放到虛擬主機的DocumentRoot目錄下
確保andy用戶能夠在/var/www/virtual 目錄下創建文件
注意:原站點 http:system1.group8.example.com 必須仍能夠訪問,名稱服務器server.group8.example.com 已經提供對主機名 www8.group8.example.com的域名解析

 

mkdir /var/www/virtual
cd /var/www/virtual
ls
wget http://server.group8.example.com/pub/www8.html
mv www8.html index.html

ll
setfacl -m u:andy:rwx /var/www/virtual/
getfacl /var/www/virtual/

cd /var/www/virtual/
ls
rm -rf *
ls
pwd

vim web.conf
寫入
<Virtualhost *:80>
DocumentRoot /var/www/virtual
ServerName www8.group8.example.com
</Virtualhost>

檢測一下語法
httpd -t
重啟一下服務
systemctl restart httpd
測試一下站點是否可以訪問
curl http://www8.group8.example.com

配置web內容的訪問

配置web內容的訪問
在您的system1上的web服務器的DocumentRoot目錄下,創建一個名為private的目錄,要求如下:
從http://server.group8.example.com/pub/private.html 下載一個文件副本到這個目錄,並且重命名為index.html
不要對這個文件的內容做任何修改
從system1上,任何人都可以瀏覽private的內容,但是從其他系統不能訪問這個目錄的內容

 

vim web.conf
<Directory /var/www/web1/private>
order deny,allow
deny from all
allow from 172.24.8.11 127.0.0.1

</Directory>

<Directory /var/www/virtual/private>
order deny,allow
deny from all
allow from 172.24.8.11 127.0.0.1

</Directory>


檢測語法
httpd -t
cd /var/www/
ls
cd web1/

重啟一下服務
systemctl restart httpd
mdir private
cd private/
ls
wget http://server.group8.example.com/pub/private.html
ls
mv private.html index.html
ls
cat index.html
cd ..
ls
cp -r private/ /var/www/virtual/
ls /var/www/virtual/
重啟一下服務
systemctl restart httpd


nslookup localhost

vim /etc/hosts
ping localhost

實現動態web內容

實現動態web內容
在system1上配置提供動態web內容,要求:
動態內容由名為 wsgi.group8.example.com 的虛擬主機提供
虛擬主機偵聽在端口8909
從http://server.group8.example.com/pub/webinfo.wsgi 下載一個腳本,然后放在適當的位置,無論如何不要修改此文件的內容
客戶端訪問 http://wsgi.group8.example.com:8909/ 時,應該接收到動態生成的web頁面
此http://wsgi.group8.example.com:8909/ 必須能被group8.example.com 域內的所有系統訪問

 

安裝一下軟件包
yum -y install mod_wsgi
查找一下配置文件
rpm -ql mod_wsgi
mkdir /var/www/web2
cd /var/www/web2
ls
wget http://server.group8.example.com/pub/webinfo.wsgi
ls

設置防火牆
firewall-cmd --permanent --add-port=8909/tcp
firewall-cmd --reload
查看一下SELinux
getenforce

寫入
listen 8909
<Virtualhost *:8909>
ServerName wsgi.group8.example.com
WSGIscriptalias /var/www/web2/webinfo.wsgi
</Virtualhost>

檢查一下語法
httpd -t
重啟一下服務
systemctl restart httpd
semanage port -a -t http_port_t -p tcp 8909
重啟一下服務
systemctl restart httpd


rpm -ql mod_wsgi

配置一個數據庫

配置一個數據庫
在system1上創建一個Maria DB數據庫,名為Contacts,要求:
數據庫應該包含來自數據庫復制的內容,復制文件的URL為http://server.group8.example.com/pub/users.mdb
數據庫只能被localhost訪問
除了root用戶,此數據庫只能被用戶Mary查詢,此用戶密碼為redhat
root用戶的數據庫密碼為redhat ,同時不允許空密碼登錄

 

下載一下這個數據庫
wget http://server.group8.example.com/pub/users.mdb
安裝數據包
yum -y install mariadb*
yum groupinstall mariadb
重啟一下服務
systemctl enable mariadb
systemctl start mariadb
設置防火牆
firewall-cmd --permanent -add-service=mysql
firewall-cmd --reload

mysql
mysql_secure_installation
y
y

用root用戶登錄一下數據庫
mysql -u root -p redhat
showdatabases;
創建一個數據庫
create database Contacts
查看一下數據庫是否創建
show databases;

導入數據
use Contacts;
source /root/users.mdb
show tables;

設置數據庫中Mary用戶的權限
grant select on Contacts.* to Mary@'localhost' identified by 'redhat';

 

用Mary用戶登錄數據庫測試
mysql -u Mary -p redhat
show databases;

use Contacts;
show tables;
select * from u_loc

數據庫查詢

數據庫查詢
在system1上使用數據庫Contacts,並使用相應的SQL查詢以下回答下列問題:
密碼是fadora 的人的姓名是什么
有多少人的姓名是John,同時居住在Santa Clara

 

use Contacts;
show tables;
select * from u_name;
查看表結構
describe u_name;
describe u_passwd;

select * from u_name,u_passwd where u_name.userid=u_passwd.uid and u_passwd.password='fadora';

firstname 是 名字
lastname 是 姓氏

 

describe u_loc;
select * from u_loc,u_name where u_loc.location='Santa Clara' and u_name.firstname='John' and u_loc.uid=u_name.userid;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM