Rough Idea Re: Free Network Services: Massive Abstraction Layer for Personal Servers

Server Rekonstruktion - SME Server by rudolf_schuba, on Flickr

Server Rekonstruktion - SME Server by rudolf_schuba, on Flickr

The “thing” in FLOSS right now is Free Network Services, and for good reason–proprietary network services are a serious threat to privacy and overall computing autonomy (especially network and data portability and control).

My idea is for a chunk of FLOSS built specifically for personal servers that abstracts the cumbersome process of installing and configuring (and updating or otherwise managing) individual network/web applications, probably through a simple, password-protected web interface. For example:

I want to run a local laconica install on my personal server. I go to parkerserver.com and log in. Similarly to how i would aptitude install from ubuntu, or (more closely) how i would (as of more recent versions) install a new extension to my wordpress blog, I search for packages whose name match “laconica.” Then I click install.

Same for instantiating a blog, a wiki, a web-based rss reader… hopefully even email hosting and webmail. Installing wordpress is extremely simple as it is (editor’s note: parker loves wordpress), but if the piece of software that i’m imagining could make available in a standard format some config options (database login credentials, port config, server type, other server software/web apps installed), then installing wordpress could literally be a question of pressing a button, and the entire install process, including database config, etc, could all be abstracted. Also, the software should be able to itself be updated through its own web ui (seems crazy, but wordpress does this).

Next step: What if this shipped with a specialized gnu/linux distro (maybe Ubuntu for maximum user-friendliness or gNewSense for maximum freedom)? The idea is that you buy a cheapo tower on ebay with no OS installed, pop in an install CD, and then you’re ready to go. Now, this initial config will necessarily be somewhat painful. The software could try to automatically detect network topography and carefully walk the user through stuff like port forwarding… but only so much of this process can be automated. Nonetheless we can get close. Ubuntu Server ships with apache, mysql, php, etc, and it would probably be trivial to add this extra package.

Also, in terms of scalability as well as software freedom, it’s probably a good idea to make information available to the user about logging in remotely. Perhaps ssh, or perhaps just remote desktop … i’m not sure whether or not a normal gui should be installed on the machine… i’m imagining that one shouldn’t be necessary if the web-accessible front-end is robust enough, and it’s easy enough to get the server online and keep it online (probably the weakest link… again, this has to do with network topography). In fact, if other OS tasks, like installing packages, rebooting the server, rebooting the operating system, configuring user accounts and SSH/SFTP/FTP, etc could all be accomplished from an inviting web interface, operating a personal server and running your own network services would seem like a much less daunting task.

Comments (1)

parkerJune 16th, 2009 at 10:23 am

of interest:
http://unite.opera.com/

it seems to be nonfree software, so it’s certainly not _the_ solution that i was looking for. but it might be close.

Leave a comment

Your comment