EasyGuiApacheSetup

Revision 8 as of 2008-07-21 03:08:19

Clear message

Summary

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

Release Note

Ubuntu now sports an easy program that let's you setup Apache in a few clicks

Rationale

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.

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.

There's already an Apache configuration program by Suse, which is unfortunately in C++ and bound to Yast. The interface is also not particulary user friendly and assumes a fair amount of knowledge already.

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

[http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-main.png Screenshot]

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 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

Project page: https://launchpad.net/rapache A demo is already available from our PPA: https://edge.launchpad.net/%7Erapache-devel/+archive Here's the unstable branch: https://code.launchpad.net/~rapache-devel/rapache/rapache-stage0

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