联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

RHEL8.0安装+基础命令练习+discuz(lamp)论坛搭建

作者:小教学发布时间:2023-10-03分类:程序开发学习浏览:78


导读:上课练习环境:RHEL8.0系统镜像下载:链接1:https://pan.baidu.com/s/1wX2j-aTO1VRcHQYpCDYnEg提取码:6buv链接2...

上课练习环境:

RHEL8.0系统镜像下载:

链接1:https://pan.baidu.com/s/1wX2j-aTO1VRcHQYpCDYnEg 提取码:6buv

链接2:https://ws28.cn/f/32i4oq8p5r1

(下载完2个文件后只需要解压001,推荐压缩软件bandizip)

CENTOS7-8

RHEL7-8

虚拟机vmware-workstation软件下载:

https://my.vmware.com/cn/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0

服务器:

CPU:多核心多线程

内存:容量较大

主板:扩展性比较好

硬盘:数量多,容量大

环境安装步骤:

后面的步骤是一直下一步直到完成

然后确定,开启虚拟机

安装完后重启

系统如何登录:

使用管理员root用户登录

关闭自动锁屏

Linux系统一切皆文件

Linux严格区分大小写

Linux文档=文件+目录

Linux中以颜色字体来区分不同的文档属性:

白色:文本文件

绿色:可执行文件(程序、脚本、代码)

蓝色加粗字体:目录

蓝绿色:快捷方式

红色:压缩包、iso镜像文件

shell:Linux系统的指令解释器:有很多种

其中默认使用的shell是BASH

[root@localhost ~]#

[当前登录的用户@主机名 当前所在目录的名称]#或$

~当前用户的家目录

#当前用户是管理员root

$当前用户是普通用户

补充快捷键(Linux一般不使用小键盘):

ctrl  shift   + 增大字体

ctrl  -   缩小字体

一条命令的组成:

命令字 [选项] [参数]

自定义格式查看时间日期:

date +"自定义格式"

%Y

%m

%d

%H

%M

%S

/etc/passwd:用于存放用户信息,一个用户在文件中占一行

wc -l /etc/passwd

Linux操作系统的关机与重启

reboot:重启

poweroff:关机

shutdown常用用法:

shutdown  -h  now  立即关机

shutdown  -h 10:10      10:10分关机

shutdown  -h  +10     10分钟后关机

shutdown  -r    now  立即重启

init   0    关机

init   6    重启

常用用法:

init   3 切换到字符界面

init   5 切换到图形界面

练习的时候,mv命令的使用对象,建议使用前面cp命令的复制品,防止移动了系统重要文件导致系统宕机

练习的时候,rm命令的使用对象,建议使用前面cp命令的复制品,防止移动了系统重要文件导致系统宕机

[root@localhost/]# vim  /root/test.txt

vim编辑器:

               按i键

命------------------------------------------------>编辑模式(插入模式)

模           按:键

式------------------------------------------------>末行模式

进入到vim编辑器默认的模式是命令模式(输入各种快捷键完成一些列的操作)

命令模式无法编辑文本内容:如果想要编辑文本内容,需要先进入编辑模式

编辑模式与末行模式之间无法直接切换,需要先按Esc回到命令模式再切换

末行模式可以保存文档

末行模式:wq保存并退出

末行模式:q!强制不保存并退出

[root@localhost/]# cat  /root/test.txt

第二天:存储管理

文件系统原理

添加一块磁盘用于实验

除了磁盘类型需要选择为SATA,其它一直点下一步直到完成

查看硬盘:

[root@localhost ~]# lsblk

#sdb即为新添加的磁盘

[root@localhost ~]# fdisk /dev/sdb

添加一个主分区:按n,然后连续按4次回车,然后+size{K,M,G,T,P},再回车

命令(输入 m 获取帮助):【n,回车】

分区类型

   p   主分区 (0个主分区,0个扩展分区,4空闲)

   e   扩展分区 (逻辑分区容器)

选择 (默认 p):【直接回车】

将使用默认回应 p。

分区号 (1-4, 默认  1): 【直接回车】

第一个扇区 (2048-41943039, 默认 2048): 【直接回车】

上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): 【+1G,回车】

创建了一个新分区 1,类型为“Linux”,大小为 1 GiB。

【重复①添加主分区步骤三次,分别添加大小为1G、2G、1G的三个主分区】

添加扩展分区:按n,然后按四次回车

命令(输入 m 获取帮助):【n,回车】

分区类型

   p   主分区 (3个主分区,0个扩展分区,1空闲)

   e   扩展分区 (逻辑分区容器)

选择 (默认 e):【直接回车】

将使用默认回应 e。

已选择分区 4

第一个扇区 (8390656-41943039, 默认 8390656): 【直接回车】

上个扇区,+sectors 或 +size{K,M,G,T,P} (8390656-41943039, 默认 41943039): 【直接回车】

创建了一个新分区 4,类型为“Extended”,大小为 16 GiB。

【##扩展分区为了不造成空间的浪费,所以需要把所有剩余空间划分完】

添加逻辑分区:按n,然后按2次回车,然后+size{K,M,G,T,P},再回车

命令(输入 m 获取帮助):【n,回车】

所有主分区都在使用中。

添加逻辑分区 5

第一个扇区 (8392704-41943039, 默认 8392704): 【直接回车】

上个扇区,+sectors 或 +size{K,M,G,T,P} (8392704-41943039, 默认 41943039): 【+1G,回车】

创建了一个新分区 5,类型为“Linux”,大小为 1 GiB。

【##逻辑分区是在扩展分区的基础上划分的,逻辑分区的总大小不能超过扩展分区】

完成分区后,需要确认(p指令可以查看分区列表)所有的分区是没有问题的,如果发现有问题,则q退出(只要没有保存,分区都还未生效),重新分区;如果没问题,则w保存并退出

[root@localhost ~]# lsblk /dev/sdb

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sdb      8:16   0  20G  0 disk

├─sdb1   8:17   0   1G  0 part

├─sdb2   8:18   0   2G  0 part

├─sdb3   8:19   0   1G  0 part

├─sdb4   8:20   0   1K  0 part

└─sdb5   8:21   0   1G  0 part

[root@localhost ~]# mkfs.xfs /dev/sdb1

###格式化的命令:mkfs.文件系统类型     /dev/分区路径

[root@localhost ~]# mount /dev/sdb1 /mnt/  ###这是临时挂载

临时挂载:重启失效

永久挂载:开机自动挂载

[root@localhost ~]# umount /mnt          ###先卸载原有的临时挂载

[root@localhost ~]# vim /etc/fstab        ###在文件中添加以下一行

/dev/sdb1   /part1    xfs                     defaults                               0    0

分区路径    挂载点   文件系统类型   挂载参数(默认写defaults)    0    0

[root@localhost ~]# mkdir /part1  ###创建挂载点

[root@localhost ~]# mount -a   ###检查/etc/fstab文件中是否有格式错误,并挂载未被挂载的设备

[root@localhost ~]# df -Th

/dev/sdb1             xfs      1014M   40M  975M    4% /part1

[root@localhost ~]# touch /part1/1.txt

[root@localhost ~]# blkid /dev/sdb1  ###查看分区的uuid号和文件系统类型(格式化之后才能看到)

交换分区(交换空间)

第一步:添加一个分区(512M):分区的大小决定了交换空间的大小

第二步:格式化成交换空间

[root@localhost ~]# mkswap /dev/sdb6

第三步:临时启用交换分区(重启失效)

[root@localhost ~]# swapon /dev/sdb6

[root@localhost ~]# swapon -s

[root@localhost ~]# swapoff /dev/sdb6    ###停用交换分区

第四步:设置交换空间开机自动启用

[root@localhost ~]# vim /etc/fstab     ###往配置文件中添加以下的一行

/dev/sdb6   swap    swap defaults 0 0

###交换空间在文件系统类型那个字段填写swap即可

[root@localhost ~]# swapon -a    ###类似于mount  -a,是swap专用

[root@localhost ~]# swapon -s

逻辑卷分区:

第一步:标准分区(200M)

第二步:创建卷组

[root@localhost ~]# vgcreate vg1 /dev/sdb7

  Physical volume "/dev/sdb7" successfully created.      

###创建卷组时,会自动创建对应的物理卷

  Volume group "vg1" successfully created

第三步:划分逻辑卷

[root@localhost ~]# lvcreate -L 100M -n lv1 vg1

第四步:逻辑卷格式化挂载使用

[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1

[root@localhost ~]# vim /etc/fstab

/dev/vg1/lv1 /part2 ext4 defaults 0 0

[root@localhost ~]# mkdir /part2

[root@localhost ~]# mount -a

[root@localhost ~]# df -Th

扩大逻辑卷的空间:

情况1:卷组剩余空间足够

[root@localhost ~]# lvextend -L +50M /dev/vg1/lv1

[root@localhost ~]# resize2fs /dev/vg1/lv1

刷新文件系统:

①ext文件系统:resize2fs    /逻辑卷分区路径

②xfs文件系统:xfs     /逻辑卷分区路径

情况2:卷组剩余空间不够

(1)扩大卷组的空间

[root@localhost ~]# vgextend vg1 /dev/sdb2

(2)按照第一种情况操作

卷组划分空间的最小单位PE:默认大小4M

修改已存在卷组的PE大小

[root@localhost ~]# vgchange -s 2M vg1

要求:

PE大小必须为2的n次幂

PE大小必须能被基于这个卷组创建的逻辑卷大小整除

创建卷组时指定PE大小

[root@localhost ~]# vgcreate -s 8M vg2 /dev/sdb3

[root@localhost ~]# vgdisplay vg2

[root@localhost ~]# lvcreate -l 20 -n lv2 vg2

###-l:可以指定逻辑卷大小为多少个PE

高级存储功能:

准备工作:

[root@localhost ~]# mount /dev/sr0 /mnt/

[root@localhost ~]# mount /dev/sr0 /mnt/

[root@localhost ~]# ls /mnt/

[root@localhost ~]# rpm -ivh /mnt/BaseOS/Packages/dnf-utils-4.0.2.2-3.el8.noarch.rpm

[root@localhost ~]# yum-config-manager --add file:///mnt/BaseOS

[root@localhost ~]# yum-config-manager --add file:///mnt/AppStream

[root@localhost ~]# vim /etc/yum.conf

gpgcheck=1改成gpgcheck=0

[root@localhost ~]# yum clean all

[root@localhost ~]# yum repolist

Stratis配置

安装软件包

[root@localhost ~]# yum -y install stratis-cli stratisd

启动服务并设置服务开机自启

[root@localhost ~]# systemctl enable --now stratisd

添加一块硬盘,方法参考上面的笔记

[root@localhost ~]# stratis pool create pool1 /dev/sdc

查看可用池的列表

[root@localhost ~]# stratis pool list

添加一个物理设备(块设备)到已存在的存储池

[root@localhost ~]# stratis pool add-data pool1 /dev/sdd

查看存储池有哪些块设备

[root@localhost ~]# stratis blockdev list

创建动态、灵活的文件系统

[root@localhost ~]# stratis filesystem create pool1 fs1

查看文件系统

[root@localhost ~]# stratis filesystem list

挂载文件系统

[root@localhost ~]# blkid /stratis/pool1/fs1

/stratis/pool1/fs1: UUID="8e01f884-1d75-4f2d-a77f-8564568d7f7a" TYPE="xfs"

###查看UUID及文件系统类型

[root@localhost ~]# vim /etc/fstab

UUID="8e01f884-1d75-4f2d-a77f-8564568d7f7a" /part3 xfs defaults,x-systemd.requires=stratisd.service 0 0

[root@localhost ~]# mkdir /part3

[root@localhost ~]# mount -a

[root@localhost ~]# df -Th

创建测试文件

[root@localhost ~]# vim /part3/file1

hello world

创建快照

[root@localhost ~]# stratis filesystem snapshot pool1 fs1 snap1

[root@localhost ~]# stratis filesystem list

[root@localhost ~]# rm -rf /part3/file1

[root@localhost ~]# mount /stratis/pool1/snap1 /part3/

[root@localhost ~]# cat /part3/file1

hello world

VDO卷的配置:

安装软件包(默认已安装)

[root@localhost ~]# yum -y install vdo kmod-kvdo

添加一块硬盘,创建vdo卷,指定逻辑大小50G

[root@localhost ~]# vdo create -n vdo1 --device /dev/sde --vdoLogicalSize 50G

查看vdo卷的属性与状态

[root@localhost ~]# vdo status -n vdo1

显示vdo卷列表

[root@localhost ~]# vdo list

停止和启动vdo卷

[root@localhost ~]# vdo stop -n vdo1

[root@localhost ~]# vdo start -n vdo1

查看是否启用了压缩和重复数据删除的功能

[root@localhost ~]# vdo status -n vdo1 | grep Dedu

    Deduplication: enabled

[root@localhost ~]# vdo status -n vdo1 | grep Com

    Compression: enabled

格式化vdo卷

[root@localhost ~]# mkfs.xfs -K /dev/mapper/vdo1

-K:加快格式化的速度

检查设备事件(第⑦格式化)处理是否完成

[root@localhost ~]# udevadm settle

挂载使用

[root@localhost ~]# blkid | grep vdo1

/dev/mapper/vdo1: UUID="fb6083b5-29cf-4d8b-8d81-f687b883cfbf" TYPE="xfs"

复制UUID

[root@localhost ~]# vim /etc/fstab

UUID="fb6083b5-29cf-4d8b-8d81-f687b883cfbf" /part4 xfs defaults,x-systemd.requires=vdo.service 0 0

[root@localhost ~]# mkdir /part4

[root@localhost ~]# mount -a

查看卷的初始信息

[root@localhost ~]# vdostats --human-readable

准备一个大文件用于测试

[root@localhost ~]# dd if=/dev/urandom of=/root/testfile1 bs=1M count=300

把文件复制到vdo卷的挂载目录

[root@localhost ~]# cp testfile1 /part4/testfile1.1

[root@localhost ~]# vdostats --human-readable

重复多次操作,观察Used与saving%变化

[root@localhost ~]# cp testfile1 /part4/testfile1.2

[root@localhost ~]# vdostats --human-readable

[root@localhost ~]# cp testfile1 /part4/testfile1.3

[root@localhost ~]# vdostats --human-readable

WEB服务器:

准备工作:设置防火墙放行所有服务

[root@localhost ~]# firewall-cmd --set-default-zone=trusted

[root@localhost ~]# mount /dev/sr0 /mnt/

[root@localhost ~]# yum clean all

[root@localhost ~]# yum repolist

xshell实现图形工具调用:

配置简单的httpd服务:

(1)装包:安装httpd软件包

[root@localhost ~]# yum -y install httpd

(2)起服务:启动服务并设置服务开机自启

[root@localhost ~]# systemctl enable --now httpd

(3)本机访问测试

[root@localhost ~]# firefox http://127.0.0.1

(4)书写一个自己的页面文件

httpd默认网页文件根目录:/var/www/html

默认主页文件名称要求:index.html

[root@localhost ~]# vim /var/www/html/index.html

<marquee> <font color=red> <h1>TEST

滚动              红色字体            字体变大

再次本机测试:

[root@localhost ~]# firefox http://127.0.0.1

httpd的默认配置:

Listen:监听地址:端口号(默认:80)

ServerName:本站点注册的DNS名称(域名或网址)

DocumentRoot:网页文件根目录(默认:/var/www/html)

DirectoryIndex:首页、主页文件名称(默认:index.html)

##########################################################################

物理机准备:

一、修改windows中的hosts文件(需要使用管理员身份进行修改)

(1)在windows-开始菜单-附件-记事本-右击:管理员身份打开

(2)点击打开

(3)

(4)

添加一行:172.25.0.11  www0.example.com server0.example.com webapp0.example.com

(5)保存

二、控制面板\网络和 Internet\网络连接

修改的ip地址

验证:

虚拟机准备:

配置临时IP地址(重启失效)

[root@localhost ~]# ifconfig ens160 172.25.0.11/24

访问测试:使用物理机浏览器访问:http://www0.example.com/

##########################################################################

自定义网页文件根目录:

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

将这一行配置修改成:DocumentRoot "/var/www/myweb"

[root@localhost ~]# mkdir /var/www/myweb

[root@localhost ~]# systemctl restart httpd

[root@localhost ~]# vim /var/www/myweb/index.html

myweb

虚拟web主机:在一台服务器上提供多个不同的web站点

(只要使用了虚拟web主机,主配置文件中配置的站点就会失效)

构建方式:

基于域名的虚拟主机(主流)

基于端口的虚拟主机

基于IP地址的虚拟主机(淘汰)

[root@localhost ~]# vim /etc/httpd/conf.d/web01.conf

<VirtualHost *:80>

ServerName www0.example.com

DocumentRoot /var/www/myweb

</VirtualHost>

<VirtualHost *:80>

ServerName server0.example.com

DocumentRoot /var/www/qq

</VirtualHost>

[root@localhost ~]# mkdir /var/www/qq

[root@localhost ~]# vim /var/www/qq/index.html

这是qq的网站

[root@localhost ~]# systemctl restart httpd

物理机浏览器访问测试:http://www0.example.com/http://server0.example.com/

动态网站:

[root@localhost ~]# mkdir /var/www/webapp

手写一个php测试页面

[root@localhost ~]# vim /var/www/webapp/test.php

<?php

phpinfo();

?>

[root@localhost ~]# vim /etc/httpd/conf.d/web01.conf

修改配置文件成这个样子

<VirtualHost *:80>

ServerName www0.example.com

DocumentRoot /var/www/myweb

</VirtualHost>

<VirtualHost *:80>

ServerName server0.example.com

DocumentRoot /var/www/qq

</VirtualHost>

<VirtualHost *:80>

ServerName webapp0.example.com

DocumentRoot /var/www/webapp

</VirtualHost>

[root@localhost ~]# systemctl restart httpd

物理机访问测试:

[root@localhost ~]# yum -y install php

[root@localhost ~]# systemctl restart httpd

物理机访问测试:http://webapp0.example.com/test.php

[root@localhost ~]# vim /etc/httpd/conf.d/web01.conf

<VirtualHost *:80>

ServerName webapp0.example.com

DocumentRoot /var/www/webapp

Alias  /  /var/www/webapp/test.php                      ###添加这一行配置

</VirtualHost>

[root@localhost ~]# systemctl restart httpd

物理机再次访问测试:http://webapp0.example.com/

安全web服务:

(1)安装支持https安全网站服务的模块

[root@localhost ~]# yum -y install mod_ssl

[root@localhost ~]# ls /etc/httpd/conf.d/ssl.conf

(2)生成加密私钥

[root@localhost ~]# openssl genrsa -out server.key 2048

(3)生成证书请求文件;按照以下方法填写国家名、省市、公司等信息

[root@localhost ~]# openssl req -new -key server.key -out server.csr

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:GuangDong

Locality Name (eg, city) [Default City]:GuangZhou

Organization Name (eg, company) [Default Company Ltd]:XunFang

Organizational Unit Name (eg, section) []:Zhyx

Common Name (eg, your name or your server's hostname) []:localhost

Email Address []:redhat@xunfang.com

A challenge password []:redhat

An optional company name []: 直接回车

(4)生成自签名证书类型为x509,有效期3650天

[root@localhost ~]# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

(5)修改配置文件

[root@localhost ~]# vim /etc/httpd/conf.d/ssl.conf

新开终端:

[root@localhost ~]# cp server.crt /etc/pki/tls/certs/server0.crt

[root@localhost ~]# cp server.key /etc/pki/tls/private/server0.key

(6)重启服务

[root@localhost ~]# systemctl restart httpd

(7)访问测试:物理机浏览器访问:https://www0.example.com/

http协议:默认端口号80

https协议:安全http默认端口号是443

MariaDB数据库:

(1)安装软件包

[root@localhost ~]# yum -y install mariadb mariadb-server

[root@localhost ~]# ls /var/lib/mysql/

[root@localhost ~]# systemctl enable --now mariadb

[root@localhost ~]# ls /var/lib/mysql/

(2)数据库初始化配置

[root@localhost ~]# mysql      ###空密码登录数据库

MariaDB [(none)]> SHOW DATABASES;  ###列出所有的数据库

MariaDB [(none)]> CREATE DATABASE linux; ###新建一个数据库linux

MariaDB [(none)]> DROP DATABASE linux;  ###删除一个数据库linux

MariaDB [(none)]> exit

[root@localhost ~]# mysqladmin -u root password 'redhat' ###初始化设置密码

[root@localhost ~]# mysqladmin -u root -p password  ###交互式修改密码更安全

Enter password:【原密码,回车】

New password: 【新密码,回车】

Confirm new password: 【新密码,回车】

[root@localhost ~]# mysql -uroot -p密码    ###非交互式登录数据库

[root@localhost ~]# mysql -uroot -p    ###也可以使用交互式登录更安全

(3)数据库基本操作

MariaDB [(none)]> SHOW DATABASES;

MariaDB [(none)]> USE mysql;     ###切换到某一个数据库

MariaDB [mysql]> SHOW TABLES;    ###列出当前所在库的所有表

MariaDB [mysql]> SELECT * FROM user;   ###查看一张表的所有内容

MariaDB [mysql]> DESC user;     ###描述表,筛选出想要看的字段

MariaDB [mysql]> SELECT Host,User,Password FROM user; ###查询列出想要看的字段

MariaDB [mysql]> SELECT Host,User,Password FROM user WHERE Password='';

###条件查询,筛选出符合条件“密码Password字段为空”的记录

MariaDB [mysql]> DELETE FROM user WHERE Password='';

###删除空密码用户

(4)数据库授权

需求:创建一个数据库mydb,该库允许lisi查询,此用户的密码为redhat

MariaDB [mysql]> CREATE DATABASE mydb;

MariaDB [mysql]> GRANT SELECT ON mydb.* TO lisi@localhost IDENTIFIED BY 'redhat';

MariaDB [mysql]> SELECT Host,User,Password FROM user;

LAMP论坛搭建:

安装软件包:

[root@server0 ~]# yum–y install httpd php php-xml php-mysqlnd mariadb-server

部署论坛:

(1)数据库准备

MariaDB [(none)]> CREATE DATABASE bbsdb;

MariaDB [(none)]> GRANT ALL ON bbsdb.* TO runbbs@localhost IDENTIFIED BY 'pwd123';

MariaDB [(none)]> SELECT Host,User,Password FROM mysql.user;

MariaDB [(none)]> exit

(2)代码准备

[root@server0 ~]# yum  -y install lrzsz

把代码压缩包拉到xshell窗口,松手完成上传

或者

先使用ftp软件将代码从windows共享给linux系统

[root@server0 ~]# wget ftp://172.25.0.44/Discuz_X3.3_SC_UTF8.zip

(3)解压代码

[root@server0 ~]# mkdir dir

[root@server0 ~]# unzip Discuz_X3.3_SC_UTF8.zip -d dir/

[root@server0 ~]# rm -rf /var/www/html/*

[root@server0 ~]# cp -r dir/upload/* /var/www/html/

[root@server0 ~]# chown -R apache:apache /var/www/html/

[root@server0 ~]# setenforce 0

[root@server0 ~]# systemctl restart httpd

(4)修改httpd的配置

[root@localhost ~]# vim /etc/httpd/conf.d/web01.conf

<VirtualHost *:80>

ServerName www0.example.com

DocumentRoot /var/www/myweb改成DocumentRoot /var/www/html

</VirtualHost>

[root@server0 ~]# systemctl restart httpd

(5)安装论坛:

物理机浏览器访问:http://172.25.0.11

根据提示,类似于windows安装软件那样完成论坛安装

安装完成后,点击右下角




标签:RHEL8.0安装+基础命令练习+discuz(lamp)论坛搭建


程序开发学习排行
最近发表
网站分类
标签列表