The first in what will hopefully be a series of articles disusing software choices, configurations and setup instructions to create a basic small business server in Linux. The plan, in the end is to have a server that can perform all the basic functionality that any small business might need. Things like email, file shares, disaster recovery, printer sharing and even a proxy server with logging. The most challenging part of the build will be making it transparent to the end-user that this isn’t a Windows domain.
I choose to use Debian as my server OS for a couple reasons but mostly because its widely used and actively updated as well as being lean and mean, the perfect platform to build from. The easiest way to install Debian (4.0 as of this writing) is the network install CD. You can download the CD ISO for your architecture here. I’ll be setting up my server with the help of virtualization, since I don’t have the spare hardware, and I can take snapshots of the machine before experimenting with a piece of software, or configuration.
So the first step is to configure a server. I recommend a server with at least 5GB of disk space and 256MB of RAM. Likely, if you are going to put this into production, you’ll want more RAM, but for our development and testing purposes this should be more than enough. Also, don’t forget to segregate it on your network. Some services (DHCP in particular) can only be on one machine in any network, and if you set it up in two places you’ll create a very large mess.
Your going to need to make a few choices, so lets go over them now. First off, the server is going to need a name and in my line of work I’ve seem some interesting ones. Some people like to be funny and creative giving their servers names like “Yoda”. Personally and from experience strategic names are much more useful and a generic server like this will be named sv01 (for server 01). You’ll also need to pick a domain name now. I highly recommend you use a ‘.local’ domain name. Keep it simple, it will be a saving grace in the long run. In my case, I’m going to use indemnity83.local. You’ll also want to pick a username convention now (since you will create your first user during the install). I’m a fan of the first initial last name convention, so my first user will be kklaus. Lastly, an IP Scheme for your network which is outside of the scope of this. If you don’t know what to use, just follow my example. I’m going to use a 10.0.0.0/24 scheme where 10.0.0.1 is my gateway, and I’ll put other network equipment at 1-9, servers from 10-19, printers from 20-29 and 30-99 will be for DHCP.
Now on to the installation of Debian. I’m going to be brief about the installation. There isn’t anything complicated here. Use the information you decided on above to fill out any questions.
- Configure the network (possibly, this will be configured automatically). Setting the ip address to 10.0.0.10, netmask to 255.255.255.0, the gateway to 10.0.0.1 and the name server to 208.67.222.222 (openDNS.org for now)
- Enter the hostname and domain name you choose previously when they are asked for
- Partition the hard using the “Guided – use entire disk” option, and “All files in one partition”
- Choose the correct timezone for your location
- Setup the root password, and the first user (use yourself as the first user and your user name convention from before).
- After the base system is installed, choose a mirror (which one doesn’t matter much) and if you want to participate in package-survey, but don’t select anything at the software selection screen.
- Finally, install the Grub boot loader
Once you are done with the installation, the rest is just some basic changes to get the system ready for whatever you want to throw at it next. Log in as root and setup apt by editing the /etc/apt/sources.list file and removing any line that references the CD. Once you’ve done that you can run apt-get update to update apt’s package list and apt-get upgrade just to make sure everything you’ve got is up to date.
apt-get update
apt-get upgrade
Next, there are some things about vim-tiny that bug me, and sudo is likely missing so I would install those two applications:
apt-get install vim-full sudo
You’ll need to add yourself to the /etc/sudoers file, simply copy the line for root, substituting your username for root and save the file. If you are using VMWare, you may also want to install the VMWare tools on this system now. There is a supurb guide here you can use to get them installed.
And thats it, you now have a basic Debian server installation ready to be built into a rock solid and free small business server.
Pingback: My basic Debian install | Indemnity83 | BH-Server