Last Updated: 21 Nov 2020

   |   

Author: (external edit)

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 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.

Discussion

Enter your comment. Wiki syntax is allowed: