How I Create a Ready-to-Deploy FOG Server git1.3.0-RC-10_svn5955 on CentOS 7.x VM



  • This document assumes having followed:
    A. My CentOS 7.2.1511 recipe (for solely running a FOG Server) ( https://forums.fogproject.org/topic/8231/my-centos-7-2-1511-recipe-for-solely-running-a-fog-server )

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    01> CHECKPOINT: Basic OS and pre-Configuration for FOG here
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    sudo su
    
    • Change Server Hostname to generic xyzfog
    echo xyzfog > /proc/sys/kernel/hostname
    sed -i 's|127.0.1.1.*|127.0.1.1\t'"xyzfog"'|g' /etc/hosts
    echo xyzfog > /etc/hostname
    sysctl kernel.hostname=xyzfog
    
    • Create Temp Directory in Home Mount Folder
    if [ ! -d /mnt/temp ]; then
    mkdir /mnt/temp
    fi
    
    • Install Clam Antivirus (from EPEL Release for CentOS)
    yum install -y epel-release
    yum install -y clamav
    
    • Install Common Internet File System Utilities (cifs-utils) for Volume Mounting (SMB Share)
    yum install -y cifs-utils
    
    • Install Tuxera Inc. NTFS-3G driver (because I use NTFS on the 2nd HDD)
    yum install -y ntfs-3g
    
    • Install File Synchronization and File Transfer program (rsync)
    yum install -y rsync
    
    • Install VIM (text editor)
    yum install -y vim
    
    • Install Subversion ( to checkout FOG SVN from Sourceforge )
    yum install -y subversion
    
    • Install GIT ( to pull down FOG from GIT )
    yum install -y git
    
    • Install NTP (Network Time Protocol)
    yum install -y ntp ntpdate ntp-doc
    
    • Configure NTP and display
    systemctl enable ntpd.service
    systemctl start ntpd
    firewall-cmd --reload
    firewall-cmd --permanent --add-service=ntp
    ntpdate <server or domain of your choice>
    systemctl status ntpd
    ntpq -p
    date -R
    sleep 3
    
    • Add Firewall Exceptions for Common Fog Services
    for SERVICE in http https tftp ftp mysql nfs mountd ntp rpc-bind proxy-dhcp samba; do
    firewall-cmd --permanent --zone=public --add-service=$SERVICE
    done
    
    • Open Firewall UDP port 9000 and 9001, these are the default ports of udp-sender
    firewall-cmd --permanent --add-port=9000-9001/udp
    
    • Open FOG Multicast port range 49152-65532
    firewall-cmd --permanent --add-port=49152-65532/udp
    
    • Configure Firewall: allow IGMP traffic for Multicast
    firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p igmp -j ACCEPT
    
    • Restart Firewall
    systemctl restart firewalld.service
    
    • Set SELinux to permissive ( /etc/selinux/config )
    sed -i "s|=enforcing|=permissive|g" /etc/selinux/config
    
    • Clean & Update the OS
    yum clean all
    yum makecache
    yum update -y
    sleep 3
    
    • Reboot to Commit
    reboot
    

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    02> CHECKPOINT: Prepare FOG Repositories here
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    sudo su
    
    • Create Dummy Images Directory at root
    if [ ! -d /images ]; then
    mkdir /images
    fi
    
    • Set Access Permissions on Images Folder
    chmod -R 777 /images
    
    • Create Directories for GIT & SVN Repositories
    if [ -d /opt/trunkgit ]; then
    rm -rf /opt/trunkgit
    fi
    
    if [ -d /opt/trunksvn ]; then
    rm -rf /opt/trunksvn
    fi
    
    if [ ! -d /opt/trunkgit ]; then
    mkdir /opt/trunkgit
    fi
    
    • Download the latest build from GIT
    if [ ! -d /opt/trunkgit/fogproject ]; then
    cd /opt/trunkgit
    git clone https://github.com/FOGProject/fogproject.git
    else
    cd /opt/trunkgit/fogproject
    git pull
    fi
    
    if [ ! -d /opt/trunksvn ]; then
    mkdir /opt/trunksvn
    fi
    
    if [ ! -d /opt/trunksvn/fogproject ]; then
    mkdir /opt/trunksvn/fogproject
    fi
    
    svn co -r 5955 https://svn.code.sf.net/p/freeghost/code/trunk /opt/trunksvn/fogproject
    
    • Display Build of each FOG Repository
    grep FOG_VERSION /opt/trunkgit/fogproject/packages/web/lib/fog/system.class.php | sed "s/^[ \t]*define(.FOG_VERSION., .\([0-9\.]*\).);/FOG Version in GIT: \1/"
    grep FOG_VERSION /opt/trunksvn/fogproject/packages/web/lib/fog/system.class.php | sed "s/^[ \t]*define(.FOG_VERSION., .\([0-9\.]*\).);/FOG Version in SVN: \1/"
    sleep 3
    
    • Clear history of typed commands
    history -c
    
    • Shutdown
    shutdown now
    

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    03> CHECKPOINT: End of RTD FOG
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    • Add Legacy Network Adapter
    • Set Legacy Network Adapter, Virtual Switch: Onboard
    • Set BIOS Boot to Legacy Network Adapter
    • Deselect Enable Dynamic Memory

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    04> CHECKPOINT: Export and Capture from here
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    • Export VM
    • Capture via FOG (Linux, Single Disk - Resizable, Compression=3)

    Continue to:
    How I Deploy an RTD FOG Server git1.3.0-RC-10_svn5955 ( https://forums.fogproject.org/topic/8707/how-i-deploy-an-rtd-fog-server-git1-3-0-rc-10_svn5955 )



  • Thanks for the heads-up. I have changed my posted recipe.


  • Moderator

    @sudburr up to you. If you test udpsender without specifying a port, it will use those two ports.



  • Would you say it’s worth removing the old?

    firewall-cmd --permanent --add-port=9000-9001/udp
    

  • Moderator

    @sudburr said in How I Create a Ready-to-Deploy FOG Server git1.3.0-RC-10_svn5955 on CentOS 7.x VM:

    Open Firewall UDP port 9000 and 9001, these are the default ports of udp-sender

    firewall-cmd --permanent --add-port=9000-9001/udp

    One tweak: Yes, those are the default ports, but those aren’t the ports used by fog. I corrected this in the wiki some time ago. Here’s the right ports and commands:

    echo "Open UDP port 49152 through 65532, the possible used ports for fog multicast" 
    firewall-cmd --permanent --add-port=49152-65532/udp
    echo "Allow IGMP traffic for multicast"
    firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p igmp -j ACCEPT
    systemctl restart firewalld.service
    

Log in to reply
 

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.