1.关闭防火墙

systemctl stop firewalld.service #短期关闭
systemctl disable firewalld.service #长期关闭
systemctl status firewalld.service #查看状态

2.关闭selinux

sudo setenforce 0 #暂时关闭
vi /etc/selinux/config #永久关闭需要重启,将SELINUX=enforcing改为SELINUX=disabled
sestatus #查看状态

题外话:由于同一网段不能同时出现两个DHCP服务器所以需要把VMware网络设置中的DHCP功能关闭,我这里是直接添加了一块新的没有DHCP的虚拟网卡添加完成后需要在虚拟机里面配置一下网络

ip addr #查看网络情况,这里我看到两张网卡,新网卡为ens37
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37 #复制一个配置文件方便修改
vi /etc/sysconfig/network-scripts/ifcfg-ens37 #编辑一下配置文件我这里用的网段是192.168.190.0
service network restart #重启网络
ip addr #重新查看网络情况

3.安装DHCP、tftp、http、syslinux

yum -y install dhcp tftp-server httpd syslinux

4.配置DHCP

cat /etc/dhcp/dhcpd.conf #查看一下配置文件发现直接配置不太方便
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
 #复制一下模板文件
vi /etc/dhcp/dhcpd.conf #编辑配置
subnet 192.168.190.0 netmask 255.255.255.0 {
  range 192.168.190.26 192.168.190.30;
  default-lease-time 3600;
  filename "pxelinux.0";
  next-server 192.168.190.140; #tftp服务
}

systemctl restart dhcpd #重启服务
systemctl status dhcpd #查看状态

5.配置tftp

vim /etc/xinetd.d/tftp #编辑配置,把disable=yes改成disable=no
systemctl restart tftp.socket #重启服务
systemctl status tftp.socket #查看状态

6.挂载光盘

mkdir /mnt/cdrom #创建挂载文件夹
mount /dev/cdrom /mnt/cdrom/ #挂载安装光盘

7.复制PXE服务相关的文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #pxe引导文件
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ #菜单文件
cp /mnt/cdrom/isolinux/vmlinuz /var/lib/tftpboot/ #内核管理文件
cp /mnt/cdrom/isolinux/initrd.img /var/lib/tftpboot/ #Linux引导文件

8.制作安装菜单文件

mkdir /var/lib/tftpboot/pxelinux.cfg #创建菜单文件夹
touch /var/lib/tftpboot/pxelinux.cfg/default #默认菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default #编辑文件

default menu.c32
timeout 300 #等待时间
prompt 0

label 1 #选项一
menu label ^1) Install Centos7
menu default #设置为默认,安装多系统有用
kernel vmlinuz
append initrd=initrd.img method=http://192.168.190.140/Centos7 ks=http://192.168.190.140/ks.cfg #安装镜像位置,ks配置文件位置

9.配置apache服务

mkdir /var/www/html/Centos7 #创建目录
mount /dev/cdrom /var/www/html/Centos7/ #挂载光盘到目录,直接复制也行
cp /root/anaconda-ks.cfg /var/www/html/ks.cfg #复制ks配置文件
chmod +r /var/www/html/ks.cfg #增加一个读取权限
vim /var/www/html/ks.cfg #改一下配置
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url http://192.168.190.140/Centos7 #安装介质
# Use graphical install
text #安装模式
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8 #系统语言

# Network information
network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --activate
network  --hostname=localhost.localdomain

# Root password
rootpw --iscrypted $6$L2x7DWFI7u6.7M7K$NgeWFOGrsg0Cy.YYpBUnIhcZOAeqSrrVApNBmikpX6MbN2fwjG.u2t/9DzGgWagxyQk8lzGqsmgGPpIurCfSX. #root密码这里是root
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm #自动分区
# Partition clearing information
clearpart --all --initlabel #格式化整个磁盘

%packages
@^minimal
@core
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

reboot #自动重启

10.重启所有服务

systemctl restart tftp.socket
systemctl restart dhcpd

结束!!