本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。
各种服务搭建过程
cd /etc/yum.repos.d/
#移动到yum仓库目录
mkdir ./wly
mv *.repo wly/
#创建文件夹将yum网络源仓库移动到里面
vim bendi.repo
#创建本地源仓库配置文件并写入下方内容
#####配置内容#####
[bendi]
name=centos7
baseurl=file:///mnt
#指定仓库为本地文件,路径为/mnt目录
gpgcheck=0
#####配置内容#####
mount /dev/sr0 /mnt
#将光盘挂载到/mnt目录下,为本地仓库提供文件
yum clean all && yum makecache
#清除yum缓存并重新加载
yum install tree -y
#安装tree命令进行测试仓库是否搭建成功
#准备一个软件压缩包,可从官网下载,也可利用远程传输等获取,此处准备http服务的压缩包
tar xf httpd-2.4.29.tar.bz2
#解压安装包到目录
cd httpd-2.4.29/
#移动到加压后的目录中
mkdir /usr/local/apache
#创建软件安装目录
./configure --prefix=/usr/local/apache
#将软件安装到指定目录中(此时可能会遇到问题,解决方法如下)
yum install apr* -y
yum install pcre* -y
#安装在软件安装时,一些所必需要的配置(若有更多,则依次安装即可)
./configure --prefix=/usr/local/apache
#解决问题后再次启动安装,此时会安装成功
make
#进行源码编译
make install
#将编译后的二进制刻录至硬盘,达到永久安装的效果
#(虚拟机)物理层面上添加两块20G磁盘
echo '- - -'>/sys/class/scsi_host/host0/scan
echo '- - -'>/sys/class/scsi_host/host1/scan
echo '- - -'>/sys/class/scsi_host/host2/scan
#刷新物理磁盘,加载添加的两块磁盘
lsblk
#查看磁盘概况
fdisk /sdb
#对sdb进行分区(此处只分1个区,交互界面进行如下操作)
#n(新建分区)
#因为只建立一个分区,所以一路回车到最后(中途可选择每个分区具体多大)
#t(选择分区类型)
#8e(选择分区类型为LVM类型:可变为物理卷)
#w保存退出
fdisk /dev/sdc
#对sdc进行分区(步骤同上,只不过此处建立两个分区)
#在选择分区大小时,输入10G回车,每个分区都分配10G
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdc2
#将三个分区否变为物理卷
vgcreate group /dev/sdb1 /dev/sdc1
#将/sdb1和/sdc1两个物理卷合并为一个group卷组
lvcreate -n han -L 15G group
#从group卷组中划分15G大小变为逻辑卷han
mkfs.xfs /dev/group/han
#为逻辑卷安装xfs文件系统(必须拥有文件系统,磁盘才能正常使用)
mount /dev/group/han /mnt
#将逻辑卷挂载到/mnt使用
df
#查看挂载情况,确认逻辑卷创建成功,可以正常使用
vgextend group /dev/sdc2
#可继续向group卷组中添加物理卷,为卷组扩容
lvextend -L +20G /dev/group/han
#若后期逻辑卷大小不够,可继续从卷组中划分大小,对逻辑卷进行扩容
xfs_growfs /mnt
#刷新挂载点,重新加载磁盘大小
df
#查看挂载点,确认扩容成功
lsblk
#查看整体物理磁盘使用情况
yum install httpd -y
#安装http网页服务
systemctl stop firewalld
#关闭防火墙(centos7的防火墙)
setenforce 0
#关闭selinux(类似防火墙)
systemctl start httpd
#启动http网页服务(网页根目录:/var/www/html/)
yum install vsftpd -y
#安装ftp服务端软件
systemctl stop firewalld
#关闭防火墙(centos7的防火墙)
setenforce 0
#关闭selinux(类似防火墙)
systemctl start vsftpd
#启动ftp网页服务(分享根目录:/var/ftp/)
#此时客户端只需要安装ftp软件,即可访问服务端分享目录
yum install nfs -y
#安装nfs服务端软件
vim /etc/exports
#编辑分享目录配置文件(第一列:服务端分享目录 第二列:能访问的主机IP)
systemctl stop firewalld
#关闭防火墙(centos7的防火墙)
setenforce 0
#关闭selinux(类似防火墙)
systemctl start nfs
#启动nfs网页服务(分享根目录:由/etc/exports配置文件决定)
yum install dhcp -y
#安装dhcp服务软件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
#第4行:ip地址获取方式设置为静态获取
IPADDR=192.168.100.10
#设置虚拟机的VIM1的子网段(虚拟机查看VIM1:编辑-虚拟网络编辑器:将VIM1的使用本地dhcp服务取消)
GATEWAY=192.168.100.1
#设置为VIM1的IP地址为默认网关
vim /etc/dhcp/dhcpd.conf
#修改dhcp配置文件
:5r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
#末行模式,在第5行后方插入模板文件
subnet 192.168.100.0 netmask 255.255.255.0 {
#第37行,设置分配子网的网段以及掩码
range 192.168.100.100 192.168.100.120;
#第38行,设置子网IP的具体范围
option routers 192.168.100.1;
#第39行,设置子网IP的默认网关为VIM1的IP
}
systemctl stop firewalld
#关闭防火墙(centos7的防火墙)
setenforce 0
#关闭selinux(类似防火墙)
systemctl start dhcpd
#启动dhcp服务器
#验证:新建一个仅主机VIM1模式的windos虚拟机,启动dhcp自动分配模式,查看IP地址是否自动分配
yum install bind bind-utils.x86_64 -y
#安装named软件(dns服务所需软件)
vim /etc/named.conf
#配置named主配置文件
listen-on port 53 { any; }; #13行修改为监听所有端口
allow-query { any; }; #21行修改为监听说有主机
vim /etc/named.rfc1912.zones
#配置named数据库文件指向,添加如下内容,位置随意
zone "han.com" IN {
#定义服务器域名
type master;
#定义服务器为主服务器
file "han.com.zone";
#定义服务器数据库文件指向
};
cp -p /var/named/named.localhost /var/named/han.com.zone
#复制数据库模板(-p保留所有权限,防止新文件权限不足)
vim /var/named/han.com.zone
#修改数据库内容,配置如下
@ IN SOA master rname.invalid. (
#第2行,修改@为master,将域名定义为master
NS master
#第8行,修改@为master,再次重申域名为master
master A 192.168.13.20
#定义:当访问主机名为master的时候,转译为对应的IP地址
han A 192.168.13.20
#定义:当访问主机名为han的时候,转译为对应的IP地址
www CNAME han
#定义:当访问主机名为www的时候,等同于访问主机名为han
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改网卡配置文件,将DNS1指向自己,通过自己解析域名
systemctl restart network
#重启网络服务
systemctl stop firewalld
#关闭防火墙(centos7的防火墙)
setenforce 0
#关闭selinux(类似防火墙)
systemctl start named
#启动named软件(dns服务)
host www.han.com
#测试dns正向解析服务是否搭建成功
#!/bin/bash
yum install bind bind-utils.x86_64 -y
#安装服务
sed -i 's/{ 127.0.0.1; }/{ any; }/' /etc/named.conf
sed -i 's/{ localhost; }/{ any; }/' /etc/named.conf
#修改dns服务配置文件(监听所有端口、所有主机)
sed -i '13 s/"localhost.localdomain"/"han.com"/' /etc/named.rfc1912.zones
sed -i '15 s/"named.localhost"/"han.com.zone"/' /etc/named.rfc1912.zones
sed -i '16 s/all.*//' /etc/named.rfc1912.zones
#修改dns服务端配置(主机名、主机数据库文件指向)
cp /var/named/named.localhost /var/named/han.com.zone
cd /var/named
chmod 640 han.com.zone
chgrp named han.com.zone
#复制数据库文件、赋予文件权限
sed -i '2 s/@/master/2' /var/named/han.com.zone
sed -i '8 s/@/master/' /var/named/han.com.zone
sed -i '9 s/.*/master A 192.168.13.20/' /var/named/han.com.zone
sed -i '10 s/.*/han A 192.168.13.20/' /var/named/han.com.zone
sed -i '11 s/.*/wang CNAME han/' /var/named/han.com.zone
#修改数据库配置,将域名解析为IP地址
sed -i 's/^DNS.*/DNS1\="192.168.13.20"/' /etc/sysconfig/network-scripts/ifcfg-ens33
#修改网关地址为本机
systemctl stop firewalld
setenforce 0
systemctl restart network.service
systemctl start named
#关闭防火墙、重启网卡、启动dns服务
host han.han.come
#测试dns服务是否搭建成功
vim /etc/ssh/sshd_config
SyslogFacility LOCAL6
#第32行:将ssh服务端日志所使用的服务由AUTHPRIV修改为自定义的LOCAL6
vim /etc/rsyslog.conf
local6.* /var/log/ssh.log
#第74行:自定义LOCAL6日志服务的存储级别与存储位置
#!/bin/bash
systemctl disable --now firewalld
setenforce 0
sed -i '7 s/enforcing/disable/' /etc/sysconfig/selinux
yum install -y tftp-server.x86_64 vsftpd dhcp syslinux
\cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
IP=`ifconfig |grep -m 1 netmask |awk '{print $2}'`
subnet=`route | grep ens33 |awk 'NR==2{print $1}'`
netmask=`route | grep ens33 |awk 'NR==2{print $3}'`
sed -i "27 s/.*/subnet ${subnet} netmask ${netmask} {\n range ${subnet%?}100 ${subnet%?}200;\n option routers ${IP};\n next-server ${IP};\n filename \"pxelinux.0\";/" /etc/dhcp/dhcpd.conf
sed -i '14 s/yes/no/' /etc/xinetd.d/tftp
mkdir -p /var/ftp/centos7
mount /dev/sr0 /var/ftp/centos7/
cd /var/ftp//centos7/isolinux/
cp initrd.img vmlinuz /var/lib/tftpboot/
#四大文件的前两个文件
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#四大文件的第三个文件
echo "default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://${IP}/centos7 ks=ftp://${IP}/ks.cfg" >/var/lib/tftpboot/pxelinux.cfg/default
#四大文件第四个文件
systemctl start dhcpd
systemctl start tftp
systemctl start vsftpd
#####准备全自动化安装ks.cfg文件#####
yum install -y system-config-kickstart.noarch
echo "#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext abc123
# Use network installation
url --url="ftp://${IP}/centos7"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# SELinux configuration
selinux --disabled
# Network information
network --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
" > /var/ftp/ks.cfg
光盘挂载:
磁盘分区:
dhcp服务:
dns服务: