SME Server is an open-source server distribution providing many services, including networking, routing, file sharing, email and much more, in one easy-to-administer Web panel.
If you're looking for a free, simple-to-set-up, ready-made Linux server, SME Server should fill your need. The current version, 7.5.1, is based on CentOS 4.8, but the next release, currently in beta, will utilize CentOS 5.5 as its base. For those unfamiliar with CentOS, it's a free re-branded version of Red Hat, so you should feel comfortable knowing it's built on a well-known enterprise platform.
Everything is included in an ISO file that fits on one CD, so it contains only the minimum necessary to provide many services—from managing a network with domains, DHCP, LDAP, and routing, to providing external access with Web proxies, Web servers, and VPNs.
Visit the SME Server Web site to download the latest stable or beta ISO images. As with most canned OS distributions, the installation expects to be the only OS residing on the hard drive. Also, installation is extremely simple, so you get everything as is, with no optional or modular installation options available. Simply pop the CD in, answer a few basic questions, and everything will be installed. SME Server does have some software RAID capabilities, so if you have two identical disks, a RAID 1 mirror will be created automatically.
You can choose from three types of server during installation: server and gateway, private server and gateway, and server-only. In both "server and gateway" and "private server and gateway," SME Server is going to require that it be the Internet gateway for the LAN. In this mode, the server will need to have two NICs. One is for the gateway address, the other for the local LAN. In "server and gateway" mode, one of the Ethernet ports will be on a public IP address, so you can utilize included Web mail, Web server, and VPN services to the outside world. The "private server and gateway" mode is identical, but all outside access is blocked. The simplest install, server-only, will not include any firewall and routing, so it should be used only when it's behind another firewall.
After the installation completes and the machine reboots, there will be a login on the server console. You can administer the server from the command line, but all changes and configurations can be managed from the Web interface at this point. Open up a Web browser and navigate to the IP address of the server (http://IP_ADDRESS/server-manager). You'll be presented with the Web interface screen, where you can start configuring the server. The username is admin, and the password is whatever you chose during installation.
Figure 1: This is the SME administration Web interface. (Click images to enlarge.)
From here, configuration and setup is really easy and rather self-explanatory. You can create users and groups, and even set up quotas on those accounts. Under the administration section, the backup and restore process offers a few options. The security section allows remote access connection, configuration of networks, port forwarding, and proxy settings for HTTP and SMTP services. Configuration for FTP, SSH, and PPTP (Point-to-Point Tunneling Protocol) can be found under the Remote Access screen.
Before you enable PPTP as a VPN method, it may be wise to research the protocol. It's often criticized for security concerns, but it still continues to be a widely used protocol for remote VPN access. By default, mostly all of these types of remote access features are disabled.
The current version of Samba included in the stable release of SME Server is rather old. As such, it will not currently support joining Windows 7 and Windows Server 2008 machines into the Samba domains. The new version of SME Server 8 will fix this issue by including a newer Samba 3.3 or 3.4 release to replace Samba 3.0. Windows XP machines have no issues joining the older Samba domains.
All of the Samba, LDAP, and email screens are located under the configuration screen. Fill in all the details of a Windows workgroup, the option for the server to act as a domain controller on the network, and the use of roaming profiles at the workgroup page. Be cautious about implementing roaming profiles in a Linux environment. Roaming profiles are great for users to go from PC to PC and have all their files and settings, but management of roaming profiles from Linux servers to the Windows desktops can be a bit tricky. Many options that are available in Active Directory environments to allow control and configuration are missing when Samba is used.
Also, if you have multiple locations being managed from one location, and the LAN link speeds to those locations are slow, you're going to have long and slow wait times for user logins as roaming profile sizes often grow. If none of these concern or apply to you, then roaming profiles are a great thing and offer wonderful backup options to the server, but keep these issues in mind.
Figure 2: This is the Samba domain controller settings screen.
I won't bore you by going over every screen, as each explains very clearly what it's for. LDAP settings are under the directory pages; printers can be shared out under the printers page; and email POP3, IMAP, and Web mail access are configured under the email page. The Web mail package included in SME Server is Horde. Sadly, there is no calendar support, which I think may be a deterrent to many Web mail users.
What's nice about SME Server is that it combines many of the pieces of Linux networking into one already-installed location. Often, individual set up of Linux servers is time-consuming and difficult, especially for those with little to no experience in Linux networking. SME Server offers small to medium-sized businesses a packaged solution with many great services in one easy-to-manage bundle.
As with any pre-rolled distribution, the pitfalls are the lack of options you, the administrator, have a say in. What one persons needs may not be what the next wants, but SME Server has done a decent job of including many commonly used pieces of networking in one OS. If you have a budget to deal with or are simply looking to start learning and experimenting with some Linux networking components, SME Server offers a great tool to handle that.