Linux and Web Servers

Jones College Prep, Wednesday, February 8, 2005

A Very Quick History of Linux

What is Linux?

Linux isn't really the whole operating system, as we know that word in a modern setting. While an OS 35 years ago might handle IO through some calls or interrupt points, and include a boot loader (or that might be considered a separate program) we now think of an operating system as a layer protecting us from the hardware, a boot loader, and a bunch of utilities.

But Linux isn't really all that. Linux, very technically, is just the kernel. Even the boot loaders we commonly use for Linux postdates Linux as a kernel. The rest of the operating system comes from various places, and much of it can be used on several different operating systems, such as Minux, NetBSD, FreeBSD, Solaris, EUNICE, VMS or even Microsoft's OSs.

A lot of the programs come from a project spearheaded by Richard Stallman, the GNU project. Stallman is kind of weird, both socially and politically. Politically, he makes a lot of sense, but he's out of the corporate mainstream. He believes that software should be free, as in freedom. You can charge for it, but the code should be handed to you at the same time, and you should be able to do what you want with it.

Out of Richard's projects comes the CopyLeft, otherwise known as the GNU Public License, or GPL. (This, though the name implies otherwise, isn't a copyright replacement. You have the copyright to whatever you do, instantly, when you do it. Rather, the CopyLeft is a license. You allow people to use your work, sell your work and add to your work, provided that they CopyLeft their work on it, too. If they're not willing to do that, then they can use your work, but cannot sell it, or give it away. It's simple, and it's voluntary. If you don't want to use GPL'd software, don't. Write it yourself. But companies, more and more, are basing their work on GPL'd software. This router runs Linux. And then they benefit, usually, as people in the community sometimes improve it, at no cost to the original company. For example: This is a new distribution for the same router.

Sometimes, these companies try not to follow the GPL, and won't distribute source code or lie about where the start of their software came from. They get sued, and they share their source. THEN sometimes they benefit, just like anyone else, though there's a bad taste in everyone's mouth, about it.

But Richard's a little weird personally, and he frightens corporate types. Linus Torvalds, on the other hand, has good social skills, and corporate America isn't so afraid of him. He wrote the very basic core of Linux on a whim, then wrote his thesis about it.

Things are generally consider to have started when he posted this on comp.os.minix (a Usenet Group -- don't worry: you're too young to know what Usenet is).

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.
It was about 10,000 lines when he released Linux 0.01. It's now many millions of lines of code. Linus didn't write most of them. He coordinated the efforts of other people, and functioned like an editor for an encyclopedia -- accepting this, rejecting that (politely). Linus is a very good programmer, but he got more lines in Linux by having good social skills than he did by typing them up.

For a history of how Linux started and evolved as a coding process, see the first part of Linux, Inc. in BusinessWeek Online.

Linux is confounded with the GNU software and a VAST amount of other work. Generally, it's all lumped together as "Linux" but it's really a Linux distribution, or more technically, "a bunch of software with an installer that uses Linux as a kernel and all kinda works."

Installing Mandrake Linux

For this class we're using version 10.1 of the Mandrake Linux Distribution. It's very good. Many other distributions are very good in their own ways. There are distributions aimed at security, speed, tidiness, or specific aims like distributions designed to boot up a Windows box, and give you tools under Linux to get the Windows box back up as a Windows box... but working.

You can get it here, but there are a lot of other places, and it's surprisingly hard to find. You might want to pay a small amount and join the Mandrake club, so you can download it faster, without hunting around so much.

The key to using Mandrake is Easy URPMI, because updating Mandrake is really easy, but setting urpmi up to do that updating is hard.

Apache Webserver

Netcraft has long been cited as a source showing Apache's dominance in the web server arena. Note Apache's increasing slope and Microsoft's flat one. Also note that while Sun's offering (presumably Netscape's web server, which Sun bought years ago) is the only one offered outside of OTHER, now that NCSA is an anachronism.

Makes you kind of wonder what happened in the second quarter 2001 to give IIS a bump up, and Apache a bump down. No real question why IIS lost market share after that bump, though -- nothing gets you to stop using IIS like, well, using it. IIS isn't an intelligent choice unless you're forced to use it by an outside product's hooks into it, and then it's a good idea to look for another outside product so you can dump IIS.

Apache servers run reliably for years, without a moment of downtime.

Apache was based on the original http server from NCSA (National Center for Supercomputing Applications) -- httpd. A large number of patches had been released by individuals, but not folded into the free product by NCSA. The Apache web server came out as a patched version of the original program. A patchy webserver. Apache. Get it? That pun got them a little flack from Native Americans, but they kept the name.

Apache can be hard to understand. Doing simple things or even complicated things is usually easy under Apache. Figuring out how... now, that's not so easy. The documentation, while well written, is daunting, and the server changes over time. Expect to have to wrestle a little to do something you haven't done before, at least until you're used to it. But once you've got it, Apache is rock solid.


I support Rocky Anderson for president in 2012. The clickie below gives you some information about him. You might also check out his campaign page.