Nb: These instructions worked in an intel-based MacBook Pro running OSX 10.5.8. I am going to try yo repeat on 10.6 Snow Leopard. The entire process takes a bit of time so be patient and grab a cup of Java (or two or three from time to time). Please don’t try this unless you are very comfortable using the Terminal.app

1) I strongly suggest backing up your entire hard-drive using something like Carbon Copy Cloner before you start.

2) I also strongly suggest you use a text editor like TextMate that will allow you to easily edit configuration and hidden files.

3) Open the Terminal application and type python. Note the version. This is the python version that is already installed on Mac OS X.

4) Make sure you have Xcode Tools installed on your Mac. You can install from the Leopard installation DVD or download from Apple (if you don’t already have one, you will need to create a free developer account or use your existing Apple ID):

If you choose to download, prepare to wait a while because it is a huge file.

5) Download the PostgreSQL installer dmg from enterprisedb.com

6) !IMPORTANT! BEFORE YOU INSTALL PostgreSQL – CREATE OR EDIT THE FILE /etc/sysctl.conf as specified in the README.

Filename: sysctl.conf

Save to Location: /etc

Containing:

kern.sysv.shmmax=1610612736
kern.sysv.shmall=393216
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.maxprocperuid=512
kern.maxproc=2048

7) REBOOT

8) In the Terminal, type:

sysctl -a

and make sure you can find the lines and values above. If they are there – you are good to go with the PostgreSQL installation.

9) Install PostgreSQL. During the installation, you will be asked which port to use for communication with the server – the default it 5432. HOWEVER, IT IS STRONGLY SUGGESTED THAT ON OS X, YOU DO NOT USE TCP PORT 5432 AS THIS PORT IS USED BY APPLE REMOTE DESKTOP. I USED 5433. Remember the password you chose for the the postgres superuser account. During the installation, a folder (directory) called PostgreSQL 8.x is created in your applications directory. In it are a number of utilities. Double click on the pgAdmin3 icon and then follow the directions to connect locally.

10) Download and install darwinports

11) Download and compile a lot of Python libraries and dependencies. !–WAIT FOR EACH AND EVERY ONE OF THESE TO COMPLETE–!.

These instructions are modified from those found at:
fireclaw.net (there are some significant changes though)

The Terminal commands to be run in sequence:

sudo /opt/local/bin/port install py25-psycopg2 +postgresql84 (please note the +postgresql84 NOT postgresql83)
sudo /opt/local/bin/port install py25-reportlab
sudo /opt/local/bin/port install py25-chart

sudo /opt/local/bin/port install py25-setuptools (this one gets you the easy_install-2.5 command)
sudo /opt/local/bin/easy_install-2.5 pydot
sudo /opt/local/bin/easy_install-2.5 egenix-mx-base
sudo /opt/local/bin/port install py25-xml
sudo /opt/local/bin/port install py25-lxml
sudo /opt/local/bin/port install py25-libxslt
sudo /opt/local/bin/easy_install-2.5 pytz
sudo /opt/local/bin/port install py25-pil
sudo /opt/local/bin/easy_install-2.5 vobject

After all of these complete, you will be advised in the terminal to run a couple of commands to change from the default Apple python interpreter to the one that was installed with the libraries you just compiled. I ran those commands. Alternatively, you can run these commands in the terminal:

cd /usr/bin
sudo rm python
(it is a symlink so this is fine)
sudo ln -s /opt/local/bin/python2.5 python

11) Download the Linux versions of Open ERP Server and Open ERP Client Internet

double click the .tar (or tar.gz) files to expand

Download the Mac OS X Open ERP Desktop Client

12) Open ERP Server installation:

In the Terminal:

cd /the/directory/where/you/placed/the/openerpserverdownload/openerp-server-5.0.6
sudo python setup.py install

This will install the relevant files in the following location:

/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/openerp-server

13) Create an Open ERP Server configuration file:

Filename: openerp-server.conf

Save to Location: /opt/local/etc

Containing:

[options]
without_demo = False
upgrade = False
verbose = False
xmlrpc = True
# db_user = {enter the name of the db_user you want to use to connect to the PostgreSQL database below}
db_user =
# db_password = {enter the password of the db_user specified above after the = below}
db_password =
root_path = None
soap = False
translate_modules = ['all']
# db_name = {the default OpenERP database to use; set to False if you have not yet created first database from client menu}
db_name = False
netrpc = True
demo = {}
interface =
db_host = localhost
# db_port = {specify the TCP port below.  If you setup PostgreSQL to use 5433, leave it as 5433}
db_port = 5433
port = 8069
addons_path = None
reportgz = False

14) Create a launchd file for server start-up at boot

Filename: org.openerp.openerpserver.plist

Save to Location: /Library/LaunchDaemons

Containing:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <false/>
        <key>EnvironmentVariables</key>
        <dict>
                <key>PY_USE_XMLPLUS</key>
                <string></string>
                <key>PATH</key>
                <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin</string>
        </dict>
        <key>GroupName</key>
        <string>wheel</string>
        <key>UserName</key>
        <string>root</string>
        <key>Label</key>
        <string>org.openerp.openerpserver</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/local/Library/Frameworks/Python.framework/Versions/2.5/bin/openerp-server</string>
                <string>-c /opt/local/etc/openerp-server.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>ServiceDescription</key>
        <string>Open ERP server</string>
        <key>StandardOutPath</key>
        <string>/tmp/openerp-server.out</string>
        <key>StandardErrorPath</key>
        <string>/tmp/openerp-server.err</string>
</dict>
</plist>

15) Install TurboGears as it is required for the web client:

In the Terminal:

sudo /opt/local/bin/easy_install-2.5 TurboGears==1.0.8

Check to see that it installed correctly run

sudo /opt/local/Library/Frameworks/Python.framework/Versions/2.5/bin/tg-admin info

16) Now install the Open ERP Client Web:
In the Terminal:
cd /the/directory/where/you/placed/the/openErpClientWebDownload/openerp-client-web-5.0.6/lib
sudo ./populate.sh
cd ..

sudo /opt/local/bin/easy_install-2.5 -U openerp-web

17) Create a launchd file for the Open ERP Web Client start-up at boot

Filename: org.openerp.openerpweb.plist

Save to Location: /Library/LaunchDaemons

Containing:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <false/>
        <key>EnvironmentVariables</key>
        <dict>
                <key>PY_USE_XMLPLUS</key>
                <string></string>
                <key>PYTHON_EGG_CACHE</key>
                <string>/tmp/</string>
        </dict>
        <key>GroupName</key>
        <string>wheel</string>
        <key>UserName</key>
        <string>root</string>
        <key>Label</key>
        <string>org.openerp.openerpweb</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/local/Library/Frameworks/Python.framework/Versions/2.5/bin/openerp-web</string>
                <string></string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>ServiceDescription</key>
        <string>Open ERP web server</string>
        <key>StandardOutPath</key>
        <string>/tmp/openerp-web.out</string>
        <key>StandardErrorPath</key>
        <string>/tmp/openerp-web.err</string>
</dict>
</plist>

18) Finally, in order for the web connectivity to work, you need to edit this file:

/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/site-packages/openerp_web-5.0.6-py2.5.egg/config/openerp-web.cfg

Edit

# Some server parameters that you may want to tweak
server.socket_host = "0.0.0.0"
server.socket_port = 8080

To

# Some server parameters that you may want to tweak
server.socket_host = "127.0.0.1"
server.socket_port = 8080

if running locally

19) Reboot

20) Install the Open ERP Client 5.0.6.dmg downloaded in step 11.

21) Open the Open ERP desktop client installed above. and follow the instructions. I used admin/admin and loaded the demo.

22) You should be able to connect via your web browser as well at http://localhost:8080 or http://127.0.0.1:8080

23) Nb. didn’t need to patch the db connection script as per fireclaw.net

24) Enjoy!