As One Laptop Per Child rolls out hundreds of laptops at each school, there is a need as well for some infrastructure that connects these students to digital materials, and teachers to manage their lesson plans and other activities.
I have been working with OLPC Nepal on their deployment of two servers. One is a library server that provides digital content in the local language, ebooks, pictures, and reference materials. The other is a school server that provides filtering, caching and connectivity to the outside internet.
However well we design this, there will be a need for local "system administrators" to put together and maintain these systems and perform the care-and-feeding needed to keep the systems operating properly.
While the exact details of what stack of software will run on these is still in development, we have agreed they would be based on the free and open source software bundle known as the LAMP platform, which stands for the combination of:
- Linux operating system, Fedora 7 in this case
- Apache web server
- MySQL database
- PHP, Perl and Python programming languages
The local teams I am working with have expressed concern that there is a lack of written documentation. Actually, there is probably plenty in both written and online form, we just need to identify it, select the best of the best, and either make that available somewhere or send them physical books and CDs of the content.
Want to help? Here's what we could really use:
- If you know of great books or websites that have easy-to-understand instructions on deploying and maintaining the LAMP platform, how to administer Linux in general, how to write PHP programs, and other tutorials, please post a comment below.
For example, I have been using the 900-page "Fedora 7 Unleashed" from SAMS Publishing, but I suspect there are other books and websites out there that others might consider useful or easier to carry. - If you have books that you no longer need, because they are too introductory or basic for you, consider donating them to an OLPC project. Intro to Linux, Intro to PHP, intro to SQL database query language, would all be useful.
- If you have a PC that you aren't using, and are interested in helping out, consider installing the OLPC server software yourself, and document your experiences, this would greatly help out testing out the bugs, figuring out what needs tuning or adjustment, and to see how well the procedures work on different types of equipment. See the wiki for more details.
This may be old news to you, but I will share anyway. I have been seeking out Internet sites with Linux information lately and have found that this one has a lot of what you seek:
http://www.makelinux.net/reference
Also this site has some things in other languages, but I didn't see Nepali:
http://www.tldp.org/
And this is about LAMP specifically:
http://www.onlamp.com/
This sounds a lot like what OLPC itself is aiming for with their XS school server stack:
http://wiki.laptop.org/go/XS_Server_Specification
Are you collaborating with their development team, or is this an independent initiative?
There are dozens of great free books and howtos at the Linux Doc Project at http://www.tldp.org
One of the best sysadmin books I've seen is Linux System Administration by Nemeth, Hein et.al (ISBN 0131480049). Make sure you get the latest version.
Many (most?) of the best unix books around are published by O'Reilly and Associates. You might want to contact them to see if they have a charitable donation program or the like. Their online store has info on all their books (see http://www.oreilly.com/store/ for details).
Tony, I believe you have hit the nail right on the head as to what is The Next Big Challenge in terms of successful OLPC deployment. So much I agree with you that I am considering starting a non-profit to solve the OLPC-to-rest-of-the-world interface, and in that sense the school server is obviously vital, and in the absence of connectivity to the internet, which will be the case more often than not, probably THE main element to make OLPCs work. I've seen http://wiki.laptop.org/go/XS_Server_Specification and I find their approach to hardware issues very interesting. Yet the next problem I see is in content, content management, content access. In my mind see a Wikipedia copy on the server, and a wiki that OLPC users can access and work with. I'm sure there is more. I will download and install their live CD and set it in one of my test machines, and contact you through your email.
Optic,
Yes, I am working with the XS development team. There are actually two efforts. One-- develop a green-and-white "XS" machine that can be mass produced, pre-installed and ready to go. However this may not be ready till later this year. Two-- develop an "XSX" machine from commodity off-the-shelf equipment that can be used in the mean time for OLPC projects going on right now. The lessons learned from XSX will help finalize the software stack used on the final "XS" machine.
I've gone through the install for the XS-150 build.
I have an older machine (P3 Compaq Deskpro with 256MB ram) running it and serving pages nicely on my lan.
It was exactly as the Wiki described with having to reboot manually and setting the root password manually.
I look forward to seeing the mature school server stack.
I have not had a lot of luck with running Ejabberd as I dont have an XO (or two) to test with. Experimenting with wireless configs now.