1
Chapter 9. Server configuration
3
9.1. Wizzy configuration
5
A Wizzy server plays two roles. In the first place, it serves
6
as an internet proxy, serving cached pages to a lab without a
7
permanent internet connection. In the second place, it
8
connects to the internet and retrieves requested pages to
9
store them locally, sends queued email, and fetches received
12
These two roles don't have to be fulfilled by the same server:
13
they may be split across two servers, for example if the
14
school has no internet access. In this case, there will be a
15
Wizzy in the Edubuntu lab and another one at a remote location with
16
internet connectivity.
18
The hardware requirements for the Wizzy server are far less
19
than those of the classroom application server, since it has
20
to do far less work. All it needs to do most of the time is to
21
serve up saved pages from its hard disk. For this, a server
22
with a 200+MHz CPU, 256MB RAM, and a 40GB RAID 1 disk array is
24
_________________________________________________________
26
9.1.1. Software used by the Wizzy server
28
* The Wizzy server uses DHCP ( Section 9.2) and TFTP for
29
booting, the same as the classroom server.
30
XXX: What does the Wizzy server use TFTP for? Does it also
31
boot from the classroom server?
32
* It uses the Lightweight Directory Access Protocol (LDAP)
33
for authentication. When users access their email on the
34
Wizzy server they will need to supply a username and
35
password. This information is kept by an LDAP server,
36
which maintains a directory where user information may be
37
looked up. It is analogous to a telephone directory.
38
Ideally, there should be only one directory for an Edubuntu lab,
39
which contains the information on all the users and
40
resources (such as printers) in the lab. Currently,
41
however, the directory maintained by the Wizzy server is
42
separate from the user database on the classroom server.
43
* The Unix-to-Unix Copy Protocol (UUCP) is used for all
44
email sending and receiving, as well as for fetching web
45
pages. As long as a service can be configured to use UUCP
46
for communication, it is possible to provide the service
47
without a permanent internet connection. For this reason,
49
* The Wizzy server uses BIND (the Berkeley Internet Name
50
Daemon) for domain name services ( DNS), on the local
51
network. DNS is how IP addresses, such as 192.168.0.254,
52
are resolved to readable domain names, such as
53
server.myschool.Edubuntu lab.org.za.
54
XXX: I'm not sure what "on the local network" means here.
55
Does that mean it only resolves names that are local to
57
XXX: What domain name does a classroom server get?
58
* For email, Wizzy uses the Courier IMAP server for inbound
60
IMAP (the Internet Mail Access Protocol) provides a way
61
for all kinds of mail clients (such as Thunderbird, or
62
Mozilla's email component) to access a mail store. In
63
Wizzy's case, the Courier package handles mail storage and
64
IMAP access. Wizzy also provides a webmail client to
65
access the mail store using a web browser.
66
* To send mail, Wizzy uses the exim program.
67
* As discussed in Section 7.2, one of the most important
68
jobs the Wizzy does is to provide a browsable offline copy
69
of all the web pages that interest Edubuntu lab users. It does
70
this using the wwwoffle program to provide a local web
71
cache. It augments wwwoffle (the World Wide Web Offline
72
Explorer) with some custom programs, since Wizzy's
73
disconnected mode of operation goes beyond the options
74
offered by wwwoffle on its own.
75
* The Wizzy server provides its administration functions as
76
well as webmail as web pages, and uses the apache
77
webserver to serve these pages. They may be accessed by
78
going to XXX http://wizzy/ on the Edubuntu lab LAN.
79
* For a local FTP server, Wizzy uses XXX: vsftpd (XXX: but
80
what is the local FTP server used for?)
81
* In its role as a connection to the internet, the Wizzy
82
server can connect to any ISP with which the school has an
83
account, in order to retrieve web pages. It does not,
84
however, use any email facilities that the ISP may
85
provide: all mail goes through Andy Rabagliati's server in
87
* For the sake of data integrity, Wizzy uses a RAID disk
88
system for storage. RAID is a Redundant Array of
89
Inexpensive Disks. It is a way to federate multiple hard
90
disk drives in such a way that the failure of any one disk
91
does not result in data loss.
92
_________________________________________________________
94
9.1.2. Wizzy as a classroom server
96
The Wizzy project predates Edubuntu labs. It can also be configured
97
to provide a similar range of application serving functions as
98
the Edubuntu lab classroom server provides. In this configuration,
99
it uses the following packages:
101
* Like the Edubuntu lab server, Wizzy uses the LTSP packages (
102
Section 6.2) for its thin-client NFS-mounted root
104
* It also uses NFS (the Network FileSystem) for home
105
directories that are NFS-mounted by the thin clients.
106
XXX: I don't know if I'm understanding this correctly.
107
Does Wizzy mount the users' home directories from the
108
classroom server, e.g. in order to server web pages from
110
_________________________________________________________
112
9.2. Dynamic Host Configuration Protocol
114
Every computer on a local area network ( LAN) needs to have a
115
unique IP address (see Section 8.4) so that it may send and
116
receive data. The Dynamic Host Configuration Protocol ( DHCP)
117
is a networking protocol that allocates IP addresses
118
dynamically to computers on a LAN. Without it, an
119
administrator needs to give each client computer a static IP
120
address manually. This may seem simple enough to begin with,
121
but given time, it slowly turns into a nightmare: computers
122
are added, removed or moved about, and the number assignments
123
eventually become arbitrary and troublesome to keep track of.
124
On a network with manually assigned addresses, it's also
125
awkward to connect transient devices such as laptop computers
126
that are also used on many other networks. You have to talk to
127
the system administrator to find out the network
128
configuration, and then check the network to find a free
129
address. With DHCP, it's easy: just plug in an Ethernet cable
130
for the new device, and it will immediately request an IP
131
address from the classroom server, which will assign an unused
134
In an Edubuntu lab, the classroom server is configured as a DHCP
135
server. A system administrator assigns a range of IP addresses
136
to the server. Each client computer on the LAN has its TCP/IP
137
software configured to request an IP address automatically
138
from the DHCP server when that client computer starts up. The
139
request-and-grant process uses a lease concept with a
140
controllable time period. This eases the network installation
141
procedure on the client computer side considerably.
143
In addition to the IP address, a DHCP server can set other
144
configuration information, such as the address of the DNS
145
server, the DNS domain of the client, and the gateway IP
146
address, so that the client computer can be fully functional.
148
Before I continue, let me explain the concepts I've just
149
introduced. First, the DNS domain: all Linux computers are
150
given a hostname upon installation of the OS, which is used in
151
system messages and configuration. When the computer joins a
152
network, its hostname and the domain of the network together
153
combine to form the Fully Qualified Domain Name ( FQDN) of the
154
computer. In the case of an Edubuntu lab, the FQDN of each
155
workstation will be something like XXX
156
client1.myschool.Edubuntu lab.org.za. The public DNS servers that
157
resolve the domain names of Edubuntu labs on the internet are
158
maintained by SchoolNet
159
http://www.schoolnet.org.za/schoolsurveys/suveys_index.htm
161
Secondly, the gateway IP address. In Section 8.3 I explained
162
that the internet is a network of networks. For data packets
163
from a computer on one network to reach a server on another
164
network, there needs to be a gateway that is connected to both
165
networks at once. Usually, the gateway computer will have a
166
network card for every network to which it is connected.
168
By default, the LTSP server uses its first network card (
169
eth0, numbered from 0 like most things in the computer world)
170
for the classroom LAN. It runs DHCP on this card, and
171
automatically gives out IP numbers upon request. It then
172
accepts BootP (Boot Protocol) and PXE (Pre-boot eXecution
173
Environment) boot requests, and passes on the Linux kernel to
174
the client using TFTP for the transfer. Once the client has
175
received the kernel, it boots into Linux. The default
176
dhcpd.conf file will support over 200 clients. The LTSP server
177
will not answer DHCP requests over eth1 (with the default
179
_________________________________________________________
183
The configuration settings for the DHCP server are contained
184
in the /etc directory --- standard Linux location for
185
configuration data --- in the file /etc/dhcpd.conf. XXX which
186
settings in here should be explained?
187
_________________________________________________________
189
9.3. Network configuration
191
The first network card, eth0, is the interface on the
192
thin-client side of your LTSP server. This network card
193
connects to your terminal hub. The 192.168.0.x address range
194
is designated as a "private" IP range for internal networks.
195
It is not routed on the internet. IP traffic from your clients
196
are routed to the internet through eth1. (Note that if there
197
is a Wizzy server, it will be the one with the two network
200
The classroom server has the last available address in this
201
range, namely 192.168.0.254 ( 192.168.0.255 is the broadcast
202
address: packets sent to this address reach all the computers
203
on the network). The first client will be assigned an IP
204
number of 192.168.0.253. [16]
206
(XXX: make a local one) Dialogue (screenshot):
207
http://www.k12ltsp.org/screen7.gif
208
_________________________________________________________
210
9.3.1. Wizzy network configuration
212
When the Edubuntu lab has a Wizzy server, there are a couple of
213
other aspects to network configuration.
216
Wizzy Digital Courier relies on standard networking
217
protocols for the interactive portions, linked by UUCP for
218
the intermittent sections.
220
During installation, you must choose a hostname for the
221
Wizzy server. This hostname will identify the server
222
within the mail domain, which is wizzy.org.za (because
223
Wizzy provides the email infrastructure), so that your
224
complete mail domain becomes myschool.wizzy.org.za (where
225
myschool is the hostname you chose). This means that all
226
the Edubuntu lab users will get email addresses like
227
user@myschool.wizzy.org.za.
228
You will also need to contact Andy Rabagliati at XXX, to
229
tell him your UUCP password, as he must set up mail
231
For Edubuntu labs, Wizzy servers have a special configuration
232
available --- accessible by typing the following at the
233
Syslinux boot prompt:
234
boot: linux ks=cdrom:/tsf-ks.cfg
235
_________________________________________________________
237
9.4. Network Filesystem
239
Edubuntu lab uses NFS, the Network Filesystem, to make the home
240
directories of lab users appear to be local to the client
241
workstations, even though they really reside on the classroom
242
server. The NFS configuration is specified in the file
243
/etc/exports on the classroom server.
244
_________________________________________________________
246
9.5. LTSP configuration
248
The LTSP configuration is specified in the file lts.conf on
249
the classroom server. For more detail about this file, see
251
_________________________________________________________
255
Upon power-up, the BIOS of each client workstation contacts
256
the classroom server, and retrieves the Linux kernel from it
257
via the TFTP protocol. XXX: more detail.
258
_________________________________________________________
260
9.7. Users and groups
262
All the users of the Edubuntu lab will have accounts on the
263
classroom server. (Additionally, if they have email they will
264
have accounts stored in the Wizzy server's LDAP directory.)
266
XXX: who adds them? Root? Using some RedHat config tool?
267
_________________________________________________________
271
Access to directories, files and executable programs under
272
Linux is managed in terms of users, groups and permissions.
273
Every user belongs to a group, and every file belongs to a
274
user and a group. The basic permissions are read, write and
275
execute. For every file and directory, these permissions can
276
be set for the user who owns the file, the group, and for all
277
others (i.e. everyone but the owner or the group). For
278
example, here are the permissions of a user's home directory:
279
jean@klippie jean $ ls -ld /home/jean
280
drwxr-xr-x 112 jean users 6664 Des 26 17:31 /home/jean
282
The permissions are shown by the string drwxr-xr-x. The first
283
character, d, indicates that this is a directory. You should
284
read the following 9 characters in groups of three, that show
285
the permissions for the owner jean ( rwx), the group users (
286
r-x), and all others ( r-x). In this case, the owner has read
287
( r), write ( w) and execute ( x) permissions, while the group
288
and others only have read and execute permissions. In the case
289
of a directory, execute permissions means that you are allowed
290
to access the contents of the directory. This home directory
291
may therefore be read by everyone, but only the user may
294
Here are the permissions on the file that contains the system
296
jean@klippie jean $ ls -l /etc/passwd
297
-rw-r--r-- 1 root root 2118 Des 1 05:32 /etc/passwd
299
These indicate firstly that this is a regular file, not a
300
directory (the leading -), and that the owner root has read
301
and write permissions ( rw-), and everyone else have only read
302
permissions ( r--). In effect, this means that only the root
303
user may add, modify or delete users.
305
You may further note that the group to which this file belongs
306
is also root. This group only has one member (the root user),
307
and is used for files that are under control of only this
309
_________________________________________________________
311
9.7.1.1. The superuser
313
Every Linux machine normally has a user called root, who has
314
all permissions. When a system administrator needs to do
315
maintenance, they log in as root only to make the necessary
316
changes, and then switch to their regular user again.
317
_________________________________________________________
319
9.7.2. Retiring users
321
XXX: what happens when a user is retired? Is the password just
322
reset, or is the whole home directory and all email deleted?
323
_________________________________________________________
328
_________________________________________________________
330
9.9. Developing a backup procedure
332
The importance of backing up a system can never be stressed
333
enough. You never know when the power may cut out or the hard
334
drive may crash. Even though you can restore the operating
335
system from the distribution CD-ROM, there are other files
336
that you need to consider. What about the configuration
337
changes that you made? There are also files created by users,
340
Follow these steps to create a backup plan:
342
1. Make a list of the files and directories that you need
343
backups of. You'll always want to backup system
344
configuration files in the /etc directory, other
345
configuration files may be found in /usr/lib. In addition,
346
you may want to backup user files in the /home directory
347
as well as the superuser ( root) files in /root.
348
2. Find a few tools to use when backing up and archiving
349
files and directories. Several tools are available that
350
will archive a group of files, and there are tools that
351
will compress files and archives.
352
3. Decide how often the system and individual files need to
353
be backed up. How often do your files change? If files
354
change frequently, the your backup frequency should match
355
the change frequency. So, you may need to perform a backup
356
every day. If you only make one or two configuration
357
changes on occasion, you can easily backup the
358
configuration files only when the changes is made.
359
4. Select a storage medium that will store the backup file.
360
If you have a few files to backup, you could just store
361
them on a floppy disk. If you have more files, or larger
362
files, you can consider using a zip drive or a CD-RW
364
5. Store the files in a safe place. The safest place to store
365
the backup media is at a location different from where the
366
computer is located. To be really safe, this location
367
needs to be protected from fire and other hazards. You may
368
also want to keep a copy of the backup files close by so
369
that you can quickly restore lost files.
371
Tip: Always make a copy of configuration files before you make
372
any configuration changes. That way, should your new settings
373
not work, you can restore the old configuration files.
374
_________________________________________________________