PhreeBooks

From SME Server
Revision as of 11:52, 18 October 2013 by Jader (talk | contribs) (formating...)
Jump to navigationJump to search

PhreeBooks Accounting

Author: Charles2008
Source: http://forums.contribs.org/index.php/topic,50284.0/topicseen.html


Warning.png Warning:
Before you use PhreeBooks Accounting in a business environment you must satisfy yourself that it is suitable and meets you organisation's needs and the needs of your business jurisdiction you must also ensure that your unique set-up and file permissions meet your requirements and are appropriate for your hosing environment.


You use anything included here at your own risk.


Description

PhreeBooks Accounting (previously called PhreedomERP) 15th Oct.2013 PhreeBooks is a web based (multi-user), OpenSource, double-entry ERP/accounting software.
Demo: http://www.phreebooks.com/pb-demo ... (demo, demouser)

Dave Premo is the project leader and has kept a very firm control of development.
In his own words - http://www.phreebooks.com/pb-forum/viewtopic.php?p=3178#p3178

' PhreeBooks aims to be a viable OpenSource alternative to Quickbooks and Peachtree/Sage.

Set-up on SME8

Important.png Note:
PhreeBooks doesn't like 'hardened-PHP' (Suhosin)



1. Create a Bookkeeping ibay (from which to run PhreeBooks) using Server Manager
Information bay name - bookkeeping Description – Phreebooks Accounting Group – Admin ... (set user Group) User access via file sharing or user ftp – Write = group, Read = group Public access via web or anonymous ftp – Local network, no password required Execution of dynamic content (CGI, PHP, SSI) – Enabled


2. Create a PhreeBooks database (either via command line or I use phpMyAdmin) Please note that it is strongly advised to set MySQL to default to the InnoDB format and not MyISAM, as apparently InnoDB is 'more robust'. PhpMyAdmin seems to be set out-of-the-box to default to MyISAM.

phpMyAdmin - http://stackoverflow.com/questions/3939099/phpmyadmin-showing-myisam-instead-of-innodb phpMyAdmin - http://virtualizesharepoint.com/2011/05/11/convert-myisam-to-innodb-using-phpmyadmin-for-moodle/ MySQL - http://wiki.contribs.org/MySQL

This InnoDB / MyISAM issue won't affect getting PhreeBooks going now, however, may cause some data integrity uncertainty down the road. Best to get it right now.

In phpMyAdmin: Create database - phreebooks Collation – utf8_general_ci Create user: select 'phreebooks' database from list on LHS > Privileges > Add User set unique User Name and Password (make sure that you have made a note of these) host - localhost Database for user - Grant all privileges on database “phreebooks” Add User


3. Sort out OpenBaseDir restriction (to allow files to be uploaded by PhreeBooks) Remotely get to command line of LAN SME8 server using ssh (secure shell): Open a terminal with root permissions (sudo su - on my Linux PC) [/list] Code: [Select] ssh root@<server ip address> -L443:localhost:443 (Qn. Is this the best way/secure?)

Here are the excellent instructions: 'Modifying the PHPBaseDir setting for an ibay' http://wiki.contribs.org/PHP#Open_basedir_restriction

I can only add one tiny thing to these instructions; that if you get no response to No.1, then move straight on to the 3rd line of code in No.2. Like this:

Code: [Select] db accounts setprop bookkeeping PHPBaseDir /home/e-smith/files/ibays/bookkeeping/:/tmp/

then don't forget to: Code: [Select] signal-event ibay-modify bookkeeping

Stay logged on to …


4. Create an upload directory in the Software ibay: (to receive your .zip file) cd to the <software ibay>/files and Code: [Select] mkdir phreebooks

Stay logged on to …


5. Delete the index.html file: from the bookkeeping ibay Code: [Select] cd /home/e-smith/files/ibays/bookkeeping/html; dir

… there it is. Now delete it: Code: [Select] rm index.html Code: [Select] exit


6. Upload the PhreeBooks .zip file: I am sure that you could cd to the upload directory in 4. and wget the .zip file straight to the created upload directory. e.g. wget http://sourceforge.net/projects/phreebooks/files/latest/download?source=directory

However, I use a Linux desktop and the following instructions are for this: Download .zip file from either of the two sources above. Secure copy .zip file to server: cd to Download directory on PC Code: [Select] scp <file to upload> root@hostname:<destination path e.g. /home/e-smith/files/ibays/<software ibay>/files/phreebooks>

(Qn. Is this the best way/secure?) … replace <placeholders> with YOUR directory names.


7. Unzip the PhreeBooks .zip file: ssh into LAN server as in 3. above. cd to upload directory, e.g. Code: [Select] cd /home/e-smith/files/ibays/<software ibay>/files/phreebooks unzip the uploaded file: (copy the file name exactly from server– right click, copy/paste) Code: [Select] unzip PhreeBooksR36RC2.zip

  …   frenzy of unpacking

See what's there: Code: [Select] dir there should be 2 entries; PhreeBooksR36RC2 PhreeBooksR36RC2.zip … (one directory and the original .zip file).

Stay logged on to ...


8. Copy the PhreeBooks programme files over: (to the bookkeeping ibay) cd into the PhreeBooksR36RC2 directory, and copy the entire directory contents across using tar: Code: [Select] tar cf - . |(cd /home/e-smith/files/ibays/bookkeeping/html; tar xvf -)

Stay logged on to ...


9. Set file 'ownership' and 'permissions' for installation: File ownership: Code: [Select] chown -R www:www /home/e-smith/files/ibays/bookkeeping

File permissions: During PhreeBooks install /my_files and /includes need to have write permissions for the web server.

Pre-install: ssh into LAN server and at the command line: Code: [Select] chmod -R 0750 /home/e-smith/files/ibays/bookkeeping Code: [Select] exit


10. Install and configure PhreeBooks: Open a browser and type: https://<server ip address>/bookkeeping ... be patient, this can take 30 seconds or so (depending on processor speed etc ) follow the on-screen instructions.


11. Post-install adjust file permissions, delete install directory: After install, the web server needs access to all directories for reading only, except /my_files which needs write access also for writing company specific files. Once you have the normal PhreeBooks desktop view (with dropdown menus across the top of the screen) then rename or delete the Install directory and make Includes/configure.php read only.

Post-install: ssh into LAN server and at command line rename the install directory: Code: [Select] mv /<path to bookkeeping ibay>/html/install /<path to bookkeeping ibay>/html/install.old

or delete it: Code: [Select] rm -rf install


Adjust file permissions: Code: [Select] chmod -R 0551 /home/e-smith/files/ibays/bookkeeping Code: [Select] chmod -R 0750 /home/e-smith/files/ibays/bookkeeping/html/my_files Code: [Select] chmod 0400 /home/e-smith/files/ibays/bookkeeping/html/includes/configure.php

edit - I am investigating whether the 0551 file-permission above can be lowered to 0550 IF the user can pre-establish membership of a 'Group', i.e. by password protecting the ibay.

All other files (not directories): ... now, I haven't tried this yet. However, I think that this should work - if you think you need it. chmod 0441 /home/e-smith/files/ibays/bookkeeping/<path to file> edit - I need to investigate this (possibly 0440)


12. There is a To-Do list on the PhreeBooks landing page.

NOTE - I have read that on some hosting the Users and Groups are defined by the hosting company - IMHO this may well effect the file permissions required.