System Requirements

The Manhattan Virtual Classroom is a CGI (Common Gateway Interface) application written in the C programming language under the GNU/Linux operating system. The basic requirements are:

If you're running any Linux distribution, there's a good chance you have all three of the above already installed.

Note

Manhattan is 100% database-free, so you do not need to have MySQL or another database system installed.

While all of my personal experience with Manhattan is with GNU/Linux running on Intel/AMD 32-bit architectures, some have reported they've compiled and run Manhattan on 64-bit processors and under FreeBSD. It also seems possible to get Manhattan running under Apple's OS/X.

Generally, you don't need a very powerful server to run Manhattan. This of course, depends on how many users and courses you plan to support and how active those users are. Although Manhattan runs as a CGI application, you'll find that its response is quite snappy for two reasons:

  1. Manhattan is coded entirely in the C programming language. The 'scripts' are not interpreted as they are in Perl or PHP, but instead they are executable binaries.

  2. There's no relational database! Manhattan stores a course's data in binary files, and the programs don't need to query a database each time they need some data. Manhattan's programs know where the data is, and they get it themselves, very quickly.

I suggest you start experimenting with Manhattan by running it on whatever hardware you've got available at the moment. If Manhattan catches on at your school, and you want to buy something special for a server, I'd spend my money this way (from highest to lowest priority):

  1. SCSI disk system

  2. a good tape backup system - You ARE doing backups, aren't you?

  3. memory - Manhattan is not a memory hog, but memory is cheap and I feel better with 512 MB of RAM than I would with say, 128 MB.

  4. CPU speed - is probably the least important factor. I wonder if end users could tell the difference between a Manhattan server with a 500 MHz processor, and one that's four times as fast?

At the time of this writing, we at Western New England College support approximately 2,500 users in approximately 300 courses with the following server (which I consider high-end):

With the above configuration, you can sit 50 students in a lab and have them all send a file to the same Manhattan classroom simultaneously without wondering if the server can handle the load. On the other hand, the very first installation of Manhattan ran fine with hundreds of users on hand-me-down Pentium II processors with just a relatively few megabytes of RAM and small IDE hard disks. The bottom line is that any Linux supported hardware you happen to have at the moment will do just fine to get started.