EasyGuiApacheSetup

Summary

We need to ease Ubuntu adoption amongst Web Developers and Windows System Administrators

Release Note

Ubuntu now sports an easy program that lets you setup Apache in a few clicks

Rationale

Ubuntu has no decent apache gui configurator around. We want Ubuntu to be the platform of choice for web-developers, advanced bloggers and system administrators. We also want to improve the Web community's experience so that they feel good about Ubuntu and spread the word even further.

In the short period: we need a way to allow people to easily configure apache on they're machine. There's a nice number of people coming in the support channel asking how to do that. We need to solve that problem

Long term picture: Linux has no really good apache gui config program, we want to fill that hole.

Use Cases

  • Luke is trying to learn PHP. He knows nothing about Apache and doesn't want to learn 2 things at once. He gets advice from a friend and apt-gets Rapache. He now can add VirtualHosts just clicking New and filling the domain name. No need to edit /etc/hosts as well.

  • Felix is a seasoned WebDeveloper. He knows a bunch of linux commands already and has no problem settings virtualhosts but he needs to test a lot of new software often, and creating a virtual hosts by hand (create new vhost file, linking, creating /etc/hosts entry) is time consuming. After installing Rapache creating new test sites on his localhost is a breeze. Rapache even detects some vhost not conforming to debian policy (.conf files only present in /etc/apache/sites-enabled) and offers to fix them for him.

  • Mauro is a Windows Sysadmin. He's used to configure IIS using a program, but the Evil Developers(tm) forced him to run the intranet on a Linux Server. With Rapache he is able to setup everything with ease. He can enable/disable apache modules at will, and access module's documentation with one click.
  • L1nUxM0nSt3R is an abituee of the Irish Ubuntu support channel. Getting a novice correctly edit the Apache configuration, enable the vhost, creating the directory in the right place and modifying /etc/hosts takes him 30minutes on average. Now he can just suggest the use of a Gui program and let the novice do the rest.

Assumptions

The users are running Ubuntu or, at least, Debian.

Design

Python and Gtk.

  • we will be as less distruptive as we can when editing .conf files. Comment's will be left in place and we will modify as little as we can
  • we prefer a remote program to interact with server rather than requiring sysadmins to install a program on every server.

Similar software

Webmin

Webmin is a tremendous contribution to the community. It has some issues though:

  • Installing webmin is quite tedious.
  • Webmin requires itself to be installed on every server you administer.
  • Webmin has a bad reputation about security.
  • Webmin interface is confusing.

Yast Apache Module

  • Works on suse, not on ubuntu.
  • Apparently bound to Yast architecture.
  • Written in c++ + perl. That raises contributors entry barrier a bit.
  • Interface and work flow could be better.
  • Works only on localhost.

Red Hat

What does Red Hat ?

Implementation

We will rely on a custom made parser. We will preserve comments and change as little as we can from the configuration files. Augeas is could be a good choice but it doesn't supports Apache yet.

UI

We will stick with the Gnome way, trying to hide unneccessary complications and present a Sober interface to the user. Screenshot

We will try to stay as much Ubuntu/Gnome look alike as we can. In a way, Rapache main window currently looks similar to the Update Manager.

Test/Demo Plan

Roadmap

  • Fast vhost and easy vhost creation (DONE)
  • Basic apache module handling and (text based) configuration (DONE)
  • Plugin architecture (BASIC IMPLEMENTATION)
  • Development of plugins to handle advanced apache configuration (IN PROGRESS)
  • Development of plugins to handle specific modules GUI configuration
  • Remote Server administration
    • SSH Connection handling
    • Remote servers bookmarking
    • SSH servers discovery on the local network. (avahi ?)

Outstanding Issues

We'd like to implement SSH handling to support remote servers.

We rely on the Debian way to configure apache, so it's unlikely Rapache will support other distros in the near future. That's even worse thinking about the remote feature.

Rapache features for Intrepid (already implemented)

  • Works on localhost (only)
  • Basic VirtualHost management

  • Basic Module handling
  • /etc/hosts tweaking
  • a bunch of handful options (open vhost directory, open vhost in browser, browse module documentation etc)

BoF agenda and discussion

Please fill


CategorySpec

EasyGuiApacheSetup (last edited 2008-09-16 17:15:06 by tacone)