Making a High School Intranet

A trail map drawn by a teacher at a large rural school.

First Published: July 1998. Revised: March 1999


Introduction

Teachers in the classroom want their pupils to gain the skills needed to use the Internet, but know that a comprehensive learning experience means making and publishing web pages rather than just channel surfing through other peoples' creations.

Home page projects have enourmous potential to enthuse creativity and literacy from children. This is particularly the case for teenage boys, who may perform poorly (as a generalisation) in work where quality of language and presentation are important.

Just as I had worked out for myself how to make and publish web pages, a raft of new regulations were issued by the State Government covering Internet issues in schools. While the noble intent of these regulations was to prevent child abuse, unfortunately the new rules effectively prevented students publishing their own home page on the Internet.

But, I wanted a system where students each have their own passwords, have their own quota controlled file space, and could publish work independent of teacher assistance, just like the real thing.

To have what I wanted and not get fired I needed was my own "in house" web server connected to our existing Local Area Network (LAN).

These pages outline how I made an intranet server on a tight budget, and some of my experiences during the process. The path I took was not particularly hard to follow - plenty had left footprints. Lots of Universities, Colleges, ISP's, corporations, and even a few high schools have done exactly what I did. For a consultant of medium experience what I have to say is (or should be) pretty much standard.

This is a trail guide for a path most trodden. The path with the hostels on the side, where guides can be hired, where a cool beer is to be had at the end of a hard day's walk, where Scandinavian backpackers relax in the afternoon sun . . .

But I digress! This is the map I think I wanted nine months ago. As best I can recall. Enjoy!



The Free Software Solution

A few lucky schools, private and public, seem to have several hundreds of thousands of dollars to throw at networking. Optical fibre all over the place, NT servers left right and centre, NT workstation on every PC, dedicated ISDN links. The whole shebang.

"We at xxx are committed to the future of our children. As a demonsration of this commitment, we have spent the equivalent of ten thousand history textbooks and two years worth of a reading recovery project "...

You get the picture. A little further from Disneyland is your rusticated correspondent. His computer faculty's initial funding for networking: a little less than US $4,000. We got a Mac fileserver and enough cable, hubs etc (which we installed ourselves - good thing teachers get so many holidays, eh?) for 3 rooms of 15 computers.

Thus, the only intranet software I could purchase had to be pretty close to free, as I had to pay from my own pocket. Fair enough: it was my experiment.

On doing what research I could, I was astonished to discover that many ISP's actually don't use $50,000 versions of Unix, Novell, or the latest version of Windows NT to run Intranets. Rather, they use the free "unix like" operating systems such as Linux and FreeBSD. In fact, all the software a lot of successful ISP's use is entirely freeware. These highly advanced O/S's have been powering networks in Universities ever since networking was invented.

Tpgi-Internet, one of the biggest ISP's in Australia, has quietly migrated their email and proxy servers "back" to freeware under unix - Windows NT wasn't coping. Microsoft itself uses FreeBSD in its enourmously successful Hotmail site. Yahoo FreeBSD almost exclusively. Even the State Government use a free webserver called Apache - the most popular web server on line.

Ten years ago I had helped install a commercial version of Unix - and I remembered a bit about it. Fortunately I now had a Pentium 120 that was a bit of an orphan on our Mac network, and not being as productively used as I liked. So in the spring vacation I took the plunge and ordered Greg Lehey's "The Complete FreeBSD" book and CD-ROM set from Walnut Creek for a little under US$70. The FreeBSD web site promised that I could keep Windows on the Pentium if I really wanted to and "dual boot", so it seemed as I had nothing to lose.

The FreeBSD project.

Once the book and disks arrived I had a lot of learning to do. Still, with a few night's reading, installing a functional operating system from the CD-ROM took me as a beginner, about 3 hours. Within a week, using the a few "how-to"s found on the FreeBSD site, some very late nights, and the support of a far too tolerant wife, I had FreeBSD up and running as a gateway between all the computers on our LAN and the internet. I called this computer "Hermione" after a youthful indescresion . . .

To make an intranet work properly, you also need a thing called a domain name server (DNS) running as well. Both the web server and name server came standard with FreeBSD, but both require substatial configuration before they'll work.

Unlike a Mac, most unix programs are configured by writing a text file of directives. Sometimes a basic config file is supplied, but you always have to edit it, and this often requires a moderate understanding of the program in the first place.

Doing this set up from the online docs is great idea for Unix elites. And I'm sure it Makes the Beer Taste Better, but a few frustrating weeks of fooling around and getting nowhere (and thirsty) fast, I resigned and parted with another US $70 for the O'Reilly handbooks on BIND (DNS) and Apache (the web server).

The Apache Web Server

Worth every penny. O'Reilly handbooks are highly recommended. Apache and BIND worked great within a few days of the texts arriving..

We now had a webserver that I and the students could publish on, and a gateway to the rest of the Internet. The gateway was through a 28 kb/s modem with a server assigned (dynamic) IP address, so of course access to the Internet was very slow if more than three or four workstations were on-line.

To speed things up, and provide more security, I needed a caching proxy server. The freeware program called "Squid" seems to be the only game in town. Setting up Squid to "child" from our ISP's "parent" Squid was pretty intimidating, and the online docs, while complete, only made me feel worse. Surprisingly, it took only a few hours to get going once I got into it.

With Apache, Squid and BIND, our small intranet server now has the essential capability of a real Internet Service Provider..

Our server serves the 45 machines in our intranet only, so my students can easily publish their own home pages (within the limits of decorum), without breaking school rules. Students can also seamlessly access web pages on the internet at a satisfactory speed. More explanation on the free software we use, and links, are provided below.

March 1999: Things have expanded somewhat! The Parents and Citizens Council paid for a $45,000 upgrade to our school network. We now have over 90 computers on the LAN, about half of which are Macs, one quarter Windows-95, and one quarter legacy DOS machines running admin software from a Novell 3 server.

I have set up a second FreeBSD server called Ajax, this time with a total of 12 Gb of disk space. We now have a government supplied ISDN line so things are a little quicker on the internet. Every student and staff member has an account on this new server.



Programming in Perl

FreeBSD has had another, unexpected advantage. Previously we taught the programming portions of our courses using Hypertalk and Pascal. While we put enourmous amount of work into it, the truth was that for many kids "programming" quickly degenerated into little more than typing practice. This was not why I became a teacher! Since FreeBSD came with Perl "out of the box" I thought I'd give it a try as an instructional language.

programming republic of perl logo

The results of teaching introductory programming with Perl have been extremely encouraging. Perl deliberately has many features that are positively "kid friendly", such as untyped variables and noun markers. Surprisingly, students don't seem to have nearly as hard a time with a command line interface as might be expected, however this year I'll move to "Mac Perl", as the help files are easier to use.

A word of advice when teaching Perl: teach it like you'd teach Math. Give a few simple examples. Pose a few questions. Give another example so kids see the pattern. Then set some questions that match your examples exactly, and trust your students to figure it out. Spend no more that a quarter of the lesson talking.



File Serving

FreeBSD comes with fileserving software: "Netatalk" to emulate an Apple fileserver, and "Samba" to emulate a Windows NT fileserver. A Novell emulation is available commercially.

However, being mostly Apple, we have no immediate plans to replace our very quick Mac fileserver, although I'd have to say that I wish it didn't crash on a daily basis. The Apple products are truly a marriage made in heaven for small schools, and come with network administration tools significantly ahead of Microsoft's present offerings.

We did have Samba on Hermione enabled to serve our single Windows-95 machine, but with this expansion of the network Samba is now on Ajax and is a login and print server for around 30 Windows-95 computers around the school. It also supplies a login script and user profile a-la Novell.

Time will tell if Ajax - a rather modest 230 MHz Celeron with 96 Mb of RAM, will handle this load as well as being a proxy server as well as a web server, although he seems to be doing just fine for now.

Netatalk was enabled primarily so we could divide each computer room into a seperate network (zone) without having to buy an expensive switching hub. With the network upgrade, we got the switch, however Netatalk is still used by Hermione and Ajax to access two Laserwriters they spool for.

A script automatically mounts the user's home directory, global shared folders, whatever ...

A predominantly Windows organisation contemplating vast amounts of money for NT or Novell software should look into Samba. Samba provides under UNIX provides all the core services of an NT fileserver, it does so faster than NT itself, and is totally free of charge. Many Universities and Colleges use it, and several major commercial Unix vendors, including Silicon Graphics, are contributing to the development of Samba and bundling it with their workstations.


Stability, Ease of Administration, and Support

In the eighteen months since FreeBSD was installed, it has hung only once due to an error in the operating system (three other times are attributable to superuser stupidity).

Of course, free UNIX software is not for everyone. Those who haven't had previous experience with UNIX will find it impossible without some help. Those without a technical bent, and those who expect to set up everything with control panels, rather than reading a manual and editing config files, really would be better off with another product. Or, a consultant to install it for them.

But no one can complain about the price. When Windows NT for 45 seats and proxy and email software (even if it worked properly) would cost the same amount as a small car, this is a very big issue. While top management might be skeptical about this, the truth is that when it comes to support, the on line mailing lists are the best and fastest there is. For any money.



Still to Do

Our school has just put in a 100B-Fx switched backbone to connect the library, front office, the four computer rooms, and staff rooms together.

Presently, only local email is enabled via telnet. This is becoming more popular with some senior students, who use telnet and elm to write each other messages when my theory lessons get boring. (Which, come to think of it, seems to be all the time ...hmmm!)

What I really need is a mail system for staff that connects with the internet, and a mail system for students that connects with nothing. I have got a copy of the sendmail "bat book", and it is pretty scary - maybe in the next vacation I will try qmail instead! On the other hand, a collegue is experimenting with a shareware Macintosh mail server. We shall see what happens.

Our first Internet connection was by a non-dedicated modem. When I want internet access, I dial up, when I want intranet access only, I hang up. Now we have a dedicated ISDN line and a fixed IP address, but there are a lot more computers on the LAN now. No matter how fast the link, students will swamp it anyhow. They will be on the Internet, channel surfing, at inappropriate times (when they are meant to be doing a wordprocessing assignment, say), and policing the issue will annoy students and teachers alike.

What is needed is a method that easily switches Internet access on or off to different classes or subnets, while keeping intranet access intact. This is not something that Apple, Microsoft or Novell handles at all, to the best of my knowledge, and will take some work to get right.

There are some industrial strength SQL database packages for FreeBSD that might allow easy teacher access to student records, writing report cards online, etc, but this sort of thing is well beyond my expertise at the moment. We use Filemaker for most things.

It is easy to think of an intranet as a vehicle to publish lessons online. From a time management perspective, I'd have to say I'm pretty sceptical about the reality of this. I'd like to see it in action.

Last week I took a day off sick. When I returned I found 70 or so copies of a web page on a popular female Russian tennis star beside the printer. Every page exactly the same. We are going to have to implement some sort of printing quota, and pronto. I'm toying with LPRng at the moment to see if I can get page counts.

The results of the first "home page" project I set were indicative of a first attempt at teaching an advance topic for the first time - satisfactory but mediocre. The Macintosh, with the "At-Ease" front end and integrated software, had previously shielded students from the nasty world of file systems, file formats, current directories etc, and this was something I am now spending much more time with. I also undersold the absolute neccessity for students to plan a web site before sitting down to author it - otherwise they get a lot of broken links and don't really understand why. On the other hand, I did this "home page" project with a standard class using raw html... Every student made a home page...

On the other hand, gifted and talented students are picking up on the "home page" idea with gusto. This is good!



Conclusion

The bottom line? Our school needed a private web server so students could publish web pages. FreeBSD has allowed our high school to have this and a whole lot more: a proxy server for internet connectivity, a file server for Windows and Apple computers, and a router to subnet IP and ethertalk networks. All this is done with standard, low end PC's. Most of my students need know nothing of Unix, any more they'd need know of Novell if we took that path instead.

From knowing only a little about UNIX to the stage I am now took about 9 months of fooling around at lunchtimes, after work, and two dozen or so very late nights. Most of this was learning - to set up the whole thing again would take between three and six days. An expert might be able to do it in a day and a half, including creating 1500 user accounts.

If you want to create a "corporate intranet" within a school or any other organisation, you have some UNIX expertise around, and you want to spend your money wisely, consider using the same software that your ISP is probably using right now: free software and FreeBSD.



Appendix:

Applications for an Intranet

BIND Berkley Internet Name Server. The industry standard DNS resolver. Difficult to run an intranet without one of these on site. BIND is like math - hard to begin with, but easy once you "get it". Great care should be used when setting up BIND and internal IP addresses: see the pedantic ppp primer.
Apache The most popular webserver on the net. Now packaged with some IBM systems.
Squid A caching proxy server. Acts as a gateway to the world wide web. This lets a classroom of computers browse the web though one modem. The speed is not terriffic, but is acceptable if kids are filling in worksheets. Also has the capability to bock access to certain sites.
Perl Mostly used for cgi scripting, but also a great introductory programming language. Also available as freeware for just about any OS, including Mac and PC. There is even perl poetry, if you're twisted enough.
Netatalk Currently in beta release. Emulates a Mac filerver, print spooler, and an AppleTalk router. It allows us to print to Apple Laserwriters from FreeBSD, and break our three rooms of Macs into seperate ethernet networks to speed things up.
Samba Emulates a Windows NT file, password, and print server. Faster than NT, and much more stable! Included free with some systems from SGI, Sun, Novell etc.
PostgreSQL An object orientated SQL database server. Still learning how to drive this one...
Sendmail Lets students send an receive email within our LAN.

For more illustrations and explanations, click here.


All of the programs above run on many commercial and freeware version of UNIX, from IBM to Linux, and are often included pre-configured with standard software distributions.

Apple's upcoming version operating system, called OS X, seems to essentially be BSD Unix with a few bells and whistles. It's bundled with the Apache web server, and the gnu C compiler, as you might expect.

Many excellent UNIX and UNIX-like operating systems are also available either as freeware or at a cost much lower than commercial Unix prices. These include:

Next page


Comments Please:
eirvine -at- tpgi.com.au
http://www1.tpgi.com.au/users/eirvine/



The
FreeBSD Ring This FreeBSD Ring site owned by Eddie
Previous 5 Sites Previous Next Next 5 Sites Random Site List Sites