UbuntuServerTasks

Revision 7 as of 2006-07-05 14:58:48

Clear message

Summary

Define and implement more common installation targets for the server CD.

Rationale

The LAMP install in Dapper was well-received, and (in the associated press release) we have committed to provide more "simple server setup" targets for people who want to hit the ground running more easily with ubuntu-server.

Adding 10 new boot options to the CD sounds like a Very Bad Idea (boot options are UI-limited, and for instance you can only select one, not combine them). This specification therefore depends on ReviveTasksel to provide us with a task selection UI in the installer.

Survey of existing Debian tasks (apart from language and "special" tasks, Debian task policy is generally that each task should correspond to a specific thing a user wants to do):

  • lots of language tasks (not required in Ubuntu due to language packs)
  • database server
  • desktop
  • DNS server
  • file server
  • laptop
  • mail server
  • manual (runs aptitude, probably doesn't actually work at the moment)
  • print server
  • standard (i.e. priority)
  • web server

Use cases

Scope

Design

If necessary, the ubuntu-server CD will tell tasksel to present all available tasks rather than just installing its default.

Each task will be implemented as a seed, from which the server seed will inherit. (At present, this needs minor tweaks to cdimage to ensure that the task seeds all end up on the CD.) Per ReviveTasksel, each server task will be presented using Task fields in the archive, and will not be derivative-specific.

The following is a list of suggested tasks, together with some packages that have been suggested for each. This specification does not attempt to lay down precisely which packages will be selected for each task; the implementor should select these based on which packages can best be supported by Ubuntu, which provide the best out-of-the-box experience, and so on. In general (and there will doubtless be the occasional exception) we should avoid offering a superfluity of alternatives in the task selector, and err more on the side of providing best-of-breed recommendations; more advanced users with set ideas of exactly what they want should be quite happy to use a full-scale package manager.

  • Virtualization server
    • Alternatives: Xen, vserver
  • DNS server
    • bind9 (others in universe); also include utilities like dlint?
  • File server
    • SMB: samba and friends
    • NFS: nfs-kernel-server
  • Print server
    • cupsys plus drivers (foomatic-* and so on)
  • Plain web server
    • apache2 (others in universe)
  • LAMP server
    • Alternative databases: mysql, postgres
    • Alternative languages: php, mod_python, mod_perl, rails?
  • Content management system
  • Plain mail server
    • Alternatives for IMAP(S): dovecot, courier
    • Alternatives for POP3(S): dovecot, courier
    • Alternatives for SMTP(TLS): postfix, exim
    • Alternatives for webmail: there are no webmail clients in main; potential choices are sqwebmail, squirrelmail, roundcubemail
    • Alternatives for mailing list management: mailman
    • Alternatives for anti-spam: bogofilter, spamassassin, razor, dspam, etc.
  • Mail server with all the bells and whistles (virtual hosting, etc.)
    • Alternatives: the full courier suite, or a postfix/dovecot solution
  • Issue tracking / customer relationship management
    • Alternatives: SugarCRM, RT, opengroupware/phpgroupware, Bugzilla, Mantis
  • Authentication server
    • Alternatives: openldap, kerberos
  • Forums software server
    • Alternatives: phorum, phpbb
  • Monitoring software
    • Alternatives: munin, nagios, mrtg, opennms
  • Wiki software
    • moin plus mod_python
  • Blog software
    • pyblosxom (if Tollef wants it in main)

It is possible that Canonical may be developing partnerships with various proprietary/commercial software vendors to support their software on Ubuntu and provide packages. Naturally these could not go on the server CD, but, since server admins will often not have convenient access to gnome-app-install etc., it may make sense to provide Task fields for these in the commercial repository. If database servers are among those packaged, then the following PHP extensions should be packaged and set up to enable development out of the box:

Comments

RoaldHopman : 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 http://www.ubuntuforums.org/showthread.php?t=191858


CategorySpec