Our Step by Step Install of FOG
-
This is our recipe for installing [B]FOG SVN 2651[/B]. It assumes you used [I][B]“Our Step by Step Install of Ubuntu 14.04.1-server-amd64 for FOG”[/B][/I] ( [url]http://fogproject.org/forum/threads...of-ubuntu-14-04-1-server-amd64-for-fog.11937/[/url] ).
[B]01> Install (large) HDD #2 for FOG image store[/B]
[B]02> Partition HDD #2[/B] ( [url]https://help.ubuntu.com/community/InstallingANewHardDrive[/url] )
Login remotely with Kitty ( [url]http://kitty.9bis.net/[/url] )
Elevate Access Level
Identify disk devices
Create Partition Table on appropriate HDD
[CODE]sudo su
lshw -C disk
fdisk /dev/sdb
n
p
1
<enter>
<enter>
w[/CODE][B]03> Initial OS & File System Configuration[/B]
Format [B]NTFS: [/B]([I] for EXT4 replace the [B]“ntfs”[/B] with [B]“ext4”[/B][/I] )
- Quick Format HDD #2
- Mount HDD #2
- Confirm access to HDD #2 (sdb1)
- Unmount
Create Persistent AutoMount Entry for /images in File System Table ( /etc/fstab )
- Backup
- all spacing is tabs
- A restart will generate the folder /images and mount it
Disable Firewall
Install Subversion ( to checkout FOG subversions )
Get Updates
Restart #1
[CODE]mkfs.ntfs -Q /dev/sdb1 &&
mount /dev/sdb1 /mnt/temp &&
ls -la /mnt/temp &&
umount /mnt/temp &&
cp -f /etc/fstab /etc/fstab.old &&
echo -e “/dev/sdb1\t/images\tntfs\tdefaults\t0\t0” >> /etc/fstab &&
ufw disable &&
apt-get install subversion -y &&
apt-get clean &&
apt-get update &&
apt-get upgrade -y &&
apt-get dist-upgrade -y &&
apt-get autoremove -y &&
apt-get autoclean -y &&
reboot[/CODE][B]04> Prepare for, then Install FOG SVN[/B]## Login remotely with Kitty ( [url]http://kitty.9bis.net/[/url] )
Elevate Access Level
Set Permissions on /images
Checkout/Download Fog SVN to /opt/trunk
Install FOG
[CODE]# Remove the two [ U R L ] and [ / U R L ] from the following code
(these are erroneously created when pasted to this website)
sudo su
chmod -R 777 /images &&
svn co -r 2651 [URL]https://svn.code.sf.net/p/freeghost/code/trunk[/URL] /opt/trunk &&
cd /opt/trunk/bin &&
./installfog.sh[/CODE][B]05> Installer Answers[/B]
[LIST=1]
[]What version of Linux would you like to run the installation for? B Debian Based Linux[/B]
[]What type of installation would you like to do? Bormal Server[/B]
[]What is the IP address to be used by this FOG Server? [I][B]<verify the reservation address>[/B][/I]
[]Would you like to setup a router address for the DHCP server? [B]N[/B]
[]Would you like to setup a DNS address for the DHCP server and client boot image? [B]N[/B]
[]Would you like to change the default network interface from eth0? [B]N[/B]
[]Would you like to use the FOG server for DHCP service? [B]N[/B]
[]… Would you like to install the additional language packs? [B]N[/B]
[]Would you like to donate computer resources to the FOG Project? [B]N[/B]
[]Are you sure you wish to continue? [B]Y[/B]
[]Press enter to acknowledge this message. [I][B]<enter>[/B][/I]
[]New password for the MySQL “root” user. [I][B]<Password>[/B][/I]
[]What is the storage location for your images directory? (/images) [I][B]<enter>[/B][/I]
[]Did you leave the mysql password blank during install? [B]N[/B]
[]Please enter your mysql password: [I][B]<Password>[/B][/I]
[]Press [Enter} key when database is updated/installed: [B]Browser visit [url]http://fogserver/fog/management[/url][/B]
[]Select: [B]Install/Upgrade Now[/B]
[]Update / Install Successful! [I][B]<enter>[/B][/I]
[*]Script done, file is /var/log/foginstall.log … the initial Installation is complete.
[/LIST][B]06> Add FOG Startup Procedures[/B]
Workaround for Services Failing to Start
- Backup /etc/rc.local
- Add Restart TFTPD-HPA, MYSQL, FOGMulticastManager
Make FOG Server portable by adjusting configuration at startup to reflect current IP of server
- Find the IPv4 address
- Update FOG MySQL entries with current IP address
- Update default.ipxe with current IP address
- Update FOG Host Configuration file generated at Install
[CODE]cp -f /etc/rc.local /etc/rc.local.old &&
vim /etc/rc.local
“i” <insert these new lines before exit 0>Workaround for Services Failing to Start
sleep 6
service tftpd-hpa restartsleep 6
service mysql restartsleep 6
service FOGMulticastManager restartMake FOG Server Portable
Remove the two [ U R L ] and [ / U R L ] from the following code
(these are erroneously created when pasted to this website)
sleep 6
IP=ip addr list eth0 | grep "inet " |cut -d" " -f6|cut -d/ -f1
mysql --user=root -pPassword -e “UPDATE `globalSettings` SET `settingValue` = ‘$IP’ WHERE `settingKey` =‘FOG_TFTP_HOST’;” fog
mysql --user=root -pPassword -e “UPDATE `globalSettings` SET `settingValue` = ‘$IP’ WHERE `settingKey` =‘FOG_WEB_HOST’;” fog
mysql --user=root -pPassword -e “UPDATE `globalSettings` SET `settingValue` = ‘$IP’ WHERE `settingKey` =‘FOG_WOL_HOST’;” fog
mysql --user=root -pPassword -e “UPDATE `nfsGroupMembers` SET `ngmHostname` = ‘$IP’ WHERE `ngmMemberName` =‘DefaultMember’;” fog
sed -i “s;ipaddress=”.*“;ipaddress=”$IP";" /opt/fog/.fogsettings
sed -i "s;chain [URL]http://([^/]+)/;chain[/URL] [URL]http://$IP/[/URL];" /tftpboot/default.ipxe
sleep 6[/CODE][B]07> Prepare FOG File System and Configure Modules added by FOG[/B]
… for Debian, remove the “/html” from this code
Update NFS Share Settings ( /etc/exports )
- Backup
- Replace entire text ( changing /images from RO to RW, include “,no_subtree_check” )
Set Timezone ( see [url]http://php.net/manual/en/timezones.php[/url] )
Apache2 ( /etc/php5/apache2/php.ini ) & PHP5 ( /etc/php5/cli/php.ini )
- Backup
- Change: ";date.timezone = " to “date.timezone = Canada/Eastern”
Make Fog IP blind ( /var/www/fog/lib/fog/Config.class.php )
- Replace fixed IP entries with Variable ( ‘TFTP_HOST’,‘STORAGE_HOST’,‘WEB_HOST’,‘WOL_HOST’ )
Make Apache Default Web Page default to fog/ ( allows use of shorter url [url]http://fogserver/[/url] )
Create FOG-mandatory files for imaging
Kernel Report ( /var/www/html/fog/service/ipxe/bzImage & bzImage32 )
- View version ( re-test client compatibility if new version! )
- Backup
Get Updates
Restart #2
[CODE]cp -f /etc/exports /etc/exports.old &&
echo “/images (rw,sync,no_wdelay,insecure_locks,no_root_squash,no_subtree_check,insecure,fsid=1)" > /etc/exports &&
echo "/images/dev (rw,sync,no_wdelay,no_root_squash,no_subtree_check,insecure,fsid=2)" >> /etc/exports &&
echo "/opt/fog/clamav (rw,sync,no_wdelay,no_root_squash,no_subtree_check,insecure,fsid=3)" >> /etc/exports &&
cp -f /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.old &&
cp -f /etc/php5/cli/php.ini /etc/php5/cli/php.ini.old &&
sed -i “s;.date.timezone =;date.timezone = Canada/Eastern;” /etc/php5/apache2/php.ini &&
sed -i “s;.date.timezone =;date.timezone = Canada/Eastern;” /etc/php5/cli/php.ini &&
cd /var/www/fog/lib/fog &&
cp -f Config.class.php Config.class.php.old &&
sed -i “s;”.………*”;$_SERVER[‘SERVER_ADDR’];" Config.class.php &&
if [ -f /var/www/html/index.html ];then mv -u /var/www/html/index.html /var/www/html/index.html.old;fi &&
touch /images/.mntcheck &&
touch /images/dev/.mntcheck &&
cd /var/www/html/fog/service/ipxe &&
strings bzImage | grep root &&
cp -f bzImage bzImage_orig &&
cp -f bzImage32 bzImage32_orig &&
apt-get clean &&
apt-get update &&
apt-get upgrade -y &&
apt-get dist-upgrade -y &&
apt-get autoremove -y &&
apt-get autoclean -y &&
reboot[/CODE][B]08> Restart #3[/B]
Login remotely with Kitty ( [url]http://kitty.9bis.net/[/url] )
Elevate Access Level
Get Updates
Restart #3
[CODE]sudo su
apt-get clean &&
apt-get update &&
apt-get upgrade -y &&
apt-get dist-upgrade -y &&
apt-get autoremove -y &&
apt-get autoclean -y &&
reboot[/CODE]Repeat Step 08 if Installer Schema Updater Web page persists.
-
Updated with new aggressive scripting to reduce steps.
Updated with code to make FOG Server mobile!
-
Added some commands, cleaned up others; tweaked remarks; functionally identical.