Here are a few notes on my most recent server build. I’ll fill in more details as time goes on, so check back here in the future. If you have questions, leave them in the comments and I’ll try to address them as best I can.
The server was purpose-built for running Proxmox Virtualization Environment. Proxmox VE is a fantastic Linux distribution based on Debian Linux. To the base OS it adds OpenVZ and KVM, two mature Linux virtualization technologies, and then puts a very easy-to-use web-based GUI on top. I also have built two other servers for running Proxmox VE. The videos for those are here and here.
You really only need to make four purchases to build this server, not counting peripherals such as mouse, keyboard, and monitor:
The case I used is a 1U rackmout server case from Supermicro with a model number of CSE-504-203B. Click the thumbnail to the left to see my video review of this case. In summary, it’s a sturdy, short-depth rackmount case that is designed for specific Supermicro motherboards. You won’t get far trying to use this case with other motherboard manufacturers – check out the video for more details.
This case is very similar to another one from SuperMicro, the CSE 505-203B. The difference is that the CSE 505 has the motherboard ports exposed on the front panel of the case, whereas the CSE 504 that I used has the ports exposed on the rear of the case. The motherboard compatibility of these two cases are the same. Here is a quick list of some of the popular Supermicro motherboard models and the cases that match them:
For these motherboard models: MBD-X9SBAA-F, MBD-X9SCAA-L, MBD-A1SAi-2750F, MBD-A1SRi-2758F
Use one of these cases: CSE-504-203B, CSE 505-203B
For these motherboard models: MBD-X7SPA-H, MBD-X7SPA-HF
For a motherboard, I used Supermicro model MBD-X9SBAA-F-O. This motherboard has an integrated Intel Atom™ Processor model S1260. The cool thing about this processor is, unlike many other Atom processors, it has hardware virtualization support. There are a couple of things you need to know about this motherboard. First, it has no PS/2 ports for mouse or keyboard and supports only USB 3.0. Therefore, only newer operating systems will work properly. Supermicro has published an OS compatibility list here. Secondly, it supports only ECC RAM, and accepts SO-DIMMs. As a result, your choices on RAM are limited as there are not many SO-DIMM memory modules on the market that support ECC. The Kingston RAM I choose works fine.
Use this case: CSE-502L-200B
I will be adding to and revising this blog post as my server project progresses.
The following question came from one of the readers of my blog:
Q. Does Ubuntu sometimes act buggy for you? It does for me. For example, sometimes on my Indicator Applet Session, my username partially repeats and covers up the power icon, so that I cant use that menu to lock screen, switch user, shut down etc. I’ve also had my screen re-lock just after I unlock it, forcing me to enter my password twice. I would like to think that these problems are my own fault. Otherwise, I could not convince as many users to switch to Ubuntu. (Where is is actually practical to do so) I’m using a computer that’s probably 4 years old, so I wonder if that has anything to do with it. I also wonder if I was not careful enough about verifying the hash of my iso, and checking the integrity of my cd. Those are the things that are somewhat in my control. I know you use newer hardware, so I was just wondering if you experience anything like this. I suppose on the server edition there is less to go wrong…
A. Interestingly enough, I occasionally have the very same problem with the power icon on my Ubuntu 10.04 laptop. I’ve never had the issue on my desktop, which is still runing 9.04. I don’t know if the problem is machine specific (such as a driver issue), or whether it is a problem specific to Ubuntu version 10.10. I’ve not done any research on the problem, since tapping the power button on my laptop brings up the power menu with all the options that are missing from the top of the screen. I think it is safe to say that the problem has nothing to do with not verifying the integrity of the CD or the hash of the ISO.
Although desktop Linux is commonly promoted with claims that it is more stable and faster that Windows, I’m not convinced that either is universally true. The core of Linux is very stable and fast, but once you add X Windows, background applications and the like, it is comparable with other operating systems. In some areas it is faster and more stable than Windows, but in other areas it is not as good. The main reasons I use desktop linux instead of Windows are cost and security, and it has some other minor benefits as well.
However, in my opinion the server version of Ubuntu is definitely faster and more stable than Windows Server. I’m basing this on my experience with the 2000 and 2003 versions of Windows Server. It is possible that Microsoft has improved their server products in later versions. In the years I’ve worked with Ubuntu Linux servers I cannot recall ever having something “strange” happen. In other words, when something is not working it simply means I have not configured it correctly. Ubuntu server is also faster and takes less disk space, letting you serve more people with less hardware investment. At work we put several “virtual” servers on each physical server using a Linux-based product call Proxmox VE. My estimation is that I can host six to eight virtual Linux servers using the same hardware resources required to host only two or three Windows servers.
If you’ve been wishing that you could install a web server on your Ubuntu PC, you will be pleased to find out that you can install one very easily. All you will need is an Internet connection, and a bit of time. I hope this guide is helpful.
Here’s how to install: Open Synaptic Package Manager. Choose Edit > Mark Packages by Task. Scroll down and check the box beside “LAMP Server.” This will mark apache2, PHP, and MySQL for installation. Apply the changes. You will be prompted for some configuration information. That’s it! Punch http://localhost into your browser’s address box to test your installation.
Now I suppose you want to add some files. The server’s root directory is
/var/www. If you navigate there with your file browser you will see the files, and even be able to open them with gedit, but you will not be able to edit them. This is because the directory is owned by root. There are multiple ways to work with this. You can run Nautilus from a terminal (
sudo nautilus /var/www), or even create a launcher on your desktop (
for this command: gksudo nautilus /var/www). However, you will probably find it more convenient to change the permissions of the
/var/www folder. To do this, run Nautilus as root (
sudo nautilus), navigate to the
/var folder and right-click on the
www folder. Give yourself access under the permissions tab. Now you can create and delete files without running your file browser as root.
Oh by the way, you can access the server from another computer on the network as well, provided that your firewall allows incoming traffic on port 80. Just enter
your-ip is the ip address of the computer that hosts the server.