A look at Superb Mini Server 2.0.1



The Superb Mini Server (SMS) project is designed with the ideas of simplicity and power in mind. The project aims to give home users and small businesses all the server capabilities they need in one small, free-of-cost package. The current version of SMS is based on Slackware 14.0. According to the project's About page, the SMS server distribution is designed to be installed on a box that is connected to an ethernet port and then left alone. Administration of SMS can be performed via secure shell connections or through a web-based portal. By default, SMS does not include a graphical desktop interface, however it is possible to download and add a separate KDE module to the live SMS media.



The default ISO for SMS is just under 500MB in size, making it a fairly lean distribution. I downloaded the media and gave it a test run. Booting from the live media allows us to run SMS in live mode, run it in live mode without any services enabled, run the operating system entirely in RAM, run a PXE boot server or start something called Cluster Mode. Interestingly, the default option is to skip all of these and simply boot from the local hard disk. Booting into live mode brings us to a command prompt login with a long list of provided services, the directory or network locations of these services and login information. Logging in as the root user brought up a message saying we have e-mail waiting to be read, however running the "mail" command indicates no messages are waiting to be read.



Once I had confirmed SMS was on-line and the distribution was playing well with my hardware, I decided to perform an installation. SMS comes with a text installer on its live media and the installer's appearance reminds me a lot of Slackware's installer, though the process of installing is much shorter on SMS. First, the installer launches the cfdisk partition manager and we are expected to make at least two partitions, one for the root file system and one partition is recommended for swap space. Once partitioning is complete we are asked to confirm which partition to use for swap space and then we're asked to type in the full device name of the root partition, for example: "/dev/sda1". Up next, we are asked to select a file system for the root partition and we can select from ext2/3/4, Reiser and JFS. From there the distribution's files are copied to our hard drive, a process which just took a minute or two on my machine. Then we are told LILO is being installed and we can opt to provide any specific parameters needed to bring the system on-line. Then we reboot the machine and begin enjoying SMS.







Superb Mini Server 2.0.1 - the file transfer tools

(full image size: 129kB, screen resolution 1366x768 pixels)

Well, we almost get to enjoy SMS. When I first tried to boot from the local copy of the distribution I found that it hadn't actually installed LILO. I went through the installation a second time and, again, found LILO hadn't been set up on my hard drive. Finally I used the SMS media to boot into live mode and manually mount the disk and run through LILO's configuration. Oddly enough, LILO returned an error saying it couldn't complete its install, but upon rebooting the machine LILO ran properly. It goes to show you can't always trust an error message.



Booting into SMS brings us to a command line login prompt. The distribution comes with the usual GNU/Linux command line programs and, by default, uses just 45MB of RAM. Most of the configuration and management of SMS takes place through a web interface, but in a pinch we can operate from the console. In addition to its Slackware base, SMS comes with the slapt-get package manager which ties into the SMS repositories. Looking at the list of potential repositories in the slapt-get configuration we also find Slackware 13.1 repositories are available, but commented out. I was glad to see slapt-get installed for us as it makes it easy to keep the system up to date with security patches and expand on the distribution's functionality. Though having the additional software sources as older Slackware repositories seemed outdated and it made me wonder why the SMS developers hadn't updated the sources to point to Slackware 14.0, SMS's base.



As just mentioned, most of our system administration will probably occur via the web portal, Webmin. This control panel is running on network port 10,000 and must be accessed using HTTPS in order to protect our login credentials. When we first login to the Webmin portal we are greeted with system statistics such as disk usage, CPU usage, memory consumption and uptime. At the bottom of the status display I found a message saying, "Warning -- Your system is actually running Slackware Linux version 14.0". I am not sure why this is something which requires a warning, but it's nice to know what our base is. The web portal has a list of admin activities and modules down the left side of the screen. These are nicely divided up for us so it's fairly easy to find, for example, a network service module or a module for managing users. The centre and right sections of the display are taken up with the details of the module we have selected. The interface is fairly plain, it's not exciting to look at, but I rather like it for all its simplicity. There aren't any distractions and I enjoy the plain approach.



One of the first tasks I tried to perform was starting the OpenSSH secure shell server. Upon clicking the button to enable the service I received an error message saying I didn't have permission to enable the service, though I was logged in under the administrator account. The Apache module likewise refused to start. However, the Samba service did start for me, as did one of the available FTP servers. One module allowed me to pass console commands directly to an underlying shell and this worked, though the file manager module claimed I was missing a plugin and it refused to function. (A check later showed the missing plugin was Java.) Included in the admin panel is a module for managing packages and I found I could remove installed packages, but searches in the repositories failed to turn up any results, even for software which had previously been installed. Perhaps the oddest thing about using the Webmin interface was that some modules worked for me at one point, but following a reboot they wouldn't (or vice versa). For instance, the first time I tried launching the Apache web service it failed to start, but after a reboot I had no trouble launching the module.







Superb Mini Server 2.0.1 - starting network services

(full image size: 98kB, screen resolution 1366x768 pixels)

Up to this point one could be forgiven for thinking that my experience with SMS was a buggy mess. And, yes, at times it was. However, perhaps the strangest part of using this distribution was that features which didn't work one day would function the next. Or, rather, parts of them would work. The second day of my trial I went into the modules section and successfully started the Apache web server. The warning message on the status page informing me I was using Slackware disappeared. Some modules, like the OpenSSH server still refused to start, but others launched without complaint. This was perhaps my biggest concern while using SMS, there didn't appear to be any consistency as to what would work and what would not and when. For instance, once I got the LAMP service up and running, I browsed to the default web page, selected the torrent client link, hoping to download SMS using SMS, and I was promptly told PHP wasn't working properly. However, when I selected other admin functions which used PHP, such as the phpLDAPAdmin tool, it worked flawlessly, making me think PHP wasn't the real issue. Going through the modules there was a strange quilt work of things which would or would not work (anti-virus didn't, disk checks didn't, the file manager didn't, Samba shares did and ProFTPD did).







Superb Mini Server 2.0.1 - the Apache configuration

(full image size: 168kB, screen resolution 1366x768 pixels)

Now, I am willing to take some responsibility for the problems encountered. When I was reading the project's Download and FAQ pages, it sounded as though the only way to install SMS alongside another distribution would be to use the Live CD. The Native edition of SMS comes with a warning saying, "It will format your HDD and write the MBR. Don't use it for double booting". Naturally, I downloaded the Live edition, which can be installed beside other operating systems. However, when I was reading through the project's Wiki a few days later, I found there were repeated warnings against installing the Live edition. Maybe I should have given SMS a dedicated box to work with and installed the Native edition instead of playing with the Live CD. Perhaps installing from the Live edition was why services appeared to function or not at random, perhaps that's why LILO didn't install properly and perhaps that is why services I had enabled during one session were not started after a reboot. I'm willing to take my fair share of the blame, I probably should have read through the Wiki prior to installing the distribution.



However, the Live edition appears to be the only option for dual-booting machines and, as such, I would assume it is commonly downloaded for the purposes of testing. As a demo, SMS didn't hold up well, or at least not consistently. The Webmin interface is great, easy to navigate and carries a great deal of functionality. The documentation in the project's Wiki is good and the light & clean Slackware base is well suited for this sort of project. On the other hand a lot of features didn't work, settings were not saved across reboots and I ran into a lot of errors.



At this point I am of two opinions of Superb Mini Server. If the bugs I've encountered are indeed a result of installing the Live version instead of performing an exclusive Native install, then I would say SMS is fairly good. The light Slackware base with slapt-get for package management and Webmin for a graphical interface are a great combination. It's easy to use (once installed) and carries a huge range of functionality which should cover all of a person's home and small office server needs. On the other hand, if the bugs I encountered while using the Live edition are also present in the Native edition, then SMS needs polish before it can be considered functional and user friendly.



