UbuntuServerTasks

Revision 8 as of 2006-07-05 16:12:14

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

  • Bob is an inexperienced user who isn't comfortable with Debian package management, and would prefer to simply select the kind of server he wishes to install in some kind of a graphical interface.
  • Charlie needs a throwaway wiki server set up immediately for a conference at his workplace. He's unfamiliar with wiki software, and wants to use whatever software is a common, supported choice.
  • Bill, an ex-Windows system administrator, is used to the add/remove software and mmc features in Windows. He would prefer to continue to administer his Linux servers similarly.

Scope

Tasksel revival and integration with d-i, possible promotions to main for some of the software listed below.

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.

  • DNS server
    • bind9
  • File server
    • SMB: samba, smbclient, swat
    • FTP: vsftpd
    • NFS: nfs-kernel-server
  • Print server
    • cupsys plus drivers (foomatic-* and so on)
  • Web server
    • apache2
  • LAMP server
    • Database choices: mysql, postgres
    • Language choices: libapache2-mod-php5, libapache2-mod-python, libapache2-mod-perl2
  • Content management system
    • Choices: Zope/Plone, Drupal (both in universe, non-options without promotion)
  • Plain mail server
    • IMAP(S) choices: dovecot-imapd, courier-imap(-ssl)
    • POP3(S) choices: dovecot-pop3d, courier-pop(-ssl)
    • SMTP(TLS) choices: postfix, exim
    • Webmail choices: sqwebmail, squirrelmail, roundcubemail (all in universe, non-options without promotion)
    • Mailing list server: mailman
    • Anti-spam systems: bogofilter (main), universe options: spamassassin, razor, dspam
  • 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
    • Nothing in main, universe options: Trac, request-tracker (RT), egroupware, phpgroupware, bugzilla, mantis
  • Authentication server
    • slapd
    • almost no Kerberos servers live in main, and a complicated task like Kerberos is probably not a good use of tasksel, as it requires relatively extensive manual configuration later
  • Forums software server
    • Only if we can find some forum software with an excellent security track record. The most commonly used systems have *exceedingly* poor security histories.
  • Monitoring software
    • nagios; universe choices: cacti, mrtg
  • Wiki software
    • python-moinmoin plus mod_python; universe choice: mediawiki
  • Blog software
    • nothing in main, universe choices: wordpress, pyblosxom

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