Nepal:School Server Specification - Phase 1 Design

From OLPC
Revision as of 23:52, 5 April 2008 by Cjl (talk | contribs) (cat)
Jump to navigation Jump to search

Nepal Deployment School Server Phase 1 Design Proposal

This deployment must be online for teacher training the first week of April.
See the full schedule at: http://wiki.laptop.org/go/Nepal:Pilot_Project_Plan

The previous design discussion is maintained for tracking phase 2 at: http://wiki.laptop.org/go/Nepal:School_Server_Specification

General Linux installation instructions are available here:
http://www.ibm.com/developerworks/blogs/page/InsideSystemStorage?entry=understanding_lamp_platform_for_web

Links to XS configurations are available here: http://wiki.laptop.org/go/XS_Configuration_Management

Main school server page is here: http://wiki.laptop.org/go/School_server

Instructions for downloading and building School Server software is here: http://wiki.laptop.org/go/XS_Server_Software

List of Hardware

1 Two servers

  1. XS1
  2. XF (Squid) - This box reside in the date center. Its over an 8Mb/s wireless link from the school.
All server boxes will have the following:
- Intel or AMD at least 2 ghz
- RAM?
- At least 300gb hard drive
- USB ports (how many? at least 3, one per active antenna, plus one for making USB keys)
- Bootable DVD or CD-ROM drive
- 3 x Active Antennas
- 10/100 NIC?
- Other wireless NIC?

2 Wireless Access Point and Router
- Model name and number?

3 Cables
- Enough Cat 5/6 with RJ45 connectors to connect servers to Wireless AP/Router - 5 Meter USB cable for each active antenna

4 Power strip/circuit breakers
- How many?

5 Hub?

List of Software on XS

Core Software

  • XS Server XS-150
  • Fedora v7 (or 8?)
  • Moodle v1.8.4
  • PHP v5
  • MySQL v5
  • Apache v2
  • DHCP
  • DNS

The following diff shows the changes on Nepal server from XO build 150

diff-xs-150-w-production-v2.txt


3a4 > ConsoleKit-x11.i386 0.2.1-2.fc7
installed
4a6
> ImageMagick.i386 6.3.2.9-3.fc7
installed
8a11,13
> Terminal.i386 0.2.8-2.fc7
installed
> Thunar.i386 0.9.0-2.fc7
installed
> a2ps.i386 4.13b-65.fc7
installed
19a25,26
> aspell.i386 12:0.60.5-3.fc7
installed
> aspell-en.i386 50:6.0-7.fc7
installed
23a31 > audit.i386 1.5.6-2.fc7
installed
80a89
> desktop-backgrounds-basic.noarch 2.0-37
installed
88a98
> dialog.i386 1.1-1.20070227svn.fc7
installed
98,99c108,110
< e2fsprogs.i386 1.40.2-2.fc7
installed
< e2fsprogs-libs.i386 1.40.2-2.fc7
installed
---
> e2fsprogs.i386 1.40.2-3.fc7
installed
> e2fsprogs-devel.i386 1.40.2-3.fc7
installed
> e2fsprogs-libs.i386 1.40.2-3.fc7
installed
108c119
< erlang.i386 R11B-2.4.fc7
installed
---
> erlang.i386 R12B-0.1.fc7
installed
110a122
> exo.i386 0.3.4-1.fc7
installed
111a124
> expat-devel.i386 1.95.8-9
installed
127a141,142 > foomatic.i386 3.0.2-47.2.fc7
installed > fortune-mod.i386 1.99.1-8.fc7
installed
135a151
> gdm.i386 1:2.18.4-2.fc7
installed
137a154,155
> ghostscript.i386 8.15.4-3.fc7
installed
> ghostscript-fonts.noarch 5.50-16.fc7
installed
146a165
> gnome-desktop.i386 2.18.0-4.fc7
installed
163a183
> groff-perl.i386 1.18.1.4-8.fc7
installed
180a201
> im-chooser.i386 0.3.4-1.fc7
installed
200,201c221,224
< krb5-libs.i386 1.6.1-4.fc7
installed
< krb5-workstation.i386 1.6.1-4.fc7
installed
--- > krb5-auth-dialog.i386 0.7-2
installed
> krb5-devel.i386 1.6.1-8.fc7
installed
> krb5-libs.i386 1.6.1-8.fc7
installed
> krb5-workstation.i386 1.6.1-8.fc7
installed
202a226
> lcms.i386 1.16-3 installed
243a268
> libcroco.i386 0.6.1-2.1 installed
249a275
> liberation-fonts.noarch 0.2-2.fc7 installed
272a299
> librsvg2.i386 2.16.1-1.fc7 installed
277a305
> libsmi.i386 0.4.5-2.fc6 installed
288a317
> libwmf.i386 0.2.8.4-14.fc7 installed
290a320,322
> libxfce4mcs.i386 4.4.2-1.fc7 installed
> libxfce4util.i386 4.4.2-1.fc7 installed
> libxfcegui4.i386 4.4.2-1.fc7 installed
297a330 > linuxwacom.i386 0.7.6.4-3.fc7 installed
306a340,341 > m17n-db.noarch 1.3.4-9.fc7 installed
> m17n-lib.i386 1.3.4-1.1.fc7 installed
329a365
> mousepad.i386 0.2.13-1.fc7 installed
330a367,369
> mysql.i386 5.0.45-6.fc7 installed
> mysql-libs.i386 5.0.45-6.fc7 installed
> mysql-server.i386 5.0.45-6.fc7 installed
357a397
> openssh-askpass.i386 4.5p1-6.fc7 installed
360a401
> openssl-devel.i386 0.9.8b-15.fc7 installed
380a422,423
> perl-DBD-MySQL.i386 3.0008-1.fc7 installed
> perl-DBI.i386 1.53-2.fc7 installed
400a444,445
> php.i386 5.2.4-1.fc7 installed
> php-cli.i386
5.2.4-1.fc7 installed 401a447
> php-gd.i386 5.2.4-1.fc7 installed
403c449,452
< pirut.noarch 1.3.23-1.fc7 installed
--- > php-mbstring.i386 5.2.4-1.fc7 installed
> php-mysql.i386 5.2.4-1.fc7 installed
> php-pdo.i386 5.2.4-1.fc7 installed
> pirut.noarch 1.3.28-1.fc7 installed
406c455,456
< policycoreutils.i386 2.0.16-15.fc7 installed
---
> policycoreutils.i386 2.0.16-16.fc7 installed
> policycoreutils-gui.i386 2.0.16-16.fc7 installed
425a476
> python-crypto.i386 2.0.1-7.1.fc7 installed
439a491
> recode.i386 3.6-23.fc7 installed
441a494
> rhgb.i386 0.17.6-1.fc7 installed
454a508,510
> scim.i386 1.4.5-21.fc7 installed
> scim-libs.i386 1.4.5-21.fc7 installed
> scim-m17n.i386 0.2.1-1.fc7 installed
460a517,518
> setroubleshoot.noarch 1.9.4-2.fc7 installed
> setroubleshoot-server.noarch 1.9.4-2.fc7 installed
469a528,529
> smolt.noarch 1.1-1.fc7 installed
> smolt-firstboot.noarch 1.1-1.fc7 installed
477a538
> synaptics.i386 0.14.4-8.fc6 installed
481a543
> system-config-display.noarch 1.0.51-1.fc7 installed
485a548,549
> system-config-printer.i386 0.7.74.10-3.fc7 installed
> system-config-printer-libs.i386 0.7.74.10-3.fc7 installed
487a552
> system-config-services.noarch 0.9.8-1.fc7 installed
499a565,570
> tetex.i386 3.0-40.5.fc7 installed > tetex-dvips.i386 3.0-40.5.fc7 installed
> tetex-fonts.i386 3.0-40.5.fc7 installed
> tetex-latex.i386 3.0-40.5.fc7 installed
> texinfo.i386 4.11-2.fc7 installed
> texinfo-tex.i386 4.11-2.fc7 installed
520a592,594
> vnc-libs.i386 4.1.2-19.fc7 installed
> vnc-server.i386 4.1.2-19.fc7 installed
> vte.i386 0.16.9-1.fc7 installed
523a598,599
> wireshark.i386 0.99.7-2.fc8 installed
> wireshark-gnome.i386 0.99.7-2.fc8 installed
527a604,617
> xdg-utils.noarch 1.0.2-4.fc7 installed
> xfce-mcs-manager.i386 4.4.2-1.fc7 installed
> xfce-mcs-plugins.i386 4.4.2-2.fc7 installed
> xfce-utils.i386 4.4.2-1.fc7 installed
> xfce4-appfinder.i386 4.4.2-1.fc7 installed
> xfce4-icon-theme.noarch 4.4.2-1.fc7 installed
> xfce4-mailwatch-plugin.i386 1.0.1-6.fc7 installed
> xfce4-mixer.i386 4.4.2-1.fc7 installed
> xfce4-panel.i386 4.4.2-1.fc7 installed
> xfce4-session.i386 4.4.2-1.fc7 installed
> xfce4-session-engines.i386 4.4.2-1.fc7 installed
> xfdesktop.i386 4.4.2-1.fc7 installed
> xfprint.i386 4.4.2-1.fc7 installed
> xfwm4.i386 4.4.2-1.fc7 installed
530a621,638
> xorg-x11-drivers.i386 7.2-6.fc7 installed
> xorg-x11-drv-acecad.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-aiptek.i386 1.0.1-3.fc7 installed
> xorg-x11-drv-amd.i386 0.0-22.20070625.fc7 installed
> xorg-x11-drv-apm.i386 1.1.1-3.fc7 installed
> xorg-x11-drv-ark.i386 0.6.0-3.fc7 installed
> xorg-x11-drv-ast.i386 0.81.0-4.fc7 installed
> xorg-x11-drv-ati.i386 6.6.3-4.fc7 installed
> xorg-x11-drv-calcomp.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-chips.i386 1.1.1-3.fc7 installed
> xorg-x11-drv-cirrus.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-citron.i386 2.2.0-2.fc7 installed
> xorg-x11-drv-cyrix.i386 1.1.0-4 installed
> xorg-x11-drv-digitaledge.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-dmc.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-dummy.i386 0.2.0-3.fc7 installed
> xorg-x11-drv-dynapro.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-elographics.i386 1.1.0-2.fc7 installed
531a640,647
> xorg-x11-drv-fbdev.i386 0.3.1-2.fc7 installed
> xorg-x11-drv-fpit.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-glint.i386 1.1.1-5.fc7 installed
> xorg-x11-drv-hyperpen.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-i128.i386 1.2.0-5.fc7 installed
> xorg-x11-drv-i740.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-i810.i386 2.0.0-4.fc7 installed
> xorg-x11-drv-jamstudio.i386 1.1.0-2.fc7 installed
532a649,652
> xorg-x11-drv-magellan.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-magictouch.i386 1.0.0.5-3.fc7 installed
> xorg-x11-drv-mga.i386 1.4.6.1-3.fc7 installed
> xorg-x11-drv-microtouch.i386 1.1.0-2.fc7 installed
533a654,675
> xorg-x11-drv-mutouch.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-neomagic.i386 1.1.1-2.1 installed
> xorg-x11-drv-nouveau.i386 2.1.3-1.fc7 installed
> xorg-x11-drv-nsc.i386 2.8.1-3.fc7 installed
> xorg-x11-drv-nv.i386 2.1.3-1.fc7 installed
> xorg-x11-drv-palmax.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-penmount.i386 1.1.0-3.fc7 installed
> xorg-x11-drv-rendition.i386 4.1.3-3.fc7 installed
> xorg-x11-drv-s3.i386 0.5.0-3.fc7 installed
> xorg-x11-drv-s3virge.i386 1.9.1-3.fc7 installed
> xorg-x11-drv-savage.i386 2.1.2-3.fc7 installed
> xorg-x11-drv-siliconmotion.i386 1.5.1-1.fc7 installed
> xorg-x11-drv-sis.i386 0.9.3-2.fc7 installed
> xorg-x11-drv-sisusb.i386 0.8.1-5.fc7 installed
> xorg-x11-drv-spaceorb.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-summa.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-tdfx.i386 1.3.0-4.fc7 installed
> xorg-x11-drv-tek4957.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-trident.i386 1.2.3-4.fc7 installed
> xorg-x11-drv-tseng.i386 1.1.0-5.fc7 installed
> xorg-x11-drv-ur98.i386 1.1.0-2.fc7 installed
> xorg-x11-drv-v4l.i386 0.1.1-8.fc7 installed
534a677,679
> xorg-x11-drv-via.i386 0.2.2-1.fc7 installed
> xorg-x11-drv-vmmouse.i386 12.4.0-2.1 installed
> xorg-x11-drv-vmware.i386 10.14.1-1.fc7 installed
535a681
> xorg-x11-drv-voodoo.i386 1.1.0-4.fc7 installed
546c692
< xorg-x11-server-Xorg.i386 1.3.0.0-9.fc7 installed
---
> xorg-x11-server-Xorg.i386 1.3.0.0-16.fc7 installed
547a694
> xorg-x11-twm.i386 1:1.0.1-3.1 installed
550c697,698
< xorg-x11-xfs.i386 1:1.0.2-3.1 installed
---
> xorg-x11-xfs.i386 1:1.0.5-1.fc7 installed
> xorg-x11-xinit.i386 1.0.2-22.fc7 installed
555c703
< xterm.i386 227-1.fc7 installed
---
> xterm.i386 232-1.fc7 installed
561a710
> zlib-devel.i386 1.2.3-10.fc7 installed

Content

English Wikipedia
English Wikitionary
Gutenberg Dictionary
Eshiksha activities
Additional XO bundles
OLPC library content

Directory Structure

/var/www/html/ <--- this is the high level directory.
/var/www/html/index.php <--- this is the default home page.
/var/www/html/moodle <--- this is moodles directory
/var/www/html/moodle/index.php <-- this is the Moodle home page


XS Install Scripts

Network setup scripts from Tony Pearson: http://wiki.laptop.org/go/User:Az990tony/scripts


Example from Ceibal deployment here: http://dev.laptop.org/git?p=projects/ceibal-scripts;a=tree

XS Tests

From:
http://spreadsheets.google.com/pub?key=pJrekGFLbqe6sdOitu3tYbQ

0 - Basic connectivity check
Definition: ISP --- HUB --- XF --- XS --- XO
PC or XO ---> (SSH) --> XF (opens terminal on headless XF machine)
PC or XO --> (SSH) --> XF --> (SSH) --> XS (opens SSH terminal window on headless XS machine)
XF --> (eLinks HTTP) --> XS (this is my main page for XS school server)
XS ---> (eLinks HTTP) <-- XF (this is just the dummy Fedora/Apache test page running on XF) XO channel 1 mess ---> (Browse) --> XS (click "Schoolserver" on Google start page to see XS home)

Status:
Notes:

1 - Apply image to XO from USB
Status (include date tested): pass
Notes: Can be done through firmware with copy-nand command
Question: Was this test done with developer key?

2 - Connects to Mesh
Status (include date tested): pass
Notes:

3 - Can browse Internet
Status (include date tested): pass
Notes:

4 - Can browse cached pages
Status (include date tested): pass
Notes:

5 - Can browse cached pages when Internet offline
Status (include date tested):
Notes:

6 - Chat w/ other XO
Status (include date tested): pass
Notes:
Question: "Chat with Other XO" -- Ok, to test chat before, I used my Thinkpad T60 running QEMU using the website "xochat.org" to connect with my XO laptop. If we have ejabberd running on the XS, would I connect my laptop and XO to "ejabberd" and have the XO over the mesh, and the Thinkpad over the Wi-Fi? If not, I will need to borrow my friend's XO for a pure mesh-to-mesh test.


7 - Can access Moodle page and click on all links
Status (include date tested):
Notes:

8 - Load new activities from server
Status (include date tested):
Notes:

9 - Can launch Squeak activity from Moodle
Status (include date tested):
Notes:
Question: is this the same as eToys, or did you mean the developers version of Squeak on the OLPC website?

10 - Browse Wiktionary
Status (include date tested):
Notes:

11 - Play audio from Wiktionary
Status (include date tested):
Notes:

12 - Play flash videos
Status (include date tested):
Notes:

13 - Fill up XO’s hard drive
Status (include date tested): Fail Notes: When the drive fills up, the app crashes and you are not able to open another app until you free some space

14 - Remove activities manually
Status (include date tested):
Notes:
what does this mean. I have been able to add activities to my XO by downloading the XO files to my Journal and installing them, but the only way I have been able to remove them was dropping down into "Terminal" activity and hacking away at the file trees with "rm" commands. Is there a better way to test this?

15 - Automatic Backup and manual restore
Status (include date tested):
Notes:

16 - Attempt restore student files over the network
Status (include date tested):
Notes:

17 - XO can access School server via another XO through mesh, record distance and signal/packet loss
Status (include date tested):
Notes:

18 - Try to access www.hotsex.com
Status (include date tested):
Notes:

19 - Access ds.lahai.com/ole/fez
Status (include date tested):
Notes:

20 - Type in Nepali, save text in Nepali
Status (include date tested): Fail 2/12 reported 2/14 by TP
Notes: Is there an image I need to install on my XO to be able to read both English and Nepali script?

21 - Sugar appears in Nepali
Status (include date tested): partial
Notes: The translation is done at http://dev.laptop.org/translate

22 - Hard reboot test
Description: Pull the power cord on XS while XO is browsing. Plug it back in and see run connectivity test 0 above to show everything comes back without intervention.
Status:
Notes:

23 - New Test Idea We should also develop some tools that generate activity, this would help identify memory leaks and what logs needs to be tailed over time.

List of Software on XF (Squid)

Squid Dansguardian Fedora 7 (v8?)


XF (Squid) Install Scripts

Network setup scripts for XF (Squid)
http://wiki.laptop.org/go/User:Az990tony/iptables

XF (Squid) Tests

Same as XS tests above:
http://wiki.laptop.org/go/Nepal:School_Server_Specification_-_Phase_1_Design#XS_Tests

List of Software on Library Server

- - -

Library Server Install Scripts

- - -

Library Server Tests

- - -


List of Software on XO

Standard build of XO (build number?)
ePaati: - Animal Identification
- Alphabet Puzzle
- Addition, numeric
- Addition, word problem
- Addition upto 10, game
- Counting Sheep
- Largest Number
- Make Bar-graph
- Matching
- Numeric Puzzle


XO Install Scripts

- - -

XO Tests

- - -

System Level Design

Nepal test setup diagram is here:
http://wiki.laptop.org/go/User:Az990tony/nepal
(topology diagrams and details of nepal project)

Another view is at:
http://blog.olenepal.org/index.php/archives/138


Failure Cases

- - -

System Level Tests

- - -

Wireless AP/Router Config

- - -

Network Diagram

Nepal test setup diagram is here:
http://wiki.laptop.org/go/User:Az990tony/nepal
(topology diagrams and details of nepal project)

Another view is at:
http://blog.olenepal.org/index.php/archives/138