· Technology  · 4 min read

Installing QuickBooks Enterprise on a Linux Server

Step-by-step instructions for running QuickBooks Enterprise on a Linux server using Wine.

Step-by-step instructions for running QuickBooks Enterprise on a Linux server using Wine.

Intuit/QuickBooks does not provide telephone support for Linux servers, and their online documentation lacks key details required to get Multi-User access working properly. To install QuickBooks Enterprise using a Linux server to host a Multi-User company data file, follow these steps.

Step 1 - Set the Server Hostname

Set the server hostname to your preferred name, for example accounting. Do not use a fully qualified domain name - use a single-word hostname only.

hostname accounting

Step 2 - Install and Configure Samba

Install Samba and edit your smb.conf. The netbios name must match the hostname set in Step 1, otherwise things will not work.

netbios name = ACCOUNTING
interfaces = lo eth0 em1 192.168.1.2/32
hosts allow = ALL
[quickbooks]
path = /home/quickbooks
public = no
browseable = yes
guest ok = yes
writeable = yes
guest only = yes
read only = no
follow symlinks = yes
wide links = no
create mask = 0777

Step 3 - Edit /etc/hosts

Add your hostname to the beginning of all localhost entries, and add a unique entry for the server’s main IP address.

::1 accounting localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 accounting localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.2 accounting

Step 4 - Install the QuickBooks Database Server Manager

Install the correct version of qbdbm matching your QuickBooks client version. For example, QuickBooks Enterprise 14.0 requires qbdbm-24.0-1.i386.rpm.

Instructions: http://support.quickbooks.intuit.com/support/Articles/HOW12295

QuickBooks VersionDB Manager
QuickBooks Enterprise 2015QBDBMgrN_25
QuickBooks Enterprise 2014QBDBMgrN_24
QuickBooks Enterprise 2013QBDBMgrN_23
QuickBooks Enterprise 2012QBDBMgrN_22
QuickBooks Enterprise 2011QBDBMgrN_21

Step 5 - Configure qbmonitord

Edit /opt/qb/util/qbmonitord.conf and add the full path to your SMB share. The monitor does not recurse subdirectories, so add each directory as a separate line.

/home/quickbooks

Step 6 - Verify QBGLOBALAPPCONFIG.INI

Ensure /opt/qb/util/QBGLOBALAPPCONFIG.INI reads as follows. Older versions of qbdbm may not have this file - skip this step if it is missing.

[QBDBPortFinder]
StartPortNumber=55333
Range = 5

Step 7 - Verify qbmonitord and QBDBMgrN are Running

ps -ef | grep qb

Expected output:

root  27097  1  0  15:49  ?  00:00:00  /opt/qb/util/qbmonitord
root  27121  1  1  15:49  ?  00:07:06  /opt/qbes14/SYBSsa11/bin/QBDBMgrN_24 -n QB_server_24 -qs ...

If either process is not running, run it manually from the command line and debug any errors. Use strace to investigate startup failures.

Note: QBDBMgrN_24 listens on port 55358 even though QBGLOBALAPPCONFIG.INI is configured for 55333. This is a known Intuit quirk. Port reference: http://support.quickbooks.intuit.com/support/articles/HOW21086

QuickBooks VersionPorts
QuickBooks Enterprise 15.08019 and 55363-55367
QuickBooks Enterprise 14.08019 and 55358-55362 *
QuickBooks Enterprise 13.08019 and 55353-55357
QuickBooks Enterprise 12.08019 and 55348-55352
QuickBooks Enterprise 11.08019 and 55343-55347
QuickBooks Enterprise 10.08019 and 55338-55342
QuickBooks Enterprise 9.08019 and 55333-55337
QuickBooks Enterprise 8.010180
QuickBooks Enterprise 7.010172 **

* When testing Enterprise 14.0 (QBDBMgrN_24), only ports 8019 and 55358 were actually listening. Ports 55359-55362 were not active.

** When testing Enterprise 7.0 (qbdbm-12.0-14.i386.rpm), only port 10172 was listening.

To test whether a port is open, telnet to it from a Windows client DOS prompt. Note that QBDBMgrN only listens on the primary ethernet interface - not on localhost.

Step 8 - Verify qbdir.dat

This file lives in your Samba share path. The MachineName is generated by qbmonitord and pulled from your server hostname. It must be consistent across your configuration.

// This is QuickBooks configuration File. It exists while users are connected
// to a company file. Do not delete this file yourself.
[NetConnect]
MachineName=accounting
DirectoryPath=/home/quickbooks/

Step 9 - Verify company.QBW.ND

This file lives in the Samba share path.

[NetConnect]
ServerIp=192.168.1.2
EngineName=QB_server_24
ServerPort=55358
FilePath=/home/quickbooks/company.qbw
ServerMode=1
FileConnectionGuid=

ServerIp must be the static IP of your server and ServerMode must be 1. If these are not set correctly, Multi-User mode will not work.

Step 10 - Verify company.QBW.DSN

// This is QuickBooks configuration File. It exists while users are connected
// to a company file. Do not delete this file yourself.
[ODBC]
DRIVER=QB SQL Anywhere
Compress=NO
DisableMultiRowFetch=NO
Debug=NO
Integrated=NO
AutoStop=NO
CommLinks=TCPIP{HOST=192.168.1.2:55363}
ServerName=QB_server_24
DatabaseName=1dfafeasd165basdf54fkjx84d7fb5e5ad976d1

Step 11 - Verify Client Name Resolution

From each Windows client, open a DOS prompt and verify you can ping the server by hostname:

ping accounting

If name resolution fails, QuickBooks will not connect. As a workaround, add the server hostname to the Windows hosts file (C:\Windows\System32\drivers\etc\hosts) on each client machine.

  • linux
  • wine
  • quickbooks
Share:
Back to Blog