AdministerServerViaWebInterface

Summary

Implement a web-based administration interface for commons server tasks to Ubuntu Server

Rationale

Many server administrators use Windows because it is very easy to administer without consideration of the security or optimization; a large number of administrators just want their servers to work. Therefore, we should make a tool to bring this aspect to Ubuntu: It just works.

We should take a look at the Microsoft Management Console as many administrators are familiar with it and therefore the users would not be lost if our tool works in a similar way, and if you can do everything you can do with MMC. (Let's call our tool UMC for now - Ubuntu Management Console Smile :) ).

Remark: we need to find a name for this tool, UMC is perhaps not the best choice...

This tool should be linked to UbuntuServerTasks, so it would be easy to add or remove a task.

We should always keep in mind that an Ubuntu server must be secure Smile :)

Use cases

Bob have just installed Ubuntu as a server, and now he wants this server to share a website. He just needs to open the UMC and chose "Add a new task to my server -> Web server". Then he goes on "Manage my Web server" and add his new site. As he also wants to reach the sources of his new web site via FTP, he goes on "Add a new task to my server -> FTP server", and share the directory of his new website on the "Manage my FTP server" section.

Sarah wants to have a domain controller on his network, so she just install Ubuntu and goes on the UMC, "Add a new task to my server -> Windows Domain controller". Then, through "Manage my Windows Domain controller", she adds groups, users and computers. As she also want this server to be the DHCP and DNS of the Windows domain, she also click on "Add a new task to my server -> DHCP", "Add a new task to my server -> DNS". As this server is a Windows domain controller, the DHCP and DNS services are automatically linked to the local LDAP server.

Scope

Design

For Ubuntu server, the users can chose to install UMC at the server installation. They then need to open it locally (via elinks, or tunnel, VPN, etc...). On Ubuntu Desktop, there is a tool in "System->Administration->Make this machine a server" that will install the UMC. UMC is then accessible in "System->Administration->UMC" or something like that.

UMC is accessible from any web browser on local:10000 (we have to chose a default port, is this one the right one?).

The index page of UMC gives the ability to the user to add a new task, or manage any existing tasks.

Implementation

(As the implementation is not chosen yet, I just give an idea! This could be modified). The web server is miniserv from webmin, and the entire interface is written in perl. So we can use the existing webmin and CPAN libraries.

Each task is linked to a package, so it is easy to add or remove tasks to UMC. The other packages could be managed as tasksel does.

Code

Data preservation and migration

Unresolved issues

If we want Ubuntu to be a Windows domain controller, I don't know if/how we can implement the management of Microsoft Policies. If we cannot, the "Domain controller" task we describe in this document should be called "Directory server".

Can an Ubuntu server be a "Domain controller", or just a "Windows domain controller"? Can this task be applied to an other OS client (Ubuntu, other linux distributions, other OS like MacOS, etc...)?

We have to detail every task to specify the way it is implemented. For exemple, does DNS and DHCP depend on LDAP, or should they be used without LDAP? On Windows server, as far as I know, DNS task does not depend on LDAP server.

BoF agenda and discussion

This specifications is linked to this thread: http://ubuntuforums.org/showthread.php?t=191858


CategorySpec

AdministerServerViaWebInterface (last edited 2008-08-06 16:16:36 by localhost)