See PXE Setup for overall PXE instructions. This is RHEL/CentOS specific.
Check for latest release
Eventually spare some bandwith by copying the release from the ISO image
mkdir mnt/; mount CentOS-7-x86_64-DVD-1708.iso mnt/ ls -ldhF /var/lib/tftpboot/ cp -R mnt/ /var/lib/tftpboot/CentOS7x64-1708/ umount mnt/; rmdir mnt/
and finish-up (namely images/pxeboot is missing) using some mirror
remote="rsync://mirror.yandex.ru/centos/7.4.1708/os/x86_64" #remote="rsync://mirror.logol.ru/centos/7.4.1708/os/x86_64" rsync -avz --delete-after $remote/images/pxeboot/ /var/lib/tftpboot/centos7x64/images/pxeboot/ rsync -avz --delete-after $remote/ /var/lib/tftpboot/centos7x64/ unset remote
Setup the PXE menu
vi /tftpboot/pxelinux.cfg/default label centos7 install kernel centos7x64/images/pxeboot/vmlinuz append initrd=centos7x64/images/pxeboot/initrd.img ip=dhcp method=http://x.x.x.x/centos7x64/ text #repo=http... #url --url http... label centos7 rescue kernel centos7x64/images/pxeboot/vmlinuz append initrd=centos7x64/images/pxeboot/initrd.img ip=dhcp method=http://x.x.x.x/centos7x64/ rescue label centos7 kickstart FULLY AUTOMATED DANGEROUS kernel centos7x64/images/pxeboot/vmlinuz append initrd=centos7x64/images/pxeboot/initrd.img ip=dhcp method=http://10.8.8.1/centos7x64/ ks=http://10.8.8.1/centos7x64.ks text
https://wiki.centos.org/HowTos/PXE/PXE_Setup/Menus
https://wiki.centos.org/HowTos/NetworkInstallServer