XS Server Installation

From OLPC
Revision as of 04:43, 2 October 2008 by Wad (talk | contribs)
Jump to navigation Jump to search
  This page is monitored by the OLPC team.

This is a quick guide for installing an XS school server for a small school.

Recommended Hardware Specifications

A number of computers may act as a school server, but it must be a Fedora-capable computer. Recommended minimum specifications for a school server are as follows:

Server Laptops Supported Processor RAM Storage
Small <20-25 466 MHz 1 GB 40-120 GB
Large <150 1 GHz 1 GB 320-750 GB

See XS Recommended Hardware for more information.

Access Points

XS Usage APNormal.png

Most access points are compatible with the XO. For a list of ones which have been shown to work see Wireless Access Point Compatibility. Unless a single access point is being used (not recommended for more than forty to fifty laptops), a network switch of some sort will also be needed.

Active Antennae

If you have active antenna(e) to use, simply plug them in and reboot the XS. It will detect them and allocate them to br0, br1 and br2. It should just work and XOs will see "School server mesh" when they connect to the mesh served by the XS. You may need to manually allocate different frequencies per antenna.

AP Configuration

The steps for setting up a wireless router access point vary based on the wireless router being using, but this serves as a rough guide for installation. These steps were run using a Zoom Wireless-G model 4400 router.

  • Press the reset button on the wireless router to reset it and connect it to any computer. It's possible to do this setup with an XO or any other machine with linux installed.
  • Open terminal and type
ifconfig eth0 IPaddress

Where IPaddress is in the same subnet as the default IP for the access point

  • Connect to the access point by typing in the IP address in a web browser.
  • Login to the access point using the default password (or skip entering a password if none is provided)
  • Set the wireless channel to 1, 6 or 11 to minimize interference
  • Set a unique name for the wireless network
  • Make sure that the access point is NOT running as a DHCP server

Obtaining Server Software

Downloading the System Image

You can obtain the latest image from http://xs-dev.laptop.org/xs/:

wget http://xs-dev.laptop.org/xs/OLPC_XS_LATEST.iso

This can be copied onto a CD or DVD using your favorite software.

It may also be copied onto a USB key, using the livecd-tools provided by Fedora 7:

livecd-iso-to-disk OLPC_XS_LATEST.iso /dev/sdb1

where /dev/sdb1 represents the USB key being copied onto.

There is a git repository for livecd-tools if you need a different version of the script, or are on a different linux distro.

See XS Installing Software for more details.

Using an XO to create an installer USB key

You can use an XO laptop to create an installer key. First, you will need to install some necessary tools on the XO, then download the image, then transfer it to a USB key inserted in the laptop:

sudo yum install livecd-tools
wget http://xs-dev.laptop.org/xs/OLPC_XS_LATEST.iso
sudo livecd-iso-to-disk OLPC_XS_LATEST.iso /dev/sda1

Software Installation

This is the step-by-step process used to install the XS software onto a server for schools with a single server.

Read the Release Notes for the latest release

  • Boot up the server from the USB key or CD. Select "Run from Image", indicate your keyboard type, time zone, and enter a root password. When the install has finished, click "Reboot".
  • Remove the installation media (key or CD) as boot starts so the system now boots from the disk drive.

For more information, see XS Installing Software.

Software Configuration

The school domain name used in this example is example.org.

  • Set the server domain name using:
/etc/sysconfig/olpc-scripts/domain_config example.org
  • Enable ejabberd on startup, and start it using:
chkconfig --level 345 ejabberd on
service ejabberd start
  • Create an account on ejabber for the administrator:
ejabberdctl ejabberd register admin schoolserver.example.org admin
  • Go to the web-based administration interface for ejabberd at http://schoolserver.example.org:5280/admin/, or http://172.18.0.1:5280/admin/ if using an XO connected through the mesh.
  • Login as "admin@schoolserver.example.org" with the password you set when registering (admin).
  • Click on "Virtual Hosts", then your hostname, then "Shared Roster Groups". Type "Online" and click Add New.
  • Click on "Online" and enter "Online" for Name, "@online@" for Members, and "Online" for Displayed Groups. Click Submit.

For more information, see XS Configuration Management

Optional

Proxy Servers

In some implementations you may have to use an existing proxy server to both presence bandwidth or to even access the internet. If you need to make any modifications to the default Squid configuration make sure you make the modifications to the XS squid.conf file (called squid-xs.conf?) not the default squid.conf file. To point to an external proxy server simply add the following line, inserting the appropriate proxy name:

  • cache_peer parentcache.foo.com parent 3128 0 no-query default
  • acl all src 0.0.0.0/0.0.0.0
  • never_direct allow all

Then restart Squid (or the server) and test.

Note: If user authentication is required for the network through a pop-up browser you may need to use Firefox rather than the default browse activity as it doesn't support popups. Also, if you have a PAC file you need to use you can distribute it by DHCP.

More documentation to come on this section

Caching
/etc/sysconfig/olpc-scripts/TURN_SQUID_ON
Testing
  • Create an account for yourself (this is a test of basic network connectivity as well):
/etc/sysconfig/olpc-scripts/mkaccount martin http://dev.laptop.org/~martin/dsa_public_key
passwd martin
  • Add yourself to the wheel group, so that you have sudo priviledges