Configuration on Fedora Workstation

NOTE: The material in this article is very dated. It's still good for reference, but it's advised to instead follow one of these Fedora articles instead, these server articles will work fine on Fedora Workstation as well.


 * Fedora_21_Server


 * Fedora_23_Server

'''

FOG (r2922) Configuration on Fedora 21 Workstation inside Windows Server 2012 Hyper-V using Windows Server DHCP
'''

Notes: These instructions are intended to be followed IN ORDER.

Although these instructions were specifically written for r2922 & Fedora 21 (non-updated) inside Hyper-V using Windows Server DHCP, they might help a lot with other newer versions of Fedora; although these other versions have not been tested. These instructions should work fine if you're not using Hyper-V; maintaining that everything else remains the same.

Also, these instructions should be good for any SVN above r2922. If you want to check out a newer revision (which I would recommend), simply change the SVN command below to a different number. Keep in mind, you can upgrade but not downgrade (unless using snapshots).

Hyper-V machine settings

 * 4 cores (or higher)
 * 4086 MB of non-dynamic ram.
 * 512GB HDD (large size for storing the images on the v-machine)
 * Ensure v-machine is connected to a working virtual switch (a working internet connection is required during the FOG software installation).
 * set Fedora 21 workstation ISO into the virtual optical drive.
 * Everything else is default

For further details about network setup of Hyper-V: https://forums.fogproject.org/topic/4706/hyper-v-server-2012-configuration-for-fog-overview

Installing Fedora 21

 * Boot the V-Machine
 * Install to Hard drive
 * english & english -> next
 * ‘Automatic partitioning selected’ is not optimal. Say you want to configure them on your own, and then click the “Make partitions automatically” on the left. From there, you can customize the mount points and their sizes.

Configuring your own partitions
The one thing with using Fedora (or any red-hat based distro) is that the default partitioning isn't optimal for FOG.

Basically, you'd give "swap" the same to double the amount of RAM. Give "home" just a little for working space.. like 5 gigs. I'd bump the "boot" partition up to 2 gigs to be future proof. Finally, give the rest to "/" (root).

Fedora (and most red-hat installers) auto-adjust partition sizes for you if you go over what is available... meaning.. if you are unsure about how much space is left on the drive to assign to "/", and you have a 500GB drive, you can just type something absurd in like 999 GiB and hit "update" and the installer will auto adjust that amount to what is available.

Continuing installation

 * Network & Hostname: FOG (or whatever you like)
 * Click “Begin Installation”
 * Set root password to the Password, MAKE NOTE OF THIS (It must be longer than 8 characters and not a dictionary word, otherwise you’ll run into problems later).
 * Make user & Password (I made one called Administrator with a lowercase ‘a’ for the username.)
 * Check ‘Make this user administrator’
 * Wait for Fedora to install….
 * When install is complete, click Quit.
 * Shutdown Fedora gracefully via the in-system power button. Then remove the ISO in the settings via Hyper-V.

Pre-Configuration of Fedora 21 for FOG

 * boot, if given options, choose the non-emergency one.
 * Log in as the user you created. (Administrator)
 * On first login, choose english & then NEXT
 * Standard English keyboard and NEXT
 * Skip online accounts, “SKIP”
 * click “Start using Fedora”
 * Close “Getting Started” because were already started….
 * OPEN THIS DOCUMENT on the FOG Machine! Lots of copy/pasting!

Disable Firewall and SELinux
systemctl disable firewalld.service Change the line SELINUX=enforcing to SELINUX=disabled
 * Click “Activities” in top left.
 * Type “Terminal” (this is a lot like windows metro on a desktop, just type what you want)
 * Switch to root with su root
 * Enter password set during install
 * Disable the firewall
 * Disable SELinux by editing /etc/selinux/config gedit /etc/selinux/config
 * save and close.
 * Reboot the machine.

CHECK SETTINGS SO FAR
sestatus should return ‘disabled’ systemctl status firewalld.service should return “disabled” and “dead”.
 * After reboot, verify that the firewall is off, and SELinux is off.
 * log into your Administrator account, open terminal.
 * Switch to root. su root
 * Enter your password.
 * Don’t close terminal window, don’t exit ‘root’.

Set up a static IP address

 * Click Activities
 * type “settings”, the Settings icon should appear. Click it.
 * Click Network
 * Under the “wired” adapter, click the gear to set up custom settings.
 * Click “IPv4”
 * Enter in the IP you want to use, netmask, gateway, and DNS server information.
 * Click “Apply”
 * For settings to update, turn off the adapter and then turn it back on. (click the slide)
 * Test by trying to visit Google with firefox. Confirm and close.

Configuring existing DHCP server (Windows Server 2012)
Inside your DHCP server, we have to set some options.
 * IPv4 -> Scope -> Scope Options.
 * Right click Scope Options.
 * Enable 066 Boot Server Host Name, enter the FOG server’s IP.
 * Enable 067 Bootfile Name, set it as undionly.kpxe

Setting Up Fog
yum install svn svn co -r 2922 https://svn.code.sf.net/p/freeghost/code/trunk /opt/fog_trunk (for newer revisions, change the number to what you want. See more info about updating to revisions here: Upgrade to trunk)
 * install svn
 * Yes, you want to install (this will install "beta" Please download from sourceforge for "Stable")

cd /opt/fog_trunk cd bin ./installfog.sh
 * Choose option 1 (because we are using Fedora)
 * Choose the “normal server” because we want it to do everything (but dhcp)
 * Hit enter to accept the currently assigned IP address.
 * Router Address for the DHCP server -> optional. I said no. You’d need this if you were using the FOG server as a DHCP server.
 * DNS address for the dhcp server ->optional. I said no. You’d need this if you were using the FOG server as a DHCP server.
 * Change default network interface, NO!
 * Use FOG server for DHCP service? NO!
 * Install internationalization support? NO! (“yes” will break FOG running on Fedora)
 * Donate computer resources? NO! (Unless you want to. See wiki information on how that works)
 * Do you wish to continue? Yes!
 * Fog installs…. wait…
 * Make notes of ANY failed package installs…
 * When it asks, the installer directory should be /images (we pre-made this during the Fedora install)
 * Yes, you left the mysql password blank (it’s blank out of the box).
 * Update the database schema by navigating to the provided link.
 * Use a web browser. Address is: x.x.x.x/fog/management You don’t have to use Linux for this, use any computer’s web browser (any computer within your LAN).
 * If it only works in Fedora, check Firewall and SELinux status.
 * click “install/Upgrade Now”.
 * wait for that to get done.
 * Press enter in installer.

Necessary post install configuration
cd / touch /images/.mntcheck touch /images/dev/.mntcheck
 * Some required file manipulation and permission changes:
 * Change the fog user’s password using passwd fog
 * enter the Password
 * Create blank file to make Fog check directories
 * Edit the FTP settings file with gedit /etc/vsftpd/vsftpd.conf
 * add this line to the bottom of the file: seccomp_sandbox=NO
 * Save the file.Reboot server

Set the FOG services to start 30 seconds after boot
(necessary with Fedora 21 & r2922. There's an issue with the FOGMulticastManager after a reboot; it's timing related.)

systemctl disable FOG{MulticastManager,Scheduler,SnapinReplicator,ImageReplicator} Create a startup script with gedit /etc/rc.d/rc.local
 * Disable FOG services with:


 * Make that file look like below, exactly.

sleep 30 systemctl start FOGMulticastManager systemctl start FOGScheduler systemctl start FOGSnapinReplicator systemctl start FOGImageReplicator exit 0
 * 1) !/bin/bash


 * save the file
 * Then Run this command to make that file executable: chmod +x /etc/rc.d/rc.local

FOG Configuration.

 * go to the web interface using x.x.x.x/fog/management
 * login (default is fog:password)
 * Click “Storage Management” (network folder looking thing at top).
 * Click “Default Member” in the list.
 * Change management password to the linux fog user’s Password and then click “Update”.
 * Click “Fog Configuration” (blue question mark at top).
 * Click “Fog Settings” on left.
 * Click “TFTP Server”
 * Change Password to the right one.
 * Click Save Changes
 * If you have custom Multicast Settings (like address and port), click Multicast settings and put them in there, and then save the changes.

At this point, you should be done with major configuration.
'''

FOG Server Troubleshooting Help (Fedora 21, r2922 & up)
'''

TFTP Services
systemctl stop xinetd.service systemctl start xinetd.service systemctl enable xinetd.service systemctl disable xinetd.service
 * Check TFTP status with systemctl status xinetd.service (should be on and green, no errors, and enabled)
 * stop, start, disable and enable TFTP service.

RPC Services
systemctl stop rpcbind systemctl start rpcbind systemctl enable rpcbind systemctl disable rpcbind
 * Check the status of RPC with systemctl status rpcbind (should be on and green, no errors, and enabled)
 * Stop, start, disable and enable RPC Service

NFS Services
systemctl stop nfs-server systemctl start nfs-server systemctl enable nfs-server systemctl disable nfs-server
 * Check the status of NFS with systemctl status nfs-server (should be on and green, no errors, and enabled)
 * stop, start, disable and enable NFS service

FTP Services
systemctl stop vsftpd.service systemctl start vsftpd.service systemctl disable vsftpd.service systemctl enable vsftpd.service
 * Check the status of FTP with systemctl status vsftpd.service (should be on and green, no errors, and enabled)
 * stop, start, disable and enable FTP service.
 * Test that it’s functioning by using a web browser and going to ftp://x.x.x.x
 * Use fog / your-fog-account-Password  for the credentials
 * You should see “Index of /”

Firewall Service
systemctl stop firewalld.service systemctl start firewalld.service systemctl disable firewalld.service systemctl enable firewalld.service
 * Check the status of the firewall with systemctl status firewalld.service (should be OFF, no errors, and disabled)
 * stop, start, disable and enable FTP service.

SELinux Service

 * Check the status of SELinux with sestatus (should be disabled)
 * Disable/enable by editing using gedit /etc/selinux/config followed by a reboot.

FOGMulticastManager

 * Check status with systemctl status FOGMulticastManager.service (Should be active, green lit, with no errors)
 * Start, stop, disable, enable, restart by changing the “status” portion of that command to what you need.

FOGImageReplicator

 * Check status with systemctl status FOGImageReplicator.service (Should be active, green lit, with no errors)
 * Start, stop, disable, enable, restart by changing the “status” portion of that command to what you need.

FOGSnapinReplicator

 * Check status with systemctl status FOGSnapinReplicator.service (Should be active, green lit, with no errors)
 * Start, stop, disable, enable, restart by changing the “status” portion of that command to what you need.

FOGScheduler

 * Check status with systemctl status FOGScheduler.service (Should be active, green lit, with no errors)
 * Start, stop, disable, enable, restart by changing the “status” portion of that command to what you need.

Dell Optiplex 7010 BIOS configuration

 * F12 while system is powered on.
 * select “BIOS setup”
 * General -> Boot Sequence
 * “Onboard NIC” should be the first.
 * System Configuration -> Integrated NIC
 * “Enabled w/PXE” should be selected.