Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Server \ Nginx DHCP TFTP Kickstart set up automatic installation system     - Camera-based face recognition OpenCV crawl and storage format (Python) (Linux)

- Varnish configuration language VCL and its built-in variables (Server)

- RHEL 7.1 compile and install Ganglia 3.7.1 (Server)

- Java Set and List in the relationship and difference (Programming)

- The file name is garbled or deleted files with special characters under Linux (Linux)

- Linux Command Tutorial: du command to view disk space (Linux)

- You may not know the Linux command-line network monitoring tool (Linux)

- MongoDB slice simple example (Database)

- Grub2: Save Your bootloader (Linux)

- How to use Quagga BGP (Border Gateway Protocol) router to filter BGP routing (Linux)

- Terminal fun: 6 interesting Linux command-line tools (Linux)

- About AWR More Description (Database)

- How to avoid two Chrome icon appears in ELementary OS Freya (Linux)

- On the Web application attack techniques Common (Linux)

- SUSE Linux network configuration and firewall configuration (Linux)

- Docker startups use continuous integration deployment (Server)

- Oracle create user authorization and in PLSQL (Database)

- Oracle 11g principle study Dataguard (Database)

- 20 Top Linux commands (Linux)

- Apache Tomcat integration and resin (Server)

 
         
  Nginx DHCP TFTP Kickstart set up automatic installation system
     
  Add Date : 2017-08-31      
         
         
         
  Before using Cobbler set up automatic installation system, recently Cobbler site http://www.cobblerd.org/ unable to access, execute the command cobbler get-loaders for download PXE boot files needed Times 404, even if the download is successful, all the files are word 0 section, causing the server to install the system to automatically obtain IP address stuck. Last resort they want a solution, re-use Nginx DHCP TFTP Kickstart build an automated installation system. Nginx is simple to install and configure all kind, instead of Apache Cobbler used.


Virtual Environment

Segment: 192.168.200.0

Mask: 255.255.255.0

Gateway: 192.168.200.2

Automatically install system address: 192.168.200.10

DHCP assigned address range: 192.168.200.11 - 192.168.200.254

First, install Nginx configuration

Download compile and install Nginx

cd / App / src
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar zxf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure \
--prefix = / App / nginx \
--without-http_access_module \
--without-http_auth_basic_module \
--without-http_browser_module \
--without-http_empty_gif_module \
--without-http_fastcgi_module \
--without-http_geo_module \
--without-http_limit_conn_module \
--without-http_limit_req_module \
--without-http_map_module \
--without-http_memcached_module \
--without-http_proxy_module \
--without-http_referer_module \
--without-http_rewrite_module \
--without-http_scgi_module \
--without-http_split_clients_module \
--without-http_ssi_module \
--without-http_upstream_hash_module \
--without-http_upstream_ip_hash_module \
--without-http_upstream_keepalive_module \
--without-http_upstream_least_conn_module \
--without-http_userid_module \
--without-http_uwsgi_module \
--without-mail_imap_module \
--without-mail_pop3_module \
--without-mail_smtp_module \
--without-pcre \
--without-poll_module \
--without-select_module
 
make && make install

Modify Nginx configuration file /App/nginx/conf/nginx.conf

user nginx nginx;
worker_processes auto;
 
error_log logs / error.log error;
 
pid logs / nginx.pid;
worker_rlimit_nofile 65536;
 
events
{
    use epoll;
    accept_mutex off;
    worker_connections 65536;
}
 
 
http
{
    include mime.types;
    default_type text / html;
 
    charset UTF-8;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 4k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;
 
    open_file_cache max = 65536 inactive = 60s;
    open_file_cache_valid 80s;
    open_file_cache_min_uses 1;
 
    log_format main '$ remote_addr - $ remote_user [$ time_local] "$ request"'
                      '$ Status $ body_bytes_sent "$ http_referer"'
                      ' "$ Http_user_agent" "$ http_x_forwarded_for"';
 
    access_log logs / access.log main;
 
    sendfile on;
    server_tokens off;
 
    keepalive_timeout 60;
 
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 64k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text / plain text / css application / json application / javascript application / xml;
 
    server
    {
        listen 80;
        server_name localhost;
        index index.html;
        root / App / web;
        autoindex on;
    }
}

New Nginx running account and Web directories

useradd -s / bin / false -M nginx
mkdir -p / App / web

Download CentOS iso image file and import Web directory

cd / App / src
wget http://mirrors.aliyun.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-bin-DVD1.iso
mount -o loop CentOS-6.6-x86_64-bin-DVD1.iso / mnt
rsync -avP / mnt / /App/web/CentOS-6.6-x86_64

Start Nginx

/ App / nginx / sbin / nginx

Second, the installation configuration DHCP

Yum install dhcp server

yum -y install dhcp

Modify the configuration of dhcp file /etc/dhcp/dhcpd.conf

allow booting;
allow bootp;
 
subnet 192.168.200.0 netmask 255.255.255.0 {
    option routers 192.168.200.2;
    option domain-name-servers 223.5.5.5,223.6.6.6;
    option subnet-mask 255.255.255.0;
    range dynamic-bootp 192.168.200.11 192.168.200.254;
    filename "/pxelinux.0";
    default-lease-time 21600;
    max-lease-time 43200;
    next-server 192.168.200.10;
}

Start dhcp service

/etc/init.d/dhcpd start

Third, the installation configuration TFTP

Yum install tftp server

yum -y install tftp-server

Modify the configuration and start the xinetd tftp service

sed -i '/ disable / s / yes / no /' /etc/xinetd.d/tftp
/etc/init.d/xinetd start

Yum install syslinux boot loader, copy the relevant files to the tftp root directory

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 / var / lib / tftpboot /
cd /App/web/CentOS-6.6-x86_64/isolinux/
cp vesamenu.c32 boot.msg splash.jpg vmlinuz initrd.img memtest / var / lib / tftpboot /
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

Modify the boot menu /var/lib/tftpboot/pxelinux.cfg/default, pay special attention to this menu default configuration determines the default boot option which, if it is [] under the label linux server once restarted will delete all partitions and format, very dangerous be sure to change this.

default vesamenu.c32
prompt 0
timeout 60
 
display boot.msg
 
menu background splash.jpg
menu title Welcome to CentOS 6.6!
menu color border 0 #ffffffff # 00000000
menu color sel 7 #ffffffff # ff000000
menu color title 0 #ffffffff # 00000000
menu color tabmsg 0 #ffffffff # 00000000
menu color unsel 0 #ffffffff # 00000000
menu color hotsel 0 # ff000000 #ffffffff
menu color hotkey 7 #ffffffff # ff000000
menu color scrollbar 0 #ffffffff # 00000000
 
label linux
  menu label ^ Install or upgrade an existing system
  kernel vmlinuz
  append initrd = initrd.img ks = http: //192.168.200.10/CentOS-6.6-x86_64/ks.cfg ksdevice = em1
label vesa
  menu label Install system with ^ basic video driver
  kernel vmlinuz
  append initrd = initrd.img xdriver = vesa nomodeset
label rescue
  menu label ^ Rescue installed system
  kernel vmlinuz
  append initrd = initrd.img rescue
label local
  menu label Boot from ^ local drive
  menu default
  localboot 0xffff
label memtest86
  menu label ^ Memory test
  kernel memtest
  append -

4, Adding Kickstart configuration

Web Contents Add kickstart profile /App/web/CentOS-6.6-x86_64/ks.cfg

install
keyboard us
lang zh_CN
url --url = http: //192.168.200.10/CentOS-6.6-x86_64/
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted $ 6 $ y0UTGMGnCEgUJmUB $ IPcaQ8ipx24V8lAq.XepGoilvjXM9kFs5YrivQQoejYmLOmeVXSeM6IvzxtdsUJ0CFuTMzANEmlj5FOluuwy40
auth --useshadow --passalgo = sha512
reboot
firewall --disabled
firstboot --disable
selinux --disabled
logging --level = info
timezone Asia / Shanghai
bootloader --location = mbr
zerombr yes
clearpart --all --initlabel
part / boot --fstype ext4 --size = 200
part swap --size = 2048
part / --fstype ext4 --size = 200 --grow
 
% Packages
@ Chinese-support
@core
@ Server-policy
@ Workstation-policy
% End
 
% Post
ServiceList = `chkconfig --list | grep '0' | awk '{print $ 1}' | grep -Ev 'sshd | network | crond | syslog'`
for Service in $ ServiceList
do
/etc/init.d/$Service stop
chkconfig --level 0123456 $ Service off
done
 
cat >> /etc/sysctl.conf << EOF
vm.swappiness = 0
net.core.rmem_default = 262144
net.core.rmem_max = 16777216
net.core.wmem_default = 262144
net.core.wmem_max = 16777216
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.ip_local_port_range = 1024 65500
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 786432 1048576 1572864
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
fs.inotify.max_user_watches = 1048576
EOF
sysctl -p
 
cat >> /etc/security/limits.conf << EOF
* - Nofile 1048576
* - Nproc 65536
* - Stack 1024
EOF
 
cat >> / etc / profile << EOF
ulimit -n 1048576
ulimit -u 65536
ulimit -s 1024
 
alias grep = 'grep --color = auto'
export HISTTIMEFORMAT = "% Y-% m-% d% H:% M:% S"
EOF
 
sed -i 's / SELINUX = enforcing / SELINUX = disabled /' / etc / selinux / config
setenforce 0
 
sed -i 's /.* UseDNS yes / UseDNS no /' / etc / ssh / sshd_config
sed -i 's /.* GSSAPIAuthentication yes / GSSAPIAuthentication no /' / etc / ssh / sshd_config
/etc/init.d/sshd restart
 
cat >> $ HOME / .bash_profile << EOF
export PATH = / App / script: \ $ PATH
EOF
 
mkdir -p / App / script / App / src
 
mount --bind / dev / shm / tmp
echo "/ bin / mount --bind / dev / shm / tmp" >> /etc/rc.local

Fifth, check the relevant service listening port

http: 80, dhcp: 67, tftp: 69

netstat -tunlp | grep -E '(0.0.0.0:80|0.0.0.0:67|0.0.0.0:69)'
     
         
         
         
  More:      
 
- Ceph distributed storage system is installed on a CentOS 7.1 (Server)
- Customize the 404 error page Nginx (Server)
- Linux common network tools: hping Advanced Host Scan (Linux)
- MySQL High Availability plan several options (Database)
- The principle Httpclient4.4 (execution request) (Programming)
- C ++ precision performance test function (Programming)
- CentOS 7.0 local address and configure yum source address priority (Linux)
- Ansible installation configuration and simple to use (Server)
- How to install Bugzilla 4.4 on Ubuntu / CentOS 6.x (Linux)
- Shell Script: create a function and specify a directory for download (Programming)
- SELinux security permissions HTTP + PHP service changes (Server)
- Ubuntu 15.04 install Complete Guide (Linux)
- How to use awk command in Linux (Linux)
- Compare Dalvik virtual machine and the JVM (Linux)
- Oracle archive log summary (Database)
- Virtual Judge structures under Ubuntu 14.04 (Server)
- Linux Getting Started tutorial: How to backup Linux systems (Linux)
- Teach you the Ubuntu Server enabled SSH multifactor authentication (Server)
- On the design of Oracle database backup (Database)
- Node.js installed on Ubuntu Upstream version (Linux)
     
           
     
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.