Last Updated: 21 Nov 2020
|
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 putntpd_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