RoR => WebAdmin
I need a simple web based server administration program; think WebMin
but without the extensible modules. At first I looked at using WebMin
but it seems like Debian really doesn't like it and its a bit overkill
for me anyway. Then I found a little PHP app that does almost exactly
what I need, but I can't seem to get copyright permissions to package
it for Debian and I'm more than a little nervous about PHP given the
recent language design decisions. Besides, whatever I create
should be usable by Debian at large so I want to follow the DFSG as
closely as possible.
That said, I think creating a little tool in RoR would work fine.
What I need is a simple "Server Status" page listing things like
hostname, time/date, memory consumption, uptime, drive space graphs,
etc. Anything that gives a general overview and some pretty graphs
would be cool. I've found and used Gruff a bit, but not being a Rails
hardcore guy I don't really know what the best option here would be.
I think Gruff is a bit more robust than I need, but it sure is
I also need a way to change certain parameters on the system. I'm
thinking about 4 major areas and building a controller for each of
them (hostname, date/time, IP address/DHCP, email). I'm also planning
on storing the data in a sqlite3 database just so I can backup and
restore it easily. Something like the following:
- Name(string) : name of the parameter to modify
- Description(string): describe the purpose of this parameter
- File(string) : what file must I change in order to make this
- Value(string) : what must I change the file to to make this
- Command(string) : how do I make this happen?
- Rebootable(bool): do I have to reboot to make this happen?
So for the name of the host the record would look something like this:
- "This is the name of the computer. It is used in many places
including outgoing emails"
- "cat %value > %file"
Does this sound reasonable for a Rails app? Is it overkill? Should I
just code something up in Perl and be done with it? :) Better yet,
does anyone know of something that is already out there that I can
either use or learn from? Do you think it would be a valuable
addition to the Debian community?