First, some links and terms for you...
QuickBooks SDK - This has all of the QuickBooks related documentation for integrating with other applications, whether that be by COM, SOAP, RPC requests, etc. etc. etc. It also has several very useful testing and validation tools. You're going to want to go download this no matter what route you choose.
http://developer.intuit.com/
QuickBooks OSR - This is the main reference point which shows you all of the requests you can send to QuickBooks, and the responses that QuickBooks sends back.
https://developer.intuit.com/qbsdk-current/Common/newOSR/index.html
QuickBooks PHP Framework - This is a framework designed specifically for PHP to communicate with QuickBooks. Disclaimer: I'm the author. It's designed to work with the QuickBooks Web Connector (more on that later):
https://idnforums.intuit.com/messageview.aspx?catid=56&threadid=9164
QuickBooks Integration Wiki - Wiki that talks about QuickBooks integration. Disclaimer: I'm the author. Here:
http://consolibyte.com/wiki/doku.php/quickbooks
QODBC - This is a wrapper around the QuickBooks SDK XML requests which provides an ODBC driver to QuickBooks data. It's a commercial product, but supposedly works pretty darn well. I hear there are some concerns with performance sometimes, so I would try it before you commit to it.
AccessBooks - This might be another alternative for you, it provides a way to mirror QuickBooks data to an SQL database. It's a commercial product, and I've heard mixed things about how well it actually works.
QuickBooks Web Connector - This provides a way to use SOAP and qbXML to send requests to QuickBooks and receive responses from QuickBooks. This is what you should be using to link your Apache/PHP set up with QuickBooks. It is the only Intuit-supported method of linking websites to QuickBooks.
QBFC - This is the Windows COM/DCOM way to communicate with QuickBooks. Not applicable to you since you're on a separate computer and using Linux.
RDS - Remote Data Sharing for QuickBooks. This is not applicable to you as it's mean for use only within a LAN.
IDN Forums - The Intuit Developer Forums are a great place to post for help:
http://idnforums.intuit.com/
Now some additional thoughts/information:
Keep in mind that although QuickBooks is backed by an SQL database, it does not allow you any direct access to it's internal SQL database. So, you can't just query it using SQL.
Instead, Intuit provides an XML-based request/response thing that lets you send XML requests to QuickBooks and get back XML responses. It's pretty comprehensive and covers most (but not all) of the things you can do in the GUI.
To talk to QuickBooks from another machine, you need to use RDS, the Web Connector, or build something yourself. RDS is a security nightmare and not really meant for integrating web applications. The Web Connector is exactly what you're looking for, and what you should be looking into. The entire point of the Web Connector is to link QuickBooks on one machine with a web application on another. It uses a combo of XML and SOAP requests to get it's work done.
QuickBooks integration is not simple. It can be complex to implement certain things for a number of reasons: lots of foreign keys, dependencies, tax rules, picky XML parser, strange field lengths, etc. However, it's definitely do-able, and you don't need to be an accountant or really have a super-strong QuickBooks background to be able to do most things.
My PHP-specific recommendations:
- Use the PHP code linked to above
- Get familiar with the XML Validator tools in the QuickBooks SDK
- Turn PHP error logging to a file ON
- Get familiar with the QuickBooks OSR