Difference between revisions of "School Server/RIT"

From Sugar Labs
Jump to navigation Jump to search
 
(90 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
For [[tos:RIT/Honors Seminar|RIT Honors Seminar]] project.
 
For [[tos:RIT/Honors Seminar|RIT Honors Seminar]] project.
 
==School Server Fall 2009 Seminar Project==
 
==School Server Fall 2009 Seminar Project==
(Draft, please contribute)
+
 
 
===Purpose===
 
===Purpose===
# Provide a school server test and development environment for the Honors Seminar participants,
+
 
# Develop School Server systems administration skills,
+
# To create a school server with minimal hardware requirements in order to develop and test ideas and innovation from within the community
## Backup registered XOs or Sugar Sticks
 
## Host Moodle content developed in class
 
# Test and Debug OLPC - Sugar Labs School Server software
 
# Develop a School Server SysAdmin training curriculum for volunteers who want to support an OLPC or Sugar deployment
 
===Objects and methods===
 
# RIT LTL or other hardware
 
# OLPC XS development builds, http://wiki.laptop.org/go/School_server
 
# http://lists.laptop.org/listinfo/server-devel and [http://lists.laptop.org/pipermail/server-devel/ the list archives], [http://www.mail-archive.com/server-devel@lists.laptop.org/maillist.html archive with search]
 
  
 
==schoolserver.rit.edu==
 
==schoolserver.rit.edu==
  
Note: Admin log is located on the server at /var/log/adminlog.log
+
'''Note:''' Admin log is located on the server at /var/log/adminlog.log
 +
 
 +
===Project Ideas===
  
===Possible Task===
+
<P>'''Current Project and/or current main focus '''
 +
* [http://wiki.laptop.org/go/Book_reader Library /Book Reader]. Thousands of books stored on the XS which children are able to pull over the network either as whole book  or bit by bit as they read them on their XO's.
 +
**An e-book reader client/server system
 +
**Additionally, they can "check out" books and bring them home on their laptops to read at home, or while not connected to the XS.
 +
**This may prove to be more economical than the proposal of distributing text via SD cards as it would allow for a wider range of content per available Gigabyte. One 40 gig hard disk library would hold 10 times as much content as ten, 4-GB SD cards replicated with identical content.
 +
** Run said books through Pootle, so children have access to books not in their native tongue.
 +
** Essentially, a back-end to the read activity.
 +
** <font color="red">Status:</font> Currently under development; See "Reading Library" below.
 +
</P>
 +
<br>
 +
<P>'''Completed projects and tasks'''
 +
* File Distribution System
 +
** <font color="red">Status:</font>  Completed; Testing and improvements currently under development. See more information below - "File Distribution System". Please email us at our contact address if you are interested in learning more about this portion of the XS project or are interested in assisting in development.
 
* Fix Ejabber
 
* Fix Ejabber
* Install Moodle
+
** <font color="red">Status:</font> Ejabber is running and working. XO's can communicate
** Apache
+
*** To use Ejabber point XO server to schoolserver.rit.edu
** PHP
+
* Configure Moodle to our needs
** MySql
+
** <font color="red">Status:</font> Moodle is not configured; We currently do not have a project that needs Moodle.
** Install Moodle
+
</P>
* Moodle xo python api
+
<br>
 +
<P>'''Future project ideas'''
 +
 
 +
* Provide a school server test and development environment for the Honors Seminar participants
 +
* Develop School Server systems administration skills
 +
** Backup registered XO's or Sugar Sticks
 +
*** <font color="red">Status:</font>  Not started
 +
** Host Moodle content developed in class
 +
*** <font color="red">Status:</font>  Moodle is installed but not fully configured.
 +
* Test and Debug XS - Sugar Labs School Server software
 +
** Currently running OLPC-School-Server-0.6-i386.iso
 +
*** <font color="red">Status:</font>  Upgraded to the latest XS Server image.
 +
* Develop a School Server SysAdmin training curriculum for volunteers who want to support OLPC, the XS Server project, or Sugar deployment
 +
** Basic documentation and support is being compiled
 +
*** <font color="red">Status:</font>  Under development; not complete.
 +
* Create an Activity(XO Application) for RIT XO's so students can easily access Moodle
 +
** <font color="red">Status:</font> Not started
 +
* Moodle XO Python API
 +
** <font color="red">Status:</font> Not started
 
* XO Backup/Restore
 
* XO Backup/Restore
* XO Security
+
** <font color="red">Status:</font> Not started
 +
* XO Security [http://wiki.laptop.org/go/Antitheft_HowTo]
 +
** <font color="red">Status:</font> Not started
 +
* Deployment "whitebook"
 +
** <font color="red">Status:</font> Not started
 +
* Provide a service that allows teachers/volunteers (who do not speak English) in actual deployments to communicate via email with technical support volunteers by using the translating service [http://en.wikipedia.org/wiki/Pootle Pootle]. Incoming and outgoing "tagged" emails would be translated in and out of the server on arrival/departure of the XS.
 +
** <font color="red">Status:</font> Not started
 +
*In class quizzing. Teachers ask questions, students respond using their XO, quiz results stored on XS. (Think the [http://www.iclicker.com/dnn/ I>clicker]; Similar concepts were proposed by [http://wiki.sugarlabs.org/go/User:Acj3840 Alex Jones])
 +
** <font color="red">Status:</font> Not started
 +
**Possibility of parsing of information, possible graphical heuristics.
 +
*** <font color="red">Status:</font> Not started
 +
</P>
  
==School Server on an XO ==
+
===Reading Library===
(From Spring 2009 Seminar project, see [[Teacher Reporting]].)
+
'''Resources:'''
 +
* [[olpc:Collections]]
 +
* [[Activities/Get Internet Archive Books]]
 +
* [[Activities/Read Etexts]]
 +
* [http://pypi.python.org/pypi/calibre/0.6.15 Calibre: (Python Ebook reader / Organizer.)]
 +
* [[Activities/Library]]
 +
* [http://lists.laptop.org/pipermail/library/2009-July/001046.html Nepali library]
 +
* [[Features/Content support]] (for contemplating the design and integration with Sugar)
 +
* [[olpc:Simple Digital Library Index]], [http://www.mail-archive.com/server-devel@lists.laptop.org/msg03063.html discussion thread].
 +
====Proposed Design Goals====
 +
# Hold copies of e-books for learners with no Internet access
 +
# Compatible with existing Sugar e-book readers
 +
# Teacher/Administrator interface for loading books from a variety of Internet book archives and portable USB or CD/DVD storage media.
  
A major barrier to achieving our goals is the idea that the School Server needs the ability to be versatile and portable. While some may have resources to dedicate substantial hardware to such a server, others may find themselves with nothing more than the XO laptops. From this stems the idea of running this server on one of the XO laptops via either a USB flash drive, SD card, or the internal NAND hard drive.
+
In the end, we want to have instructions and some supporting scripts to modify the standard OLPC School Server to support a reading library and our campus environment as independent features.
 +
====[[School_Server/RIT/File_Distribution_System|File Distribution System]]====
 +
An alternative to extending e-book readers - a file distribution system for the server and a client for the XO. The goal of this project is to build an easy system to host files on the server that can be downloaded using the browser activity and possibly a file distribution download activity.
  
 +
See the [[School_Server/RIT/File_Distribution_System|Project Page for File Distribution System]].
  
When fully installed on an SD card, the base operating system takes up about 1.6GB. There is a small amount of documentation available which is excellent and extremely helpful, but it can be difficult to use at times. Below is a quick break down of what we did and how to replicate it.
+
===Network Configuration===
 +
The School Server, XS, as received is designed and configured for 2 Ethernet adapters,
 +
* eth0 - connected to the Wide Area Network (WAN) or the campus Internet connection,
 +
* eth1 - connected to an Access Point (AP) which the XOs connect to.
 +
For robustness in unreliable power supply environments, there are scripts that reconfigure features on a frequent basis. This design has frustrated anyone wanting to deviate from the default configuration.
  
====How To:====
+
We will have to understand the design, carefully document our adjustments for our environment, and make preparations to restore one or more configurations once we upgrade to a new version of the server that may likely restore some of the default configurations.
  
The most helpful website to read before beginning can be found here: [http://wiki.laptop.org/go/XS-on-XO Laptop.org's XS-on-XO.]
+
===System Configuration===
  
=====Necessary hardware to replicate our setup includes:=====
+
Current OS installed:
*XO Laptop
+
<br>OLPC-School-Server-0.6-i386.iso
*Linux Computer with SD Card Reader
+
<br><br>
**Can be physical machine or virtual. Also, some things can be done in Windows.
+
From: [http://xs-dev.laptop.org/xs/ http://xs-dev.laptop.org/xs/] using Martin Langhoff's explicit instructions.
*SD card which is at least 4GB (We used an 8GB A-DATA SDHC)
 
  
=====Un-compress the image:=====
+
=====System Information=====
*Download the image file: [http://xs-dev.laptop.org/xs/other/OLPC-School-Server-0.5.2-dev01-i386.img.gz OLPC-School-Server-0.5.2-dev01-i386.img.gz]
+
All configurations based on the installing steps and configurations found at [http://wiki.laptop.org/go/School_server http://wiki.laptop.org/go/School_server] and modified as needed for our applications.
*Un-compress the file
 
**In Windows, [http://www.rarlab.com/download.htm WinRAR] worked well.
 
**In Linux, this command works just as well<pre>gzip -d OLPC-School-Server-0.5.2-dev01-i386.img.gz</pre>
 
  
=====Setting Up the Environment=====
+
<br>Hostname: <code>schoolserver.rit.edu</code>
With the SD card connected to the Linux PC:
+
<br>Server uptime: <code>12:54:38 up 9 days, 18:50, 1 user, load average: 0.00, 0.01, 0.00</code>
*Using a tool of your choice format the SD card to ext2 or ext3 (Linux 83).
+
<br>CPU model: Intel(R) Pentium(R) 4 CPU 1.80GHz
**Gparted was excellent for formating the SD card to ext3, but fdisk would also work.
 
*Mark the partition with the boot flag
 
**This can be done using gparted, but in several instances errors were experienced. In lieu fdisk works great.
 
**To enter fdisk, use
 
<pre>
 
fdisk /dev/sd*1
 
or
 
fdisk /dev/mmcblk*p1
 
</pre>
 
*where * is the letter associated with the SD device and the 1 is the partition. Once in fdisk, use the help to determine the specific command to mark the boot flag. In most instances it will be "a".
 
*Next ensure the .img file, uncompressed previously, is accessible by the Linux machines.
 
*Use the command,  
 
<pre>
 
dd if=OLPC-School-Server-0.5.2-dev01-i386.img of=/dev/sd*1
 
or
 
dd if=OLPC-School-Server-0.5.2-dev01-i386.img of=/dev/mmcblk*p1
 
</pre>
 
**This will take some time depending on the system performance.
 
*Use resize2fs to re-size the partition
 
<pre>
 
resize2fs -p /dev/sd*1
 
or
 
resize2fs -p /dev/mmcblk*p1
 
</pre>
 
  
=====Getting a Developer Key=====
 
*First the XO must have a [http://wiki.laptop.org/go/Activation_and_Developer_Keys developer's key!!!]
 
*The easiest way to go about obtaining this is to boot into the XO's Sugar OS. Open the browse application. Near the bottom right of the home page, there will be a link for "Get a Developer Key".
 
**Click this link and on the next page click the "Submit Query." Go through this process again after 24 hours and the key should be available.
 
**Upon return follow the directions displayed to download the key.
 
*Reboot the XO and tap the "Esc" key to interrupt the booting procedure. At the ok prompt type: <pre>ok disable-security</pre>
 
**The machine will probably reboot. If so, tap the "Esc" key and type the above command again. It may reboot one final time.
 
**Upon this reboot tap the "Esc" key again and type the above command a final time. It should print out:
 
<pre>
 
ok disable-security
 
No wp tag
 
</pre>
 
  
=====Booting the XO from the SD=====
+
===Collaboration Server===
More than likely, this will not work right away, most implementations require some tweaking prior to properly booting.
+
* This bug report, http://dev.laptop.org/ticket/9242, covers the missing collaborator icons in the Neighborhood view (after first connection and before reboot or reconnection to the access point)
*With the SD card inserted in the XO, turn the machine on and press the "Esc" key to interrupt start-up.
 
*At the prompt type:
 
<pre>
 
ok boot sd:\boot\olpc.fth
 
</pre>
 
*It should attempt the boot sequence, but more than likely will fail with a Kernel Panic!!!....error
 
*This is almost expected, but it's actually an important step. If you look further up on the screen, you should see an error in regards to mounting the file system.
 
*Around this area, you should also see a list of strange numbers (i.e. b102:) followed by devices (i.e. ramdisk...)
 
*Find the row for your SD card, it should be labeled something like:
 
<pre>
 
b301:      mmcblk0p1
 
</pre>
 
*Remember the b301 number.
 
*Connect the SD card back to the Linux PC.
 
*Open the file /boot/olpc.fth
 
**Here's a quick resource on what this is [http://wiki.laptop.org/go/SD_Boot_olpc.fth SD Booting].
 
*You'll see a line like this:
 
<pre>
 
" ro root=mmcblk0p1 rootdelay=1 console=ttyS0,115200 console=tty0
 
rootfstype=ext2 fbcon=font:SUN12x22" to boot-file
 
</pre>
 
*Change the "root=******" to be the variable recorded earlier.
 
*Save the changes and put the SD card back in the XO. Reboot the machine and at the prompt again type:
 
<pre>
 
ok boot sd:\boot\olpc.fth
 
</pre>
 
  
=====Post XS School Server Installation Configuration:=====
+
* <code>/etc/idmgr.conf</code> edited line <code>BIND_DOMAIN=172.18.0.1</code> to <code>BIND_DOMAIN=129.21.47.159</code> in order to try to enable the registration service. Ran <code>service idmgr restart</code>.
The following are commands that were run after installing XS on a Virtual Machine. Idealy, the newly configured SD card can now act as the operating system for the Virtual Machine allowing further versatility.  
+
*: But, on trying to register my XO, it stalls for a minute or two and then reports that it failed to connect to the schoolserver (it was connected to the ejabberd service). <br>--[[User:FGrose|FGrose]] 00:35, 17 October 2009 (UTC)
  
<pre>
+
==Schedule/Milestones==
yum groupinstall "GNOME Desktop Environment"
+
===Necessary Tasks===
 +
#Server up and running
 +
#Register the server with the RIT network
 +
#Establish connectivity to the server
 +
#Server administrative tasks
 +
#Server log of tasks
 +
#Develop a list of project ideas
  
edit /etc/inittab and change runlevel from 3 to 5 to startup in Gnome
+
===Completed Tasks (Weeks 1-6):===
 +
#Server up and running
 +
#Register the server with the RIT network
 +
#Establish connectivity to the server
 +
#All group members have an account on the server
 +
#Server administrative tasks<br>''Admin log is located on the server <code>/var/log/adminlog.log</code>"
 +
#Develop project ideas
 +
##Ejabber up and running<br>''To use Ejabber, point XO server to <code>schoolserver.rit.edu</code>''
 +
##Moodle installed on the server
  
yum install mysql-server php php-mysql php-mbstring php-gd php-xmlrpc php-imap cvs
+
===Tasks Under Development (Current)===
 +
#Library/E-Book Reader
 +
#File Distribution System
  
service mysqld start
+
===For Future Development===
mysqladmin -u root password 'mySecurePassword'
+
#Configure Backup/Restore for registered XOs and Sugar Sticks
mysql -u root -p
+
#XO Security
mysql> CREATE DATABASE moodle CHARSET 'utf8';
+
#Configure Moodle
mysql> exit;
+
#*Create and XO Activity for easy access to Moodle
chkconfig mysqld on
+
#*XO Python API
--starts sql server; adds root admin user; logs into server and creates DB;
+
#Develop a School Server SysAdmin training curriculum
--turns the service on on boot.
+
#Deployment "whitebook"
 +
#Translation Service using [http://en.wikipedia.org/wiki/Pootle Pootle]
 +
#In-class quizzing
  
cd /var/www
+
===Resources===
cvs -z3 -d:pserver:anonymous@eu.cvs.moodle.org:/cvsroot/moodle co -r MOODLE_19_STABLE moodle
+
* RIT LTL or other hardware
--download and install/update with the latest version of moodle
+
* OLPC XS development builds, http://wiki.laptop.org/go/School_server
 +
* http://lists.laptop.org/listinfo/server-devel and [http://lists.laptop.org/pipermail/server-devel/ the list archives], [http://www.mail-archive.com/server-devel@lists.laptop.org/maillist.html archive with search]
 +
* OLPC projects/xs repository, http://dev.laptop.org/git/?q=projects%2Fxs
 +
* Martin Langhoff's git repository, http://dev.laptop.org/git/users/martin/
  
mkdir moodledata
+
===Subpages===
chown -R apache:apache moodle
+
[[School Server/RIT/File Distribution System|School Server/RIT/File Distribution System]]<br>[[School Server/RIT/XS on XO|School Server/RIT/XS on XO]]
chown -R apache:apache moodledata
 
--make directory in /var/www/ and change permissions.
 
  
edit the file /etc/httpd/conf/httpd.conf
 
change DocumentRoot "/var/www/html" to DocumentRoot "/var/www/moodle"
 
change <Directory "/var/www/html"> to <Directory "/var/www/moodle">
 
then you must restart the apache server by issuing the command:
 
service httpd restart
 
  
</pre>
+
==Contact Information==
 +
email: schoolserver.rit.edu@gmail.com
 +
<br>
 +
googlegroup: http://groups.google.com/group/schoolserver_rit_edu
 +
<br>
 +
[[User:rnolette| Ryan Nolette]]
 +
<br>
 +
[[User:Fapryce| Fatima Pryce]]
 +
<br>
 +
[[User:Jlew|Justin Lewis]]
 +
<br>
 +
[[User:Wwdillingham|Wesley Dillingham]]
 +
<br>
 +
[[User:FGrose|Fred Grose]]
 +
<br>

Latest revision as of 11:38, 17 November 2009

For RIT Honors Seminar project.

School Server Fall 2009 Seminar Project

Purpose

  1. To create a school server with minimal hardware requirements in order to develop and test ideas and innovation from within the community

schoolserver.rit.edu

Note: Admin log is located on the server at /var/log/adminlog.log

Project Ideas

Current Project and/or current main focus

  • Library /Book Reader. Thousands of books stored on the XS which children are able to pull over the network either as whole book or bit by bit as they read them on their XO's.
    • An e-book reader client/server system
    • Additionally, they can "check out" books and bring them home on their laptops to read at home, or while not connected to the XS.
    • This may prove to be more economical than the proposal of distributing text via SD cards as it would allow for a wider range of content per available Gigabyte. One 40 gig hard disk library would hold 10 times as much content as ten, 4-GB SD cards replicated with identical content.
    • Run said books through Pootle, so children have access to books not in their native tongue.
    • Essentially, a back-end to the read activity.
    • Status: Currently under development; See "Reading Library" below.


Completed projects and tasks

  • File Distribution System
    • Status: Completed; Testing and improvements currently under development. See more information below - "File Distribution System". Please email us at our contact address if you are interested in learning more about this portion of the XS project or are interested in assisting in development.
  • Fix Ejabber
    • Status: Ejabber is running and working. XO's can communicate
      • To use Ejabber point XO server to schoolserver.rit.edu
  • Configure Moodle to our needs
    • Status: Moodle is not configured; We currently do not have a project that needs Moodle.


Future project ideas

  • Provide a school server test and development environment for the Honors Seminar participants
  • Develop School Server systems administration skills
    • Backup registered XO's or Sugar Sticks
      • Status: Not started
    • Host Moodle content developed in class
      • Status: Moodle is installed but not fully configured.
  • Test and Debug XS - Sugar Labs School Server software
    • Currently running OLPC-School-Server-0.6-i386.iso
      • Status: Upgraded to the latest XS Server image.
  • Develop a School Server SysAdmin training curriculum for volunteers who want to support OLPC, the XS Server project, or Sugar deployment
    • Basic documentation and support is being compiled
      • Status: Under development; not complete.
  • Create an Activity(XO Application) for RIT XO's so students can easily access Moodle
    • Status: Not started
  • Moodle XO Python API
    • Status: Not started
  • XO Backup/Restore
    • Status: Not started
  • XO Security [1]
    • Status: Not started
  • Deployment "whitebook"
    • Status: Not started
  • Provide a service that allows teachers/volunteers (who do not speak English) in actual deployments to communicate via email with technical support volunteers by using the translating service Pootle. Incoming and outgoing "tagged" emails would be translated in and out of the server on arrival/departure of the XS.
    • Status: Not started
  • In class quizzing. Teachers ask questions, students respond using their XO, quiz results stored on XS. (Think the I>clicker; Similar concepts were proposed by Alex Jones)
    • Status: Not started
    • Possibility of parsing of information, possible graphical heuristics.
      • Status: Not started

Reading Library

Resources:

Proposed Design Goals

  1. Hold copies of e-books for learners with no Internet access
  2. Compatible with existing Sugar e-book readers
  3. Teacher/Administrator interface for loading books from a variety of Internet book archives and portable USB or CD/DVD storage media.

In the end, we want to have instructions and some supporting scripts to modify the standard OLPC School Server to support a reading library and our campus environment as independent features.

File Distribution System

An alternative to extending e-book readers - a file distribution system for the server and a client for the XO. The goal of this project is to build an easy system to host files on the server that can be downloaded using the browser activity and possibly a file distribution download activity.

See the Project Page for File Distribution System.

Network Configuration

The School Server, XS, as received is designed and configured for 2 Ethernet adapters,

  • eth0 - connected to the Wide Area Network (WAN) or the campus Internet connection,
  • eth1 - connected to an Access Point (AP) which the XOs connect to.

For robustness in unreliable power supply environments, there are scripts that reconfigure features on a frequent basis. This design has frustrated anyone wanting to deviate from the default configuration.

We will have to understand the design, carefully document our adjustments for our environment, and make preparations to restore one or more configurations once we upgrade to a new version of the server that may likely restore some of the default configurations.

System Configuration

Current OS installed:
OLPC-School-Server-0.6-i386.iso

From: http://xs-dev.laptop.org/xs/ using Martin Langhoff's explicit instructions.

System Information

All configurations based on the installing steps and configurations found at http://wiki.laptop.org/go/School_server and modified as needed for our applications.


Hostname: schoolserver.rit.edu
Server uptime: 12:54:38 up 9 days, 18:50, 1 user, load average: 0.00, 0.01, 0.00
CPU model: Intel(R) Pentium(R) 4 CPU 1.80GHz


Collaboration Server

  • This bug report, http://dev.laptop.org/ticket/9242, covers the missing collaborator icons in the Neighborhood view (after first connection and before reboot or reconnection to the access point)
  • /etc/idmgr.conf edited line BIND_DOMAIN=172.18.0.1 to BIND_DOMAIN=129.21.47.159 in order to try to enable the registration service. Ran service idmgr restart.
    But, on trying to register my XO, it stalls for a minute or two and then reports that it failed to connect to the schoolserver (it was connected to the ejabberd service).
    --FGrose 00:35, 17 October 2009 (UTC)

Schedule/Milestones

Necessary Tasks

  1. Server up and running
  2. Register the server with the RIT network
  3. Establish connectivity to the server
  4. Server administrative tasks
  5. Server log of tasks
  6. Develop a list of project ideas

Completed Tasks (Weeks 1-6):

  1. Server up and running
  2. Register the server with the RIT network
  3. Establish connectivity to the server
  4. All group members have an account on the server
  5. Server administrative tasks
    Admin log is located on the server /var/log/adminlog.log"
  6. Develop project ideas
    1. Ejabber up and running
      To use Ejabber, point XO server to schoolserver.rit.edu
    2. Moodle installed on the server

Tasks Under Development (Current)

  1. Library/E-Book Reader
  2. File Distribution System

For Future Development

  1. Configure Backup/Restore for registered XOs and Sugar Sticks
  2. XO Security
  3. Configure Moodle
    • Create and XO Activity for easy access to Moodle
    • XO Python API
  4. Develop a School Server SysAdmin training curriculum
  5. Deployment "whitebook"
  6. Translation Service using Pootle
  7. In-class quizzing

Resources

Subpages

School Server/RIT/File Distribution System
School Server/RIT/XS on XO


Contact Information

email: schoolserver.rit.edu@gmail.com
googlegroup: http://groups.google.com/group/schoolserver_rit_edu
Ryan Nolette
Fatima Pryce
Justin Lewis
Wesley Dillingham
Fred Grose