See Your Program in Action
Now that all necessary software has been installed and configured on the Linux machine, you need to start up the necessary programs. Make sure you are logged in as root. Apache may already be running. If so, first shut it down (usually you can do this by typing service httpd stop
, but if that does not work, type ps auxw
to see a process map and then kill all of the httpd instances). The reason you have to shut down if it is already running is that you need Apache to reread the configuration files. Start up Apache httpd. If Apache httpd came with your distribution, you can start it by typing service httpd start
. If you installed Apache httpd from source, you can start it by typing /usr/local/apache2/bin/apachectl start
Now open your Web browser and visit http://webserver.mydomain.com/. Replace webserver.mydomain.com with the name or IP address of the server running Apache httpd. You should see a page with a menu. Click on "view payments." Notice that it links to view_payments.cgi (see Sidebar 1. Important Files in Web Directory for a description of this and all other important files in the Web directory). Now click on the back button and then click on "view open invoices." You should see your open invoices (see Sidebar 2. Important Lines of view_open_invoices.cgi for a line-by-line explanation of the important lines in the view_open_invoices.cgi program). On the open invoices page, you will also be able to click on individual invoices to view the invoice details. The pages you see should look like Figures 1, 2, and 3 below.
Notice that both links accessible from the home page specify a list_id parameter with a value of 50000-1140469099. Customer John Smith of Bentonville Accounting has a List ID of 50000-1140469099. The List ID is an internal QuickBooks value identifying a unique entity (customer or vendor, for example). Try adding some invoices and entering received payments linked to Bentonville Accounting. You will see that after you make the changes in QuickBooks, you can view the new information on the Web site immediately.
One thing you may want to try is passing the parameter dump_xml=1 to the three programs (view_open_invoices.cgi, show_invoice.cgi, and view_payments.cgi). If you visit http://webserver.mydomain.com/view_open_invoices.cgi?list_id=50000-1140469099&dump_xml=1 in your Web browser, you will see the raw XML data that QuickBooks returned in response to the qbXML query.
You should be able to extend the previous example to enforce access control, display other information from QuickBooks, and even enter transactions into QuickBooks.