XS Server Installation
This is a rough guide for installing an XS school server for a small school. This is by no means a complete guide to installing all things server-related so please feel free to add to this document.
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 | 256 MB | 40-60 GB |
Large | <150 | 1 GHz | 1 GB | 320-400 GB |
Setup Access Point
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.
- Note: APs compatible with the XO please see Wireless Access Point Compatibility
- 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 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 network
- Make sure that the access point is NOT running as a DHCP server
Obtaining Server Software
Downloading the System Image [1]
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.
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 [2]
This is the step-by-step process used to install the XS software onto a server for schools with a single server.
The school domain name used in this example is example.org.
- 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.
- 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.
Optional
- Setup and start web caching by typing:
/etc/sysconfig/olpc-scripts/TURN_SQUID_ON
- Create an account for yourself (this is a test of basic network connectivity as well):
/etc/sysconfig/olpc-scripts/mkaccount wad http://dev.laptop.org/~wad/dsa_public_key passwd wad
- Add yourself to the wheel group, so that you have sudo priviledges