EasyGuiApacheSetup

Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2008-07-17 22:08:41
Size: 618
Editor: 213-156-52-112
Comment: Blueprint for launchpad
Revision 15 as of 2008-08-06 16:35:39
Size: 5645
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Please fill We need to ease Ubuntu adoption amongst Web Developers and Windows System Administrators
Line 9: Line 9:
Please fill Ubuntu now sports an easy program that lets you setup Apache in a few clicks
Line 13: Line 13:
Please fill 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.
Line 17: Line 21:
Please fill  * 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.
Line 21: Line 28:
Please fill The users are running Ubuntu or, at least, Debian.
Line 25: Line 32:
Please fill 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++ + python. That raises contributors entry barrier a bit.
 * Interface and work flow could be better.
 * Works only on localhost.

=== Red Hat ===

What does Red Hat ?
Line 29: Line 62:
Please fill 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.
Line 33: Line 67:
Please fill 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]]

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.
Line 37: Line 74:
Please fill  * 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

== 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 ?)
Line 41: Line 92:
Please fill 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)
Line 47: Line 108:
=== ubuntu-vm-builder Intrepid Features (already developed) ===
Line 49: Line 109:
Please fill == Related (or possibly related) BluePrints ==
Line 51: Line 111:
=== u-vm-b wanted Features / Bugs ===
Please fill
 * [[https://blueprints.launchpad.net/ubuntu/+spec/server-management-gui]]
 * [[https://blueprints.launchpad.net/ubuntu/+spec/webuntu]]
 * [[https://blueprints.launchpad.net/ubuntu/+spec/ubuntu-developer-edition]]
 * [[https://wiki.ubuntu.com/Webuntu]]

 ... add more

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++ + python. 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 213-156-52-112)