SmallBusinessServer

SmallBusinessServer

Status

Introduction

The aims of this specification include having a Small Business Server (SBS) out of the box.

Rationale

"Small" companies/organizations usually don't have staff for setup and administration of their boxes. They just want IT to work and be easy to fix when it breaks without the need to call a services organisation to fix things, because unpredictable IT costs are something they want to avoid at all costs. Therefore we should attempt to make it easy to just install and configure a set of services.

Scope

The SBS buzzword covers many things, ranging from simple network services, to groupware services and services for multi-OS environments. Some services and configuration are needed by other projects like Edubuntu.

Configuration and administration should be done using a common interface, without having access to the local machine (i.e. access via the web).

  • "Basic" Network Services
    • DHCP
    • (Dyn)DNS
    • Time
  • Access to/from the outside/internet
    • Dialup
    • Firewall
    • VPN/IPSec
    • Web Proxy and content filter
  • Authentication
    • Central user and group management (for Unix clients (and Win clients?))
    • LDAP/NIS
  • Printing & Fax

  • File Storage
    • "Roaming profiles", central home directories
    • Storage for Unix based clients (NFS, AFS)
    • Storage for Win clients (SMB)
    • WebDAV ?
  • Groupware
    • Mail sending/receiving
    • Spam/Virus detection and filtering
    • Mail storage
    • Mailing lists
    • Shared Calendar
    • Shared Address books
  • Backup
    • Backup of server configuration and data stored on the server
    • Backup service for clients

Use Cases

There are many.

  • Company Stone LtD. needs to deploy a 10 seats network/office with a relatively small server to handle the above mentioned tasks.
  • Company Pitti needs to deploy a new mail server for his little office but he already has a dns/dhcp server running on another machine.
  • doko decides to start a small home business from scratch and wants to install a replacement server for his old rh server without losing services, so he plans to migrate one service at a time to the new Ubuntu Sohoserver.

We need further discussion, which cases we want to target. As long as we want to support all use cases, there hardly cannot be an "out-of-the-box" setup. We cannot and do not want to support an "universal server". Classifying the uses cases:

  • New network / new office:
    • The machine provides "all" services including Firewall and DHCP, it's the only server.
    • Internet access, maybe DNS and DHCP are provided by a DSL router or something else. Some services have to be disabled. Which ones, how to find out?
  • Integrating server in existing network without server, i.e. add a SOHO server for Win workstations running in a workgroup.
  • Add it adding and/or replacing servives running on other servers (maybe not the target group).

Implementation Plan

According to the requirements this should work "out-of-the-box" but after some evaluation, we agreed that providing a set of default configuration will never ensure that the box will work. It can instead create more problems that it can solve (specially if the services are started with our configs). Our idea is to be able to install the machine with all the services disabled and being able to access it only via webmin, where the admin can simply, with few clicks, activate and configure services.

  • Investigation of webmin to verify minimal service configuration capabilities. is there another similar and better implementation? (high priority)
  • Prepare the metapackage to Depends: on the service we want to offer. (medium priority)
  • Coordinate with d-i team to get soho-server installation option. (medium priority)
  • Define the list of affected packages. (high priority)
  • Given that the above requirements can be satisfied, the overall deployment would involve a few modifications to webmin, an extra package to pull-in the services and example configurations, coordinate with d-i/launchpad to create this task as derivate distro. Due to the size of some applications involved in such requirements, the single CD might not be big enough to sustain this task.

Implementation Process

I (Saba Zabetian) am working on a new Webmin module using the existing ones to make an integrated wizard for administration.

By now it's a very simple wizard that assumes the user doesn't know anything about networking. So it can't ask questions about IP ranges, DNS settings, etc.

I am going to use a Samba Server for authentication, file and printer sharing and roaming profiles.

Using a DHCP Server that remembers MAC address of Samba domain clients, it assigns them static(constant) IPs and I am not going to include DynDNS and WINS. To resolve names I use a DNS (BIND) and a script in samba so that when a computer joins our PDC its MAC address will be added to a DHCP to assign them Constant IP and DNS to resolve their name.

Webmin-sbs Package

Result of 2 month work is now packaged in http://packages.ubuntu.com/breezy/admin/webmin-sbs

After Installing, A Wizard will be added to webmin page in a menu named 'Wizards'. Wizards ask you some information like Domain Name, IP Address, Gateway and preconfig Samba, DHCP and DNS. (There is a question about Internet Sharing but it seems that has some problems with new Webmin packages.)

Now, we are planning to make a web-based user management system, using ajax technincs, to complete easy domain controlling.

Data Preservation and Migration

none

Packages Affected

  • Configuration files for various packages providing services
    • (depending on the configuration frontend)
  • Configuration and Administration framework
    • (as above)

User Interface Requirements

  • Best if web interface is available, otherwise we need to develop a debconf-based solution.

Outstanding Issues

  • webmin security, flexibility and verbosity.
  • packages on cd. We might need to treat this as derivative distro.
  • find the best groupware solution.
  • oh cool! we have an Ubuntu SOHO server... and is the client integrated with the server?
  • May I suggest citadel as the groupware server? http://www.citadel.org

Comment by GuyVanSanden, 2006-05-24: Citadel is nice, but it does not support CalDAV. Actually, nothing stable supports CalDAV at this time, so a groupware server that works well with Evolution seems impossible to find.

Response to above comment, by ArtCancro, 2007-03-15: as you suggested, nothing really supports CalDAV right now. In fact, the CalDAV support in Evolution seems to have bit-rotted, and is not fully usable either. However, both Evolution and Citadel support the current standard: webcal (rudimentary iCalendar over WebDAV transport), so perhaps the pair ought to be considered together, and later upgraded to CalDAV together.

Comment by GabrieleTassoni, 2006-05-08: Hi! How can I help on this project? I already made some integration efforts in some f these areas (set of debs that configure a sbs, with just one users db and LTSP and Windows Domain users authentication). There's a thread on this subject in the forum, http://www.ubuntuforums.org/showthread.php?t=191858 I'm trying to gather people interested from there and try to help this project out! _

Comment by Dughutch, 2006-06-23: I think we might glean some great lessons by checking out the work done over at http://www.contribs.org where they have a working SBS based on CentOS 4.3. Many of the things discussed here have been accomplished there. Also, the thread located at http://ubuntuforums.org/showthread.php?t=191858 is currently active discussing the topic of Ubuntu SBS. Smile :)

Comment by DamienMg, 2006-09-02: I am posting here since I am interested in helping for that project and I did not see any mailing list or more detailed information.

UDU BOF Agenda

UDU Pre-Work

Comments

UbuntuDemon : There is a really interesting and relevant thread going on in the Edgy Development section at www.ubuntuforums.org : It's time to bring Ubuntu to the enterprise [WWW] http://www.ubuntuforums.org/showthread.php?t=191858

AmaGi : It would be good to develop a good decent architecture for managing both server related and client related stuff. I have been thinking about a situation where each client computer gets a small deamon. The deamon can use plugins which support different aspects of system config (i.e. IP configuration, DNS configuration, User profile management, software management, etc.). A server application would be used where each client registers to. In this case the server knows of all clients in the network and at the server all configuration can be prepared and sent to the clients when ready. Clients should be able to be bundled in groups so that different configurations can be easely applied. It is just a brainstorm at the moment.

dmg : This is my main interest also, working on a easy to deploy architecture. The main reason for it is that my mother runs a high school and there are always a lot of problem in handling the network mainly because they have only one guy working on the networks of all high schools and middle schools in the academia (which is a french subdivision for national education).

AndersWallenquist: What about iFolder or OpenAFS as an alternative to Samba? I believe that we have to get an edge to the fileserver.

BryceHarrington: Perhaps the biggest niches for small business are point-of-sale, accounting, and inventory. It'd probably be worthwhile to search around for viable open source options for these three, since if Ubuntu were able to provide even basic capabilities for them, it'd be a start and could be built on from there.

A friend of mine sets up (Windows-based) solutions for small businesses. This usually involves the usual hardware setup - network, a few desktops, etc. - and configuration of software. He also spends a large chunk of time creating customized stuff in Visual Basic for quickbooks, access, etc. to manage inventory and sales, and integrate with other stuff the business uses.

Perhaps if Ubuntu could meet the core needs even with only basic functionality, it'd give a base that consultants could build onto and extend for customer needs. If these consultants could be encouraged to contribute their work back, then possibly it could set up a positive feedback loop - the more contributions that come in, the better Ubuntu becomes for small businesses, and the more the consultants can expand their business and provide good service to their customers. One way they could be encouraged to contribute back would be plain old reputation - if contributions from consultants is highly visible to customers, it will serve as good advertising for that consultant. Or something...

Of course, most of these consultants would argue that unless Ubuntu could provide a 100% perfect stand-in for quickbooks (such as a Linux port), it wouldn't be a viable solution. However, open source's history shows that if it can provide a "good enough" solution to some low end needs, it has the potential to grow into a strong alternative.

Some links that look relevant:

UbuntuDownUnder/BOFs/SmallBusinessServer (last edited 2008-08-06 16:28:44 by localhost)