· 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.

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 accountingStep 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 = 0777Step 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 accountingStep 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 Version | DB Manager |
|---|---|
| QuickBooks Enterprise 2015 | QBDBMgrN_25 |
| QuickBooks Enterprise 2014 | QBDBMgrN_24 |
| QuickBooks Enterprise 2013 | QBDBMgrN_23 |
| QuickBooks Enterprise 2012 | QBDBMgrN_22 |
| QuickBooks Enterprise 2011 | QBDBMgrN_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/quickbooksStep 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 = 5Step 7 - Verify qbmonitord and QBDBMgrN are Running
ps -ef | grep qbExpected 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 Version | Ports |
|---|---|
| QuickBooks Enterprise 15.0 | 8019 and 55363-55367 |
| QuickBooks Enterprise 14.0 | 8019 and 55358-55362 * |
| QuickBooks Enterprise 13.0 | 8019 and 55353-55357 |
| QuickBooks Enterprise 12.0 | 8019 and 55348-55352 |
| QuickBooks Enterprise 11.0 | 8019 and 55343-55347 |
| QuickBooks Enterprise 10.0 | 8019 and 55338-55342 |
| QuickBooks Enterprise 9.0 | 8019 and 55333-55337 |
| QuickBooks Enterprise 8.0 | 10180 |
| QuickBooks Enterprise 7.0 | 10172 ** |
* 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=1dfafeasd165basdf54fkjx84d7fb5e5ad976d1Step 11 - Verify Client Name Resolution
From each Windows client, open a DOS prompt and verify you can ping the server by hostname:
ping accountingIf 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