Colin Mattoon

Subscribe to Colin Mattoon: eMailAlertsEmail Alerts
Get Colin Mattoon: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Apache Web Server Journal

Apache Web Server: Article

Cheap & easy business accounting with Linux

In part 13 in our 'Linux for Peanuts' series, we prepare to install an open-source accounting system.

(LinuxWorld) -- Why is accounting ignored by the Linux community? I find this puzzling. When I am puzzled, I sometimes rant and rave. If things get out of hand, sometimes the nice men in uniforms come to my side and inject me with a calming substance.

I'm all better now, and let me tell you what I've decided to do instead of starting yet another rant. I'm going to find a Linux-based business accounting system that I like and that dovetails nicely with our Linux Network for Peanuts. I think I may have found one.

It is called Nola. Today, we will prepare you to set up your own server and get your hands dirty with the Nola software.

We won't actually begin the installation in this installment, but don't start tearing at your clothing and rolling on the floor in frustration, because you have plenty to do before next time. You need to:

  1. Round up hardware
  2. Obtain the Linux distribution we will use
  3. Download some packages

As always, rest assured that this is going to be another example of "Cheap and Easy" Linux server-centric computing.

Cheap, because Nola is free.

Easy, because I'll guide you step by step.

Once it is up and running, well, that's another story. You, and you alone must face the harsh, disbelieving eyes of the top dog in your accounting department -- with trembling lips and fear in your heart! He, she, or they will pass judgment on your proffered solution.

Your first job is to make it available to them so that they can evaluate it.

Perhaps Nola is the "killer application" that I need to break the pattern of bad luck experienced in my attempt to find the right Linux-based accounting solution.

Quick review of what we've accomplished so far

We began this series back in August, 2001 by creating a Cheap and Easy Linux Network for Peanuts. (Find links to earlier articles in this series under "Related Articles," at the end of this installment.)

By exploiting the power of Linux and the X Window System, we used ultra-cheap, "obsolete," 486 and first-generation Pentium hardware as workstations. We spent no money for operating systems or other software licenses, and our out-of-pocket expense per workstation amounted to little more than the money spent for a decent monitor, keyboard, and mouse for each.

Although we slashed expense to the bone, we didn't sacrifice reliability or speed. We loaded free Linux on the most capable machine to act as our "mini-mainframe," or "application server." This server is the repository of all user-generated data and it executes applications for remote display, thus permitting us to deploy old hardware on the desktop without concern that a desktop crash will cause the loss of data or applications.

We exploited Linux's power, as a multi-tasking and multi-user operating system, to efficiently share libraries and hardware resources on this application server. Huge applications like the Star Office suite and Netscape start quickly and run smoothly for multiple users on a single machine, which is no more powerful than most current production mid- to upper-tier single-user desktop PCs. Again, we didn't spend any money for OS licenses, and our applications are free. All are "free, as in beer," and most are also, "free as in speech."

In December, we turned our attention to populating our "Network for Peanuts" with Web-based applications. We converted a Pentium 75 from an X terminal to a specialized Intranet Web server. This text-messaging gateway provides an easy-to-use portal for browser-equipped workstations to send text messages to a variety of alphanumeric pagers, digital cell phones, and PCS phones. We spent nothing for software, and next to nothing for hardware. We saved hundreds, perhaps thousands of dollars, as compared to going with a Windows solution by using Linux and free applications for a production deployment on a machine too puny to even permit experimentation with Windows 2000.

Now, let's admit to (ahem) a wee problem.

The problem is, although we have a capable network of workstations and servers that cost almost nothing, we still can't run a business with it. We can handle e-mail, surf the Web, run spreadsheets, create documents and get into desktop publishing -- but we can't keep the books. We can't post a payment, we can't enter an invoice, and we can't print monthly statements. We can't get rid of Windows yet!

We seek a way to fix that little problem, and we will see if Nola is the right tool for the job.

Who developed Nola & why?

Nola is a free business accounting package, released under the GPL by the Ohio based-firm Noguska. Noguska has produced a variety of software for business since 1973. When you check out its site or call Noguska the company presents a comfortable, folksy image. Noguska's people are pleasant and helpful.

I don't know about you, but I always wonder how a software firm can break with tradition and give away software. I asked, and got a plausible answer: Noguska's profit has always been in customization and long-term support. By giving the software away under the GPL, Noguska reaches more potential customers. It's fine with Noguska if many, or even most, can use it as-is and without support because businesses grow and evolve. When they do, Noguska intends to be there, for a fee, with skills necessary to enhance its core for free accounting system. Free, if I can handle it. Fee, if I can't. I like that.

Yes, that is fair enough -- everybody has to eat -- and it is a conventional business model applied by many companies plying the open source waters. We shall see if it works for Noguska. If it does, great! If not, well, Nola is GPL'd software. We are free to hire our own guru if we ever need one and Noguska's gone under. I like that too.

Nola isn't the only Web-based, GPL'd, business accounting package available. Another is SQL-Ledger Accounting. In a later article, I'll explain why I chose Nola, but look at the SQL-Ledger Web site, because it is an interesting package.

What's special about it? (Aside from being "free?")

Nola is Web based. You set up a dedicated machine as a Web server, and users login with their browsers. I really like that.

This package works with Apache, MySQL, and PHP to create a Web-based application. PDFlib permits generation of .pdf documents (such as income and cash flow statements) for printing with Adobe Acrobat Reader. Conceptually, it is not so different from the Text Messaging Gateway we completed in Part 12. The capabilities of several applications are combined to create a whole that is greater than the sum of its parts. In this case, a Web-based accounting server that lets us leverage the power of X Window and the browsers already used by our X terminal users. Just as with the Linux Text Messaging Gateway we configured in Parts 9 through 12 of our series (see Resources for links), providing services to our network from separate Web server machines offers us several benefits:

  • Splitting up the load means we can use less powerful, and therefore, less expensive machines as our servers. This doesn't mean we intend to run junk for mission critical tasks. It means that we can take advantage of discount or liquidation pricing on machines with one processor, a slower processor and less RAM. We can still buy quality gear and avoid paying premium prices for multi-processor 1.5-GHz monsters.
  • Our "Cheap and Easy" network of Linux X terminals is already outfitted with Web browsers. Web-enabled applications leverage the power of X and the browser to provide additional services without installing any client software on the mini-mainframe application server or the X terminal workstations.
  • Applications that reside on their own server can be configured with the Linux distribution most suited for our purpose. For our Text Messaging Gateway, we used Debian "Potato." Our application server may be running Mandrake, our X terminals configured with Slackware, and our Internet gateway/router/firewall with FreeSCO. For this trial, we will use Red Hat 7.2. (More on this later).
  • Different machines can be upgraded without fear of breaking critical applications. Five years from now, we may need to load Caldebian 9.3 on our application server to support XFree86 7.1 and Stellar Office 42.6. Our accounting server and Text Messaging Gateway can continue to crank away with Red Hat 7.2 and Debian 2.2, respectively, and we never have to tremble at the thought of breaking either of them.
  • Browser enabled applications pave the way for migration from expensive, proprietary desktop operating systems to free Linux. Begin by serving the application to Windows users. After they are comfortable with the application, convert them from the standard Windows browser (Internet Explorer) to the cross-platform standard Netscape (if they haven't already done so). When (during some dark and stormy night) you wipe Windows from their machines and reconfigure them as Linux X terminals, the next morning they can go right to work with KDE or Gnome and Netscape with a minimum of fuss and no learning curve.

There has to be a downside!

Yup. There is.

Oh, you want to know what the downside is?

Well, you are the demanding little bugger now, aren't you?

The first downside of Nola is the convenient installation utility. There isn't one. At least, not one that works.

Secondly, there is a problem with the manual installation instructions available at the Noguska Web site. They don't work either.

A cynic's reaction might be that this is some sort of bait and switch, game. "Here is our free accounting package and here is how you deploy it. Oh, you say that you can't get it to run? Well, try our support service for a minimal fee!"

I don't think so in this case. Nola's developers have been forthright and helpful in my communications with them. The package was very much beta when released last year, along with an installation script as part of a now obsolete ISO image and some downloadable pdf documentation. Development rapidly out-paced documentation, and as per usual among developers, they have concentrated on the software at the expense of decent documentation.

Nola runs on other platforms and not just Linux. The idea, according to Ryan Fox at Nola, is to tidy up the package, create a new ISO file that includes an installer that works for all supported platforms and then return to the matter of documentation.

Sorry Noguska, but we aren't going to wait! We want to see it now, particularly since it is reportedly already usable for many deployments. If it looks good, we may begin to use it. If it looks good, but still too beta for our needs, we'll track it until it IS ready for us. If Nola doesn't look like it can ever meet our needs, we want to know that now, and return to our quest to find the right business accounting package.

Yeah, but if it isn't easy to install...

Stop that whining! This series is not only dedicated to Cheap and Easy Linux server-centric computing, it celebrates it! (Or as one wag who wrote me, put it: "Cheap and Nasty.")

I will lead you through (yes, in excruciating, pedantic detail -- what did you expect?) the steps required to set up your own Nola Web server. You might even end up with a machine that you find suitable for use on your own LAN, but...

A word about security!

At this moment, Nola's developers are about to gnash their teeth and scream, "No!" at what I am about to recommend.

Relax, people. Yes, we are leaving out some packages (for now) that are considered essential for security. In my not so humble opinion, this is acceptable because:

  • We aren't setting up a production server, yet. We want to look at the core of the accounting package as quickly, cheaply, and easily as possible.
  • We aren't setting up an Internet server. This machine is on a LAN, behind a firewall. The bad guys aren't going to find it, but even if they did, there's not going to be data on it that is critical.
  • We have to compile most of the software, and since this is a test installation, most of you are probably not going to set aside the latest and greatest 2-GHz machine just to look at Nola. You will find it easy, but compiling from source code can take time on an older, slower, machine. If we like Nola, we can perform a fresh install on the production machine and install the additional packages for more secure password encryption, and so on.

Again, with the downside...

Look, nothing is perfect, and we touched on some of the issues earlier.

Obviously there's a problem with the installation script. There isn't one. At least, not one that installs Nola. We will get around that, however.

Installation instructions. No, they don't accurately document installation of the current release. That's a problem, but it's one we will resolve in this series.

Binary installation. All you do to install Nola (near the end of the process) is unpack it in an appropriate directory, change some permissions, and edit a couple of files. But, and this is a biggy, before you reach that point, you must compile a bunch of packages from source code, including Apache, MySQL, and PHP. Although we are going to use Red Hat 7.2, you don't get to use Red Hat's famous RPM package management system. Come on, there's a whole world out there that doesn't use RPMs. It isn't the end of the world!

Nola is a work in progress. The problems that remain are mostly matters of ease-of-installation and quality of documentation.

We could give them time to take care of these problems, but in reality, they have nothing to do with the quality of the software, and why wait for the pre-packaged version? We can cook up our own install, and if you are one of the legions of people who wonder what is meant by all this "make install," and "source code" stuff, well here is a chance to get your feet wet.

Be honest now...

You're one of those people who have secretly been just itching to try compiling something "from source," aren't you? Yeah, I thought so. All the other sysadmins laugh at you and your red nose and refuse to let you join their sysadmin games. But you never encountered a situation in which you had to compile anything from source, except maybe a kernel, and even then you were hard pressed to see a performance improvement over the stock vmlinuz.

If you ever expect to see fear, awe, and admiration in the eyes of your peers for something you have done (not counting restroom accidents), you need to get off your duff now and "./configure;" "make;" and "make install" some software from source code.

You don't need to tell them you were following along in a series of articles written by me.

Lemme' see that thing before I decide

Sure, why not? When your users point their browser at the Nola server, they encounter a login window:

When they login with their user name and password, they are granted entrance to a magical kingdom of debits, credits and past-due accounts:

Here is an example of the many wonders that unfold before them:

Hey, it's bookkeeping! How exciting did you think it was going to be? We need it. We can't run our business without it. But exciting? Get over it. This is the world of commerce that you want to conquer with Linux, not some shoot-em-up space rangers game!

Okay, I'm in! What do I need for hardware?

Noguska lists a Pentium 200 with 32 megabytes of RAM as minimum and suggests a PIII at 500-MHz+ with 128 megabytes of RAM. An accounting server deserves reasonably new equipment for hardware reliability. From my initial observations, I'd say that most SOHO users could get by with considerably less than even Noguska's minimum requirements. However, that's going to be a machine that is getting a bit long in the tooth, and I don't suggest putting financial records on an old beater.

Another consideration is the installation process. You will compile some large packages. Not only does this take time, but also can be a problem with some of the early Pentiums and clones. If you can get a 486 to work you might well add an entire day to the process. Why bother if you don't absolutely have to?

We are going to perform a "server installation" of Red Hat 7.2. Red Hat's documentation calls for a minimum of 1 gigabyte of disk space (without X). My completed installation (including Nola, but before adding any data to the accounting program) uses 876 megabytes plus 192 megabytes of swap space. You need a hard drive larger than 1 gigabyte to follow along as we configure this system.

Don't be too concerned about RAM. Software compilation is more CPU-intensive than it is a big RAM hog. Thirty-two megabytes of RAM is plenty for our tests, and more than enough for most SOHO use.

A CD-ROM drive is not essential. If the machine has one, fine. We will use it to install Linux. Otherwise, we will install Linux over the network -- an even easier install than our X terminal installation of Red Hat we performed back in Part 6 of our series.

I decided to employ an unused machine with a Cyrix MII-300 processor at 233 MHz, with 32 megabytes SDRAM and a 10-gigabyte hard drive. Far from state-of-the-art, and maybe a bit too rickety for a production deployment, but only because of its overall condition. Otherwise, I wouldn't hesitate to use this machine in an office where several users would access the accounting program simultaneously.

I need Red Hat 7.2?

Yes. No. Maybe. Some people are running Nola on other Linux distributions as well as Windows NT and 2000. Some of the documentation at the Noguska site references other Unixes.

I'm lazy. I spoke with Noguska's Kathleen Howard and Ryan Fox. They told me that most of the latest development has taken place using Red Hat 7.2. Since I am lazy, I decided I would probably run into fewer problems if I use the same distribution the developers are using. That way too, if I encounter insurmountable problems, I can ask the developers questions and get answers based on the distribution we share.

I suggest you indulge your lazy side. You can purchase Red Hat 7.2 at Red Hat's site, download it, or do what I did and purchase a book with the "Publisher's Edition" on CDs inside the back cover. I picked up a copy of Red Hat Linux 7.2 Weekend Crash Course, authored by Naba Barkakati and Kurt Wall, published by Hungry Minds, for a bit less than the cost of an official boxed set.

What else?

You are going to need the source code packages I hinted at, plus the Nola binary. Yes I know, there are RPMs for most or all of these that can be downloaded from various sites. Some of these RPMs are also included on the Red Hat 7.2 install CDs.

Download these packages anyway. For now, trust me on this one. Find links to each site below. I suggest you download them to your application server or other Linux machine and put them in a directory that can be exported as an NFS partition. That way, if you really foul your nest, you can quickly perform a fresh installation of Linux on your server, transfer these source packages via NFS, and not have to download them all over again.

Where is Nola hiding?

Just so we are all on the same page, we will use Nola release 1.1.1. Find it as "nola-current-tar.gz" at http://nola.noguska.com/download.php until the next release replaces it.

Anything else?

Probably not, although if you don't have Adobe Acrobat Reader installed, either on your application server, or (for you miscreants who continue to defy all that is good and proper and run powerful workstations, probably with Windows, rather than Linux X terminals) on your workstations, you are going to need to download it.

Remember, Nola generates the documents you print as .pdf files, so you need Acrobat, or some other pdf viewer to print them.

For those who can't wait

And who already have Red Hat 7.2 install disks, or a lightning-fast connection for downloading stuff... and who insist on installing Linux before the rest of us are ready:

  • Select a text install
  • Server install
  • Auto-partition and Ext3
  • No firewall
  • No "Classic X Window System"
  • Yes to NFS server. (If you think you want to do "Cheap and Easy" backups over the network. You are going to run backups aren't you?)
  • Grub

If you don't know what any of this means, don't worry about it! We will cover it in detail in the next installment.

Well, what are you waiting for? You want to live with QuickBooks forever? There's work to be done! Round up a machine, get your Red Hat 7.2 installation media, download the additional files and rejoin us in our next installment as I attempt to break my string of bad luck with accounting!

More Stories By Colin Mattoon

When not buried under his real job in commercial two-way radio system design and sales, Colin Mattoon is a part-time Linux system administrator at Northwest Communications in Lewiston, ID.

Comments (7) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Taofik Lias 10/13/04 06:26:43 AM EDT

Business Management Applications on Linux Platform will rule the market in developing Countries, Asian and African particularly in Nigeria and India

Taofik Lias 10/13/04 06:26:18 AM EDT

Business Management Applications on Linux Platform will rule the market in developing Countries, Asian and African particularly in Nigeria and India

Taofik Lias 03/19/04 08:57:51 AM EST

I need a demo of the open source accounting program that can run on linux

Drew 03/07/04 11:58:06 PM EST

All, Im working on the php scripts, there are some/many issues with the version downloaded from the web site early March/2004. This application is very interesting, it's not the install issues - just need to work around them it's the run time reliability, that is such a concern.

Drew 03/07/04 02:46:09 PM EST

I have an install document for RH 9.X fresh load if anyone is interested. It is very large, will not post in this area.

Jonathan 11/12/03 01:11:16 AM EST

NFS for doing network backups?? Has the author not heard of
Amanda, or even rsync?

Alex 11/11/03 10:19:57 PM EST

Did you try GNUcash ?