Using Linux to Solve Community Center Technology Center Problems

Community Technology Centers and schools typically have the same problem: not much money. Although prices for computers and networking equipment have dropped and performance has increased dramatically, there is still the problem of lack of funds. Thus, if older equipment can be obtained for free and re-used somehow in place of new equipment, then money can be saved.

(Note: we are not (yet) discussing the issue of installing Linux WORKSTATIONS instead of Microsoft Windows workstations.)

Computers with Linux properly installed and configured and serve as routers and as file/print/mail/web servers.

To connect all the computers in a Center to the Internet, a special router is needed. The kind of router depends on whether the connection to the Internet is to be via ADSL and Cable Modem or via ppp dialup. In either case, all the computers in the Center are connected together via a local network in the building called a LAN (Local Area Network). Then, this LAN is connected to the Internet via the special router. This precludes the need for several phone lines and Internet accounts ( one phone line and Internet account for each machine to connect to the Internet). It also precludes the need for more than one IP address in the case of ADSL or Cable Modem connection. This saves quite a bit of money.

When they first appeared on the scene, these routers (also known as IPMasquerade boxes or firewalls) cost about $600-$700. I have coined the term "Internet Connection Box" (TM) to refer to such a special router for connecting a LAN to the Internet. Now, you can purchase similiar boxes for about $100 (e.g. Linksys). Since these prices have come down so much, they are one option. However, when we started connecting Centers to the Internet, we couldn't afford $700 per site for the router. We discovered that you can take older PC's such as 486/66's (we've even done 486/33's) or Pentium 90 or 133's, install Linux, and configure it to be such a router. Since we find a large number of 486/66's and P90's are being donated to Centers, and since we now are seeking to install P166's as the minimum workstation, we have a ready supply of computers for free to be used as routers. The minimum hardware requirements are 200 MB hard drive, 16MB RAM and 2 ethernet cards (or 1 ethernet card and 1 modem), we can often spend little or no money on preparing such a system to be a router. Remember that Linux can be obtained for free! See below for the URL for an installation cookbook!

Some Centers need computers configured as servers. In the case of a smaller center, you can get by with peer-to-peer network (let one of the workstations be a file server, sharing up a folder to 4 or 5 other computers and one or two machines can have a printer and share it with the other 4 or 5 computers). However, if the Computer Center is big enough, it will most likely need a dedicated server at some point (or it should have one). The problem with servers is two fold: cost and support. Servers can be quite expensive, with the cost of networking software licenses being quite high (often thousands of dollars). In addition, servers with Novell Netware or Microsoft NT Server required special training to install, configure, and manage. If you have a problem, you have to call someone to come and look at it. There are not a large number of people that have such training and are available to help out a Community Center for free!

Linux can be configured to provide file and print service to PC's and Macintoshes as well run a web server and even mail server, plus many other services (e.g. porn filtering proxy server). All of this software can be obtained for free (including the porn filtering.) Also, the Linux server software will run more efficiently on a computer than the Novell or Microsoft stuff, so a 200 MHz computer can often be recycled to be a server for a Community Center, instead of paying $1000-$5000 for a server. (If a company is willing to donate a server, how many workstations would they be willing to donate instead for the same money?) When it comes to support, although Linux is a newer operating system than Novell or Microsoft's, there are already a large number of people that are familiar with it and they all tend to be willing to offer their services for free. In addition, through the e-mail support lists (e.g. redhat-list@redhat.com) the whole rest of the world is available to support anyone at the Center in solving a problem or adding a service. People that read those lists regularly talk even NEWBIES through doing such things. This means that a Center is not limited to getting help from the person that installed the server if the server has Linux instead of Novell Netware or Microsoft Windows NT Server. The new Linux software technology is thus less expensive to obtain and less expensive and more reliable to support. This makes it an extremely good candidate for introduction into Community Technology Centers and schools.

What is needed is cookbooks for installation, configuration, management, and troubleshooting for Linux routers and servers.

I have spent the past year or two preparing such documents. They can be found at:

http://www-jerry.oit.duke.edu

or (more specifically):

http://www-jerry.oit.duke.edu/linux/HOWTO/howtolist.html

There you will find documents on how to install and configure Red Hat Linux v6.2 to turn a PC into an "Internet Connection Box" (firewall/router/IPMasquerade/NAT box). Also, documents on how to install and configure Red Hat Linux v7.1 to turn a PC into a file/print/mail/web server for PC's and Macs. These documents are COOKBOOKS! Just follow them to the letter and viola! We have installed Linux ICB's and ICB-Companion-Servers (TM) in several centers. We have also had the installation cookbooks newbie-tested!

We are still in the process of producing "network users guides" for using file, print, mail, and web services from Linux servers, but much of this information may be available out there on the Web.

One of our next projects is to investigate ways of adding Microsoft Windows "Applications" services to a Linux server. This will allow us to run actual Microsoft Windows programs such as Access database program on our Linux server and provide remote access from other machines (our own version of Microsoft's "Backoffice" (TM)). While we can already provide file service, the application still must run on the local machine. This can be useful for CGI programming for Web servers. We have SQL database servers that can run on Linux (e.g. MySQL and Postgresql) and in many cases, these will provide all the necessary functionality. However, it means a programmer must be familiar with these packages in order to set up the database. If the actual Microsoft (or IBM!) database program is available to run on the Linux server (no, Mr Bill will NOT port Access or any other piece of MS Office to Linux), then existing programs and databases can be simply moved over to the Linux server. Just give us time! We'll get there!