~kjcole/edubuntu.cookbook-delete/wip

« back to all changes in this revision

Viewing changes to lore/chap07.lore

  • Committer: Jeffrey Elkner
  • Date: 2006-01-08 18:12:11 UTC
  • Revision ID: jelkner@gopher-20060108181211-49000881a29d4ff6
2006.01.08 changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<html>
2
 
<head>
3
 
  <title>Software components</title>
4
 
</head>
5
 
 
6
 
<body>
7
 
<h1>Software components</h1>
8
 
</p>
9
 
 
10
 
<p>an Edubuntu lab includes both Chapter 11 as well as office tools and
11
 
web browsers (see Section 7.3). At its core, however, it
12
 
consists of the server software that runs the classroom server
13
 
and the Wizzy internet proxy server.
14
 
_________________________________________________________
15
 
</p>
16
 
 
17
 
<p>7.1. K12LTSP classroom server
18
 
</p>
19
 
 
20
 
<p>7.1.1. About the K12LTSP distribution
21
 
</p>
22
 
 
23
 
<p>an Edubuntu lab classroom server is based on the K12LTSP
24
 
distribution, with some configuration changes and additional
25
 
software packages.
26
 
</p>
27
 
 
28
 
<p>K12LTSP is based on RedHat Fedora Linux and the work of the
29
 
LTSP. It's easy to install and configure. It's distributed
30
 
under the GNU General Public License. That means it's free and
31
 
it's based on Open Source software.
32
 
</p>
33
 
 
34
 
<p>This is quite a mouthful, so I'll unpack the terms one by one.
35
 
</p>
36
 
 
37
 
<p>* The LTSP is the Linux Terminal Server Project. This
38
 
project assembles all the software components that are
39
 
necessary for a computer to act as a fat server for a
40
 
network of thin clients, and provides the configuration
41
 
necessary for the server to function as such.
42
 
* RedHat Fedora Linux is the free distribution packaged by
43
 
RedHat, Inc. The K12LTSP team has added an option to the
44
 
RedHat installation menu, so that installing a classroom
45
 
server is as simple as choosing the first installation
46
 
option and answering some questions.
47
 
</p>
48
 
 
49
 
<p>The K12LTSP distribution tries to make it as easy as possible
50
 
for you. It is a regular Fedora distro with an option to
51
 
install LTSP right there in the setup screen. When installing,
52
 
the LTSP option is the first item on the menu, added above the
53
 
default Workstation, Server and Custom options. This means
54
 
that you don't have to mess around with the configuration
55
 
files until you've had a chance to see what it is they do, and
56
 
by then you'll probably only need to tweak them a little.
57
 
</p>
58
 
 
59
 
<p>The LTSP server defaults to an IP gateway and firewall when
60
 
two Ethernet cards are present. This will only be the case in
61
 
Edubuntu labs that are permanently online, which will usually not be
62
 
the case. Normally, the Wizzy server will be the gateway, as
63
 
all Edubuntu labs with internet access use a Wizzy server.
64
 
_________________________________________________________
65
 
</p>
66
 
 
67
 
<p>7.2. Wizzy server
68
 
</p>
69
 
 
70
 
<p>A Wizzy server can be used to provide a managed internet
71
 
access solution for an Edubuntu lab. Currently, a Wizzy server is an
72
 
extra to an Edubuntu lab install. The Shuttleworth Foundation may
73
 
award a Wizzy server to a school with an Edubuntu lab if the school
74
 
demonstrates that it is making good use of the lab. Wizzy is a
75
 
project of Andy Rabagliati, a techno-philanthropist who has
76
 
been wiring rural schools for cheap internet connectivity for
77
 
many years now.
78
 
</p>
79
 
 
80
 
<p>The software (like K12LTSP) is based on RedHat Linux,
81
 
currently version 8.0. Whereas K12LTSP is based on RedHat
82
 
Fedora, Wizzy is an adapted version of Whitebox Linux, itself
83
 
a straight recompile from source RPMs of RedHat Enterprise
84
 
Linux. Many extra packages have been added, all under the GPL
85
 
license.
86
 
</p>
87
 
 
88
 
<p>It performs the duties of dialup manager, firewall, mailserver
89
 
(IMAP mailserver XXX), web cache, and authentication server
90
 
(LDAP authentication server XXX). The Wizzy server does normal
91
 
dialup via a telephone line, but it can also do ADSL and
92
 
wireless. It would be possible to do all these things on the
93
 
classroom LTSP server as well, but a custom mail arrangement
94
 
would still be necessary: while the Edubuntu lab is not connected to
95
 
the internet, mail needs to be delivered to an remote server.
96
 
Another reason to separate the internet gateway from the
97
 
classroom server, is that it might not be such a good idea for
98
 
the classroom server to have a public-facing IP address. All
99
 
machines exposed to the internet are vulnerable to compromise,
100
 
and the classroom server contains all the user data.
101
 
</p>
102
 
 
103
 
<p>The way in which the Wizzy server sends and receives email is
104
 
customised to work with an intermittent internet connection.
105
 
It utilises a protocol that was more commonly used in the days
106
 
before permanent internet connections became common, namely
107
 
UUCP (the Unix-to-Unix Copy Protocol). UUCP is suited to
108
 
queueing data to be copied to remote hosts for delivery when a
109
 
network connection is established.
110
 
</p>
111
 
 
112
 
<p>Wizzy has the goal of providing all its services via UUCP, in
113
 
order to accommodate high latency connections where there may
114
 
be long disconnected periods. This type of connection includes
115
 
situations where a connection is established by dialling up at
116
 
night when phone rates are low, as well as situations without
117
 
any dialup access at all.
118
 
</p>
119
 
 
120
 
<p>In cases without dialup access, the connection is made by
121
 
carrying the data across by hand! [10] The transfer medium may
122
 
be, for example, a USB memory stick, a mobile wireless-enabled
123
 
laptop, or a USB hard drive. The transfer medium will contain
124
 
newly fetched data and the queued requests for new web pages,
125
 
as well as mail waiting to be sent. This is not a stated goal
126
 
of the Edubuntu labs project, so if your school wishes to pursue
127
 
this route, you may have to contact Wizzy to work out the
128
 
details.
129
 
</p>
130
 
 
131
 
<p><img src="illustrations/usbenabling.png">
132
 
A wireless antenna that plugs into a USB plug on a laptop or a
133
 
PC.
134
 
</p>
135
 
 
136
 
<p>If you do have access to a telephone line for the Edubuntu lab, the
137
 
internet is dialled up only at night when the rates are low
138
 
(Telkom South Africa provides a particular phone account that
139
 
allows a single 12 hour phone call for R7). In this period,
140
 
approximately 250MB of email and web material can be
141
 
downloaded onto the Wizzy server in the classroom. In the
142
 
morning, after the phone has been hung up, the learners can
143
 
access the downloaded material as though they had a direct web
144
 
connection. Their experience of email and web during the
145
 
school day is almost identical to a very fast online web
146
 
experience, with the exception that newly requested pages will
147
 
only be available by the next morning. [11]
148
 
</p>
149
 
 
150
 
<p>Normally, if you want to connect to the internet, you need a
151
 
telephone line and a modem, a satellite uplink, or some other
152
 
means of tapping into 'the Net'. Unfortunately, in South
153
 
Africa, the necessary telecommunications infrastructure is not
154
 
always there to tap into. Around a third of South Africans
155
 
don't have a phone line, and roughly 88% of schools in the
156
 
Northern Province lack an internet connection. [12]
157
 
_________________________________________________________
158
 
</p>
159
 
 
160
 
<p>7.2.1. Benefits of a Wizzy server
161
 
</p>
162
 
 
163
 
<p>Every student can have email and web access without the cost
164
 
of being online. This is true even for schools that don't have
165
 
a telephone.
166
 
</p>
167
 
 
168
 
<p>While the delay in retrieving web pages is a necessary
169
 
consequence of the Wizzy solution, it has a desirable side
170
 
effect in that it helps educators to manage web access. Since
171
 
anybody with an internet connection can publish on the Web,
172
 
there is an absolute ocean of complete trash that threatens to
173
 
engulf the unwary browser. Groping through this mess just
174
 
wastes school resources. Automated solutions to this issue
175
 
have been proposed, often by companies that market filtering
176
 
products. Apart from the fact that these products suffer from
177
 
both false positives and negatives, blocking material
178
 
unnecessarily and letting undesirable material through, it
179
 
shifts responsibility from the teacher to a software product.
180
 
</p>
181
 
 
182
 
<p>The Wizzy solution believes that it's better to let the
183
 
teacher decide what is appropriate. This also allows the
184
 
teacher to stay in touch with the material accessed by the
185
 
learners he or she is teaching. Teachers can explicitly choose
186
 
the web material that learners can access and definitively
187
 
reject web material that is not appropriate. They can also set
188
 
the Wizzy server to monitor websites, retrieving new versions
189
 
as they become available.
190
 
</p>
191
 
 
192
 
<p>Because the school is never in direct connection with the
193
 
internet, but rather has its web content delivered upon
194
 
request, students cannot "surf" the internet. However, since
195
 
all the web sites that have been requested by the IT
196
 
administrator of the school are delivered and stored on the
197
 
school's server, the students can "surf" this local web cache
198
 
as though it were a miniature internet.
199
 
</p>
200
 
 
201
 
<p>These specially chosen web sites can easily number in the
202
 
hundreds. They can be updated daily; and should a new site be
203
 
desired on a regular basis, the school would have to wait only
204
 
one day for the delivery to begin. The "surfing" of this
205
 
miniature internet within the Edubuntu lab costs nothing, and is
206
 
fast enough to give you whiplash, since all communication
207
 
takes place within the Edubuntu lab, between the server and the
208
 
client computers. [13]
209
 
</p>
210
 
 
211
 
<p>Edubuntu labs aims to give educators the tools to help learners
212
 
explore computers and the Wizzy server allows them to put
213
 
reasonable limits on learners' access, guiding them towards
214
 
independent use of the computer as they mature. Edubuntu labs does
215
 
not make any judgement regarding what content is regarded as
216
 
appropriate, but is there to help provide the tools and
217
 
documentation to help educators with these decisions. The
218
 
focus is more on the "guidance" aspect, rather than
219
 
restriction, as the former is a positive activity while the
220
 
latter is negative.
221
 
</p>
222
 
 
223
 
<p>The Wizzy solution integrates seamlessly with existing labs.
224
 
Normally, no additional equipment is required to have this
225
 
kind of internet lab.
226
 
_________________________________________________________
227
 
</p>
228
 
 
229
 
<p>7.2.2. Batch mail delivery solutions
230
 
</p>
231
 
 
232
 
<p>First, a recap of the basics. [14] How does mail from far away
233
 
get to your account, say: somebody@myschool.wizzy.org.za?
234
 
</p>
235
 
 
236
 
<p>* The remote mail client probably punts the mail to a
237
 
smarter host --- the SMTP (Simple Mail Transfer Protocol)
238
 
server of their ISP (Internet Service Provider). This will
239
 
have been configured by the sender when first setting up
240
 
their mail client.
241
 
* Their ISP mail server will ask a local nameserver (i.e.
242
 
DNS server) for the MX (Mail Exchange) records of
243
 
myschool.wizzy.org.za. These are the IP addresses of
244
 
machines listed as handling mail for this domain. The ISP
245
 
will try to deliver directly to the lowest-numbered MX
246
 
record in the list, via SMTP. If it cannot connect, it
247
 
will try other MX hosts, usually in ascending order.
248
 
The DNS service for the Edubuntu lab and Wizzy networks is
249
 
provided by SchoolNet
250
 
* With this step, or via intermediate MX hosts, the mail
251
 
will eventually land on the target host --- the
252
 
lowest-numbered MX, often your local ISP. Most of the
253
 
time, your ISP will deliver all the mail for that domain
254
 
into a single mailbox, and leave you to figure out the
255
 
rest.
256
 
* The reason why the ISP can't easily do more, is due to the
257
 
fact that SMTP is not authenticated to specific users, and
258
 
therefore relies on name services --- fixed IP addresses
259
 
--- to route messages to their destination. This makes it
260
 
impractical for intermittently connected machines, that
261
 
dial up nightly and are dynamically assigned an IP address
262
 
by the ISP, to function as mail exchangers.
263
 
One way to preserve the SMTP protocol across dynamic IP
264
 
addresses is to batch SMTP commands in a file, and pass
265
 
the file over a separate transport. [15] Batched SMTP is
266
 
similar to normal SMTP, but, because it is being written
267
 
to a file, all responses are ignored. (Normally, an SMTP
268
 
connection is a conversation of commands and responses
269
 
between the sending and the receiving servers, so that the
270
 
sender may probe for the capabilities of the receiver,
271
 
confirm successful delivery, etc.) Fortunately, this is
272
 
not critical: as long as all the responses are known to be
273
 
OK, everything works.
274
 
The Wizzy solution is to write messages to a file, use
275
 
UUCP over TCP/IP as an authenticated transport from the
276
 
SMTP server of the ISP (in this situation, Andy's Cape
277
 
Town Wizzy server will be the SMTP), and unpack the batch
278
 
at the final destination (the Edubuntu lab). The batched SMTP
279
 
format is described in RFC 2442 --- The Batch SMTP Media
280
 
Type
281
 
Wizzy uses exim as the SMTP agent at both ends, and Taylor
282
 
(GNU) UUCP as the middle transport.
283
 
_________________________________________________________
284
 
</p>
285
 
 
286
 
<p>7.3. Applications
287
 
</p>
288
 
 
289
 
<p>7.3.1. OpenOffice.org
290
 
</p>
291
 
 
292
 
<p>OpenOffice is a full office suite, intended to measure up to
293
 
and surpass Microsoft Office. This is what its original
294
 
author, Marco Börries, intended when he started StarDivision
295
 
to create the software that would eventually become OpenOffice
296
 
in 1984, when he was just sixteen. He called it StarOffice. By
297
 
the time Sun Microsystems bought Marco's company in 1999, over
298
 
25 million copies of Star Office had been sold to customers
299
 
who needed platform independence (see Section 16.4) and an
300
 
alternative to Microsoft.
301
 
</p>
302
 
 
303
 
<p>In July 2000, Sun released most of the Star Office source code
304
 
(about 7.5 million lines of C++) to the stewardship of the
305
 
open source community, under the Free Software Foundation's
306
 
LGPL license. The community project has as its goal: "To
307
 
create, as a community, the leading international office suite
308
 
that will run on all major platforms and provide access to all
309
 
functionality and data through open-component based APIs and
310
 
an XML-based file format." The open APIs (see Section 16.4)
311
 
and file formats are turning OpenOffice into a platform in its
312
 
own right, supporting projects such as OpenGroupware, which
313
 
aims to provide an open alternative to Microsoft's Exchange
314
 
and SharePoint products.
315
 
</p>
316
 
 
317
 
<p>This is in direct contrast to Microsoft's approach, who have
318
 
always used the fact that only their own software could easily
319
 
use their document formats to keep customers locked in, in
320
 
effect reserving the Office platform to Windows applications.
321
 
</p>
322
 
 
323
 
<p>OpenOffice includes a word processor, spreadsheet, interfaces
324
 
to many databases, a presentation builder, and a diagramming
325
 
tool. It is now able to decode most variants of Microsoft
326
 
Office document formats, but although its StarBasic macro
327
 
language is syntactically identical to Visual Basic,
328
 
OpenOffice cannot execute Visual Basic scripts. Although these
329
 
are preserved upon conversion, the scripts need to be adjusted
330
 
to use the OpenOffice API before they can be used.
331
 
</p>
332
 
 
333
 
<p>OpenOffice can be used to teach all the basic computer skills
334
 
required to enter the job market, and as the design paradigms
335
 
of the software is very close to Microsoft Office, the skills
336
 
learnt are readily transferable.
337
 
_________________________________________________________
338
 
</p>
339
 
 
340
 
<p>7.3.2. Mozilla
341
 
</p>
342
 
 
343
 
<p>In 1998, Netscape Communications released the source code of
344
 
its Navigator web browser software as open source, and the
345
 
Mozilla project was born. Netscape released their software as
346
 
open source in order to compete with Microsoft, who were
347
 
bundling Internet Explorer with every copy of Windows sold.
348
 
Netscape hoped that the cooperation of thousands of developers
349
 
around the world would create a better product than Internet
350
 
Explorer. It did, but it took years, and Netscape fell by the
351
 
wayside. The code lived on, though.
352
 
</p>
353
 
 
354
 
<p>In 2004, six years after the start of the project, the
355
 
non-profit Mozilla Foundation that was created to coordinate
356
 
the project finally released version 1.0 of the Firefox
357
 
browser. Earlier versions of the software had been in use for
358
 
years, but at last it was deemed ready for a high-profile
359
 
release to the general public.
360
 
</p>
361
 
 
362
 
<p>The full Mozilla suite includes far more than the web browser.
363
 
It includes Thunderbird, a mail client with address books and
364
 
calendaring support, and Composer, a web page editor. For
365
 
developers, it includes Venkman, a Javascript debugger, and
366
 
the DOM Inspector, a wonderful tool for interactively
367
 
exploring the enormous, intricate internal structure of
368
 
complicated web pages.
369
 
</p>
370
 
 
371
 
<p>The code base has been painstakingly restructured to get as
372
 
much use out of it as possible. So, for instance, all the
373
 
Mozilla applications use the same rendering engine, called
374
 
Gecko, to layout and display HTML pages on screen. This is
375
 
critical, since it is extremely hard work to implement the
376
 
standards that govern web page structure and display
377
 
correctly. Mozilla has the best support for the HTML and CSS
378
 
standards of any browser out there. In the past, Microsoft has
379
 
used Internet Explorer's idiosyncratic and incomplete
380
 
implementation of web standards to coerce people to craft
381
 
their web pages to look good in Internet Explorer at the
382
 
expense of other browsers. For the web to become a dependable
383
 
platform, however, developers have to be able to build on
384
 
solid public standards that don't leave them at the mercy of
385
 
any company's prosperity.
386
 
</p>
387
 
 
388
 
<p>As with OpenOffice, the Mozilla project is becoming a platform
389
 
for extensions from the community.
390
 
_________________________________________________________
391
 
</p>
392
 
 
393
 
<p>7.3.2.1. Security
394
 
</p>
395
 
 
396
 
<p>As the internet has become more popular, viruses, spam,
397
 
spyware and trojans have grown to be an enormous problem.
398
 
These are all caused by programs that are received and
399
 
executed on computers without the knowledge or consent of
400
 
their users. How can this happen?
401
 
</p>
402
 
 
403
 
<p>In general, there are two ways for this to happen:
404
 
</p>
405
 
 
406
 
<p>* You may have given implicit permission without intending
407
 
to do so;
408
 
* The unwanted program may be exploiting errors or bugs in
409
 
some program in order to insinuate themselves into it, so
410
 
that it can execute with the permissions of the original
411
 
program.
412
 
</p>
413
 
 
414
 
<p>Firefox and Thunderbird try to protect you as far as possible
415
 
by setting up reasonable defaults. Nothing in an email message
416
 
is executed unless you explicitly run it yourself. And
417
 
execution of Javascript in web pages can be switched off at
418
 
any point. Firefox also allows you to grant or revoke specific
419
 
permissions (e.g. opening popups, hiding the status bar, or
420
 
changing images) to Javascript.
421
 
</p>
422
 
 
423
 
<p>The Mozilla suite also affords you a measure of protection
424
 
from the second case. While Internet Explorer has access to
425
 
practically the entire running system of a Windows PC via a
426
 
powerful integration technology called ActiveX, Firefox and
427
 
Thunderbird are far more restricted. It also helps to be
428
 
running on Linux, where the user of the web browser will
429
 
generally not be able to damage the operating system, and the
430
 
system administration account is never used to run user
431
 
applications.
432
 
_________________________________________________________
433
 
 
434
 
</body>
435
 
</html>