= Basic FreeBSD Setup & Install Notes = This doc covers basic setup of a FreeBSD server. It gets all the core OS functionality on the box, but doesn't cover application software, etc. === BIOS Setup === * Update BIOS to latest version * Perform a 'reset to defaults' on BIOS * Disable onboard sound * Disable onboard RAID (unless using it) * Disable power management === Basic OS Install === Install FreeBSD, using the ISO disk images from [[http://www.freebsd.org]]. During the install, you should use these settings/defaults: * Partition Defaults: * Swap: 512MB or 2X RAM [NOTE: For EV servers, should be 4X drive capacity] * /: 2048MB * /var: ~2048MB * /usr: Rest of disk * Install 'User Only' distribution * Install ports collection * Do any necessary basic config (e.g. networking) during install process. * Do not setup any users (yet), despite what the install process recommends === Basic Software Install === Basic software installation: * install ''/usr/ports/net/cvsup-without-gui'' * [OPTIONAL] Upgrade to freebsd-stable. See the [[freebsd-stable-upgrade|FreeBSD-stable upgrade notes]] for more * Get the latest ports by copying the ''ports-supfile'' from another server (or use the sample file) * Do a ''cvsup ports-supfile'' to download the latest stuff Now, install from ports: * ''/usr/ports/shells/bash'' * ''/usr/ports/net/mtr'' (this will take forever because it installs perl, etc. as dependencies) * ''/usr/ports/www/lynx'' * ''/usr/ports/net/ntp'' (then copy ''/etc/ntp.conf'' from another server and put '' ntpd_enable="YES" '' in ''/etc/rc.conf'' ) * ''/usr/ports/ports-mgmt/port-maintenance-tools'' (this is the port management meta package) * ''/usr/ports/ports-mgmt/portaudit'' * ''/usr/ports/ports-mgmt/portupgrade'' * ''/usr/ports/editors/vim'' * ''/usr/ports/security/sudo'' * ''/usr/ports/ftp/wget'' * ''/usr/ports/ftp/curl'' * ''/usr/ports/sysutils/screen'' * ''/usr/ports/net/rsync'' === Final Config === * Modify passwd file (using ''vipw''), and add at least a toor acct. This means copying the entry for root, and changing the shell to ''/usr/local/bin/bash'' * Add other accounts if needed using ''adduser'' * Get rid of the stupid message of the day in ''/etc/motd'' * Setup automatic ports downloads, using ''/usr/local/bin/ports_sup.sh'' or similar. Run this via cron. Finally, configure rest of server as desired/needed.