Each year, I receive hundreds of inquiries about networking issues related to QuickBooks. In this three-part series, we're examining the best practices and minimum requirements for configuring QuickBooks 2017 Desktop products (Pro, Premier and Enterprise).
In this part of the series, I examined Single-user and peer-to-peer network installations. Here, I'll examine the most common form of networking – the Client-Server.
Client-Server (Dedicated Server) Networks
Windows Networks
Most installations running QuickBooks do so on a Windows-server based network.
Windows Server – Typically, a domain or file server in larger networks upon which either the QuickBooks Application and/or just the QuickBooks Database Server has been installed. While many IT professionals frown on the actual QuickBooks application being installed on the server, and prefer that only the QuickBooks Database Server and its companion QBDBS Manager-utility be installed, that practice does not fit our recommended "best practices."
- Best Practice is to install the full QuickBooks Application and Hosting on a dedicated server. This permits essential file functions like back-up, verify and rebuild to be performed directly on the server. These file functions should never be performed "across a network." As such, it's necessary to copy the Company file to a workstation to perform these functions. unless the full application has been installed on the dedicated "hosting" server.
Intuit
QB Client-Server Configuration
- Server: QuickBooks with Database Server or Database Server Only – QuickBooks Company files are hosted on this computer.
- Workstations: QuickBooks is installed on each workstation and QuickBooks Hosting is "Turned OFF." QuickBooks Company files are accessed from the server.
Server Operating Systems supported:
- Windows Server 2012 (R2)
- Windows Server 2011 (R2) on QuickBooks 2017 R4 (Enterprise 17 R4) and above
- Windows Server 2008 (R2 – SP1)
- Windows Home Server Edition is not supported
- Linux: When using the QuickBooks Enterprise Database Server for Linus only: OpenSuse 42.1, Fedora 23, Red Hat 7 (update 2) (See the section below regarding Linux Server installations)
The minimum requirements, according to Intuit specifications), for QuickBooks 2017 in this configuration are 8 Gigs of RAM for a network supporting up to 5 users, 12 Gigs of RAM for 10 users, 16 Gigs of RAM for 15 users, and 20 Gigs of RAM for 20 users.
- Best Practice would call for 12 Gigs of RAM minimum for five users, 20 Gigs of RAM for 10 users, 32 Gigs of RAM for 15 users, 48 Gigs of RAM for 20 users and 64 Gigs of RAM (or more) for 30 users.
The computer should have a 2.5 GHz processor at a minimum. Hard drive capacity of 1 TB at a minimum, and it should never exceed 50 percent of capacity. I always recommend 10,000 revolutions per minute hard drives for server performance.
If Intuit Data Protect will be used from this server, an additional 2 Gig of RAM is required, according to Intuit specifications. Sufficient disk space should be allocated such that free space is equal to twice the size of the largest file set to backup to Intuit Data Protect.
Client Workstations – All other workstations on a Client-Server network should be configured with "only" the QuickBooks Application running as a client. They should "not" be installed with hosting capabilities.
These computers make use of the QuickBooks application, but the Company file is located on the network's server acting as the host for QuickBooks. At no time should any of these other workstations have "hosting" turned on.
These workstations should be running a minimum of 4 GB of RAM (Best Practice: eight or more GB of RAM.) Each workstation should have a 2.5 GHz processor (minimum) and a minimum of 500 GB hard drive with 250 GB of free disk space.
Networked Linux Server
While the clear majority of QuickBooks networked installations are Windows-based, a few installations may be based upon Linux Operating System servers.
QuickBooks Enterprise offers a version of the QuickBooks Database Server designed to run on a Linux Server. QuickBooks Pro and Premier do not offer this functionality.
Workstations properly connected to the Linux server will continue to use the standard QuickBooks Enterprise application.
The materials that follow are not intended to be a comprehensive guide for the installation or configuration of the QuickBooks Database Server for Linux server operating systems.
Linux Server – System requirements for Linux Servers remain consistent with the requirements for a Windows-operating based server, with the exception that Intuit notes that, "as much RAM as possible" should be installed on the Linux server.
When using the QuickBooks Enterprise Database Server for Linux, the following operating systems of Linux are supported:
- OpenSuse 42.1
- Fedora 23
- Red Hat 7 (update 2)
File-sharing software supported in this environment is Samba 2.2.12
Firewalls and Antivirus Software – The Linux Database Server Manager uses port 8019. The first free port in the range 55343 to 55347. If all ports in this range are used by other applications, the Linux Database Server Manager uses port 56721.
Make sure all of these ports are open on the firewall. If you don't want to open multiple ports on the firewall, open port 8019 and port 55343 only. But if port 55343 already is in use by another application, QuickBooks Enterprise Solutions will not work properly.
If you use firewall and antivirus products, you might have to adjust settings in these products to ensure the best possible performance with Enterprise Solutions (an incorrectly-configured firewall can stop the Linux Database Server Manager from working).
Configuration Requirements – Unlike Windows, the file system used on Linux is case-sensitive. Filenames that differ only by case may prevent Enterprise Solutions from working properly. Make sure your QuickBooks Company file names are unique.
The directory on your Linux server where you store the QuickBooks Company files must be configured as a Samba share, so that it can be mapped as a drive on your Windows client computers. Samba does not overwrite limits set by kernel-level access control such as file permissions, file system mount options, ACLs and SELinux policies.
Both the kernel and Samba must allow the user to perform an action on a file before that action can occur.
Intuit recommends you do not use anonymous or guest-level access.
To be able to access the QuickBooks company files, Windows clients must be able to resolve the host name or IP address of the Linux server. Make sure Samba is configured correctly to use the Domain Name Server.
If you don't have DNS or WINS configured and don't want to use broadcast resolution, you can list the Linux server in the Windows HOSTS file.
Installation Issues – When installing the QuickBooks Database Server on a Linux server, you must be the root user to install and configure the Linux Database Server Manager. On SUSE, you must have the fam-server package 2.7.0.29 or later installed on your Linux server and the fam service must be running.
For specific installation steps, refer to the Linux Database Server Installation and Configuration Guide.
Intuit's Disclosure regarding System Requirements: If the individual product requirements do not specifically state that an operating system, hardware, software, firewall or antivirus is supported, it has not been tested. Intuit cannot promise that your experience will be trouble-free. If you experience problems outside of the supported environment, technical support will be limited to standard troubleshooting. If unresolved, the program should be returned to a supported environment for additional support.
Notes & Disclosures regarding this article: All references in this article are to U.S. versions of all 'named' software, all such software should be set to "regional settings" of English (United States). Administrator rights are required for the proper installation and operation of servers, recommended for workstations. Natively installed means it was installed on a particular system or environment that it was designed for. This also means that it doesn't need to run in a virtual environment or emulation software. Not all hardware and associated (adjunctive) software has been discussed in this article regardless of any requirement or lack thereof.