TheRosiek.com Random tech notes and tutorials

29Dec/098

QuickBooks Enterprise Install on Debian

Operating System: Debian Lenny 5.0

This server needs an /opt directory for the package install, so the partitioning is a little bit different than a typical Linux setup. This is what mine ended up looking like:

Filesystem Size Mounted on
/dev/sda1 2G /
/swap X /swap
/dev/sda9 (rest) /home
/dev/sda6 2G /opt
/dev/sda7 1G /tmp
/dev/sda5 3G /usr
/dev/sda8 2G /var

Setup a few packages necessary for the server first.

apt-get install samba gamin alien

Now users and groups need to be added for permissions and the Samba folder share access.

groupadd quickbooks
useradd -d /home/user1 -g quickbooks user1
useradd -d /home/user2 -g quickbooks user2
useradd -d /home/user3 -g quickbooks user3
useradd -d /home/user4 -g quickbooks user4
smbpasswd -a user1
smbpasswd -a user2
smbpasswd -a user3
smbpasswd -a user4

Create the folder where the QuickBooks data files will be stored and set the appropriate permissions.

mkdir /home/qbdata
chown user1:quickbooks /home/qbdata/
chmod 775 /home/qbdata/

Now configure Samba by moving the built in configuration and writing your own.

cd /etc/samba
mv smb.conf smb.conf.orig
cp smb.conf.orig smb.conf
vi smb.conf

The configuration file should read:

[global]
   workgroup = WORKGROUP
   server string = %h server
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes

[qbdata]
   path = /home/qbdata
   comment = Quickbooks Enterprise database share
   valid users = user1,user2,user3,user4
   public = no
   writeable = yes
   printable = no
   create mask = 0765

Now restart Samba and test the permissions using a Windows client. You should be able to see the logs created by each client and who was accessing the share.

/etc/init.d/samba restart
tail /var/log/samba/log.smbd
tail /var/log/samba/log.rst-win-utl3

Using Alien, we'll create a deb package from an rpm so it can be installed. Some other directories and files need to be created for logging purposes since Debian uses rsyslog and QuickBooks won't create them on its own.

cd /usr/src
wget http://http-download.intuit.com/http.intuit/CMO/qbes/resources/qbdbm-20.0-5.i386.rpm
alien qbdbm-20.0-5.i386.rpm
mkdir /var/lock/subsys
dpkg -i qbdbm_20.0-6_i386.deb
touch /var/log/qbdbfilemon.log
touch /var/log/qbdbmgrn_20.log
touch /var/lock/subsys/qbdbfilemon
touch /var/lock/subsys/qbdbmgrn_20

We need to add a line to the syslog configuration in /etc/rsyslog.conf, just put it at the end.

daemon.*                        -/var/log/qbdbfilemon.log

Setup the QuickBooks binaries to startup automatically.

update-rc.d qbdbfilemon defaults
update-rc.d qbdbmgrn_20 defaults

Modify the file /opt/qb/util/qbmonitord.conf in include the directory where the QuickBooks data will live.

/home/qbdata

Restart the server and you should be able to run a ps -e and see the following processes running indicating the server is up. There also should be a /home/qbdata/qbdir.dat file created automatically.

 1987 ?        00:00:01 qbmonitord
 1994 ?        00:00:02 gam_server
 1995 ?        00:25:40 QBDBMgrN_20
Comments (8) Trackbacks (0)
  1. Ryan,
    You were right. Server is 64 bit

    Linux linux 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

    I was wonder why the installation process on server was so unstable . I reinstalled it two times. And then some commands just do not work while at home desktop everything works just fine as it should. And I presume because of 64bit server Architecture. Now I am wonder why Ubuntu recommend 64 bit server system if it is so unreliable?

    Many thanks
    Arek

    • Yeah, unfortunately I don’t know much about Ubuntu server and what exactly is different, but typically in a server environment these days you always want to run 64-bit since it doesn’t have memory restrictions.

      I understand going with Ubuntu since it’s on your test box, but I would give the 64-bit version of Debian some serious consideration. I don’t think you’d have as many issues.

  2. Hi Ryan,
    Print out from server

    root@linux:/home/arek# lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 11.10
    Release: 11.10
    Codename: oneiric

    At home I have installed desktop version and at work server version. At both machines I have run update of packages.
    Thank again for quick respond
    Arek

    • Can you try running “uname -m” and see what output you get on your server? It should be x86_64 or something to that effect indicating you’re using a 64-bit version of Ubuntu Server. You could try downloading and install the 32bit version http://www.ubuntu.com/download/server/download). I don’t recall from when I wrote the post what version of Debian I was using when I installed it, but almost always use 64-bit, so I wonder if Ubuntu doesn’t include some i386 libraries.

      Have you tried using Debian at all? Cleaner than Ubuntu in my opinion…could try both architectures there as well.

  3. Thanks for good tutorial. Everything went well on test machine at home Ubuntu 11.10. Intel dual core Cpu and ASUSTeK COMPUTER P5KPL-CM LGA775 Socket Intel Motherboard. But wen I tried to make it at Dell Poweredge 840 Dual Core 2.13ghz work server after command :

    root@linux:/usr/src/#alien qbdbm-22.0-2.i386.rpm

    I have received error:
    qbdbm-22.0-2.i386.rpm is for architecture i386 ; the package cannot be built on this system

    Also I tried previous packages with no lack. Please advise what more can I do.

    Thanks in advance

    • Hi Arek

      Are you using the 32-bit version of Ubuntu on both machines? Ideally you would want to use a 64-bit OS on the server, but I’m not sure if Quickbooks has released a qbdbm package for the architecture. Just make sure you have the same OS installed with the same architecture.

      Ryan

  4. It won’t work unless you download the new version. qbdbfilemon tries to access qbdbmgrn_21 but qbdbmgrn_20 is installed. Use the following commands:

    wget http://http-download.intuit.com/http.intuit/CMO/qbes/resources/qbdbm-21.0-6.i386.rpm
    alien qbdbm-21.0-6.i386.rpm
    dpkg -i qbdbm_21.0-7_i386.deb
    update-rc.d qbdbmgrn_21 defaults

    It works on Ubuntu 11.04. Hope this saves someone else some frustration.

    • Thanks Keith. It has been some time since I tried this on Linux…had to resort to Windows unfortunately. Mainly because you can’t just run the server from Linux, it needs a Windows portion anyway, so I found it pointless in the end.

      I think this will help more people though. I wish QB would move to a real database solution.


Leave a comment

(required)

No trackbacks yet.