httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Conner <...@conman.org>
Subject Re: [users@httpd] Re: GUI for configuring Apache httpd by editing httpd.conf
Date Tue, 17 Feb 2009 05:55:27 GMT
It was thus said that the Great Mohammed obaidan once stated:
> Hi,
> 
> Apache is not for web server admins. what about developers? What about home
> servers? What about users that needs a certain web application on their
> intranet? do they need to be web server admins to use Apache? certainly not.

  No.  But most default Apache installations pretty much work out of the
box.  And most web developers tend to have to learn how to use .htaccess
files if they want some control over their websites.

> I think I need to clear some points here before this discussion goes on a
> different direction.
> 
> 1. This tool in its final form will do everything you can do with a text
> editor to configure Apache. However it will not be a replacement for a the
> text editor because the tool will handle Apache and the modules that comes
> with it.

  How flexible will this tool be?  I currently maintain my own webserver and
have a particular setup of files:

	/etc/httpd/conf/httpd.conf
	/etc/httpd/conf.d/* (various conf files)
	/home/spc/web/sites/
			www.conman.org/
				site.conf	(Apache conf stuff)
				htdocs/
				cgi-bin/
			boston.conman.org/
				site.conf	(Apache conf stuff)
				htdocs/
				journal/
			secure.conman.org/
				site.conf	(Apache conf stuff)
				htdocs/
				s-htdocs/
				cgi-bin/
			(and so on)

  Some of our servers have the following structure:

	/etc/httpd/
		conf/httpd.conf
		conf.d/*
		sites/###.conf
	/home/virtual/example.net/var/www/html/

  And yet some others have:

	/etc/httpd/
		conf/httpd.conf
		conf.d/*
		sites/*
	/home/user/public_html/

  Will I be able install your tool and have it just work?  What about moving
sites from server to server?  Or will the tool "do its own thing?"

  Also, we use a couple of different control panels, each with their own
interface to Apache.  The major problem I have with these is that often
times, I know how to fix a particular problem within Apache, by modifying
the configuration files directly, but doing so breaks the control panel.  I
can fix it, but I can't, because the control panel limits what I can and
can't do.

  For instance, most (at least, the ones we use) GUIs for Apache will ask
something like:

	Server Name:	[________________________]
	Server Aliases: [________________________]

  and generate a configuration like:

	<VirtualHost 10.10.10.10:80>
		ServerName	www.example.net
		ServerAlias	example.net
		...
	</VirtualHost>

Fine.  It works.  But for SEO [1] you *really* want something like:

	<VirtualHost 10.10.10.10:80>
		ServerName	example.net
		Redirect	permanent	http://www.example.net/
	</VirtualHost>

	<VirtualHost 10.10.10.10:80>
		ServerName	www.example.net
		...
	</VirtualHost>

  And some of our customers (I work at a small webhosting company) wanted
just exactly that.  

  Can't do something *that simple* through the control panels we have.  And
when I "fixed" it by hand, it *broke* the control panel.  I eventually had
to set up a separate Apache *just to handle this type of redirect.*
  
> 2. Do not worry about GUI complexities. These can be solved easily.

  I personally believe it's harder than you think, if only because of
special cases like above (two ways to handle server aliases).  Or the
multiple ways of handling redirects (Redirect vs. mod_rewrite), or the use
of .htaccess (I don't use .htaccess for my personal websites; we have to
allow it for our customers) (oh, and that brings up another issue---about a
year ago I merged all the .htaccess files for my sites into the main conf
files---that's another thing you need to handle).

  I've also read that most people only use about 10% of the features of
Microsoft Word, it's just that each person uses a different 10%.  

> 3. Apache is not for admins only. It is used by developers, home servers,
> local intranets. You do not need to be a web server admin to use Apache.
> 
> 4. I wanted to make this tool because I am a developer and have a home
> server. I want to configure Apache to suit my needs without the need to hack
> a text editor and read the documentation of a certain feature of Apache.

  And that's fine.  But then you need to move the site from your development
server to the deployment server ... 

> 5. This tool can be extended later to include useful tools. As I said before
> the aim is a complete Apache admin tool the first step is a GUI for
> httpd.conf.
> 
> 6. I think I will start building the tool and at least let the community
> test the tool and get a feedback whether this tool will be useful or not.

  For 90, 95% of all websites out there, a simple configuration is all you
need.  It's for the other 5-10% that things get complex quickly.  I have a
site that uses SSL client certificates for authentication and well ...
that's a default part of Apache.  A lot of my sites use Basic and Digest
authentication (so, how do you handle "user accounts" in such a case?).  Oh,
and I forgot about the site that uses AddDescription.  And another one
that's a reverse proxy.  And custom error documents.  

  Wow, I do use a lot of Apache functionality.  

  I only bring up all these points because I use Apache.  A lot.  In a lot
of different configurations.  And frankly, I can't image anything being
"easier" to use than the Apache configuration file.

  One more example before I go---a project at work:

<VirtualHost 10.10.10.10:80>
	ServerName	project-mysql.example.com
	DocumentRoot	/var/www/project/htdocs-mysql
	DirectoryIndex	index.html index.php
	Alias		/CSS/ 	 "/home/spc/source/project/htdocs/layout/CSS/"
	Alias		/images/ "/home/spc/source/project/htdocs/layout/images/"
	Alias		/	 "/home/spc/source/project/htdocs/logic/"

	<Directory /var/www/project/htdocs-mysql>
		Options		All
		AllowOverride	None
	</Directory>
</VirtualHost>

<VirtualHost 10.10.10.10:80>
	ServerName	project-postgresql.example.com
	DocumentRoot	/var/www/project/htdocs-pg
	DirectoryIndex	index.html index.php
	Alias		/CSS/ 	 "/home/spc/source/project/htdocs/layout/CSS/"
	Alias		/images/ "/home/spc/source/project/htdocs/layout/images/"
	Alias		/	 "/home/spc/source/project/htdocs/logic/"

	<Directory /var/www/project/htdocs-pg>
		Options		All
		AllowOverride	None
	</Directory>
</VirtualHost>

It's a PHP project.  PHP files for both sites are in a central location (via
the Alias directive), although I do have an actual DocumentRoot where site
specific files live (where PHP can reference them via
$_SERVER['DOCUMENT_ROOT']).  I really would be interested in seeing a GUI
handle such an Apache configuration.

  -spc (Then again, I'm probably not your target audience ... )

[1]	Search Engine Optimization

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message