centosHowTo needed

CentOS Project

PhreeBooks on Sourceforge: latest release
GitHub latest: PhreeBooks-master  (development & testing only. Not for production)
NOTE: You may need to ‘Rename’ the GitHub download, adding a ‘.zip’ file-ending before you can unzip and install.

See the Forum for the latest information

February 2014 / PhreeBooksR36RC3
Author – Charlesdatabase

PhreeBooks curently uses the MySQL database only.

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 – so beware.

Quote from Dave Premo:
InnoDB supports ‘transactions’ which are CRITICAL for PhreeBooks to operate properly. MyISAM do not and cause table sync problems in spades. If in doubt, post-install, check your mysql tables and make sure the type is set to InnoDB – especially for the journal_main and journal_item tables.

In my experience, even if you have set the default table type to InnoDB, some tables will still be created with MyISAM. This doesn’t seem to be an issue as long as:

  • the default is InnoDB
  • journal_main and journal_item are InnoDB

Collation – utf8_general_ci

phpMyAdmin / InnoDB
phpMyAdmin / InnoDB

Database Security:

This is not the place for an in-depth discussion of database security. Suffice to say that the security of your PhreeBooks install and of your PhreeBooks database (and others) is very important. You need to make sure that software is kept up-to-date and that secure practices are employed (beyond the scope of this website).

I have read elsewhere that amongst other security ‘best-practices’ (and it is the responsibility of each user to confirm these before using them – no responsibility for their accuracy is taken by the author, Phreesoft or PhreeBooks) these should be considered:

  1. Employing non-obvious Directory and database User names (i.e. not easily guessed). Of course, these should be appropriately long. Longer is better.
  2. I have read that, in particular, it is wise to make the names of directories containing database management tools obscure and not easily guessed – i.e. NOT phpMyAdmin, HeidiSQL, Adminer, Workbench or database. I have also read that it is preferable (faster, more secure) to avoid database management tools altogether in WAN-facing installs – manage your database from the command line.
  3. Employing appropriate length and complexity in constructing passwords for database Users and anywhere else a password is required.

An excellent resource on Passwords is detailed at the bottom of the ‘Encryption HowTo’ page.

Please make any comments or suggestions for improvement in the Forum.

mysqlJanuary 2014 / PhreeBooksR36RC3
Author – Charles

I know that this isn’t strictly a HowTo, however, it is so interesting that I thought that I had to include it.

I saw this chart on the website of OpenCRX – “an open CRM solution … managing sales, e-mails, contacts and calendars“.

http://www.opencrx.org/faq.htm   …   search on ‘concurrent users’

OpenCRX1Reproduced with permission (Christoph Mueller)

Remember that OpenCRX is probably significantly more resource hungry than PhreeBooks.
This chart can only serve as a very rough guide for the number of Concurrent Users that PhreeBooks on a MySQL database could handle with ease. Please note that it is the database and not PhreeBooks that would be a limiting factor.

PhreeBooks (utilizing a MySQL database) can have > 20,000 customers with no noticeable degradation in performance – and probably a lot more too. The limitation will be the database.

Installing PhreeBooks Small Business Toolkit

Installing the PhreeBooks small business toolkit consists of a single form necessary to gather the core information to initialize the database and install core files and directories. Once the basic installation has been completed, more configuration will be necessary to set up your preferences, chart of accounts, defaults and features.

NOTE: It is not recommended to install the application manually as many background tasks are performed during the install and, if skipped, will most likely lead to a non-operational system.

Before you begin, you will need to have an existing database, database access information, and a
web server running MySQL and PHP 5.3 or greater.

NOTE: PhreeBooks will install all modules that are present in the /modules directory during initial installation. If you plan on using add-on modules, copy them into you web server /modules directory prior to running the installation script.

  1. Download and unzip the phreebooksRx.x.zip file from Sourceforge or Google Code.
  2. Upload/Copy the files to your web server directory where you want as your PhreeBooks homepage. This may be in a path below your website root directory.
  3. Navigate to the PhreeBooks homepage (http://path_to_your_server/path_to_phreebooks/index.php)
  4. You will be re-directed to the install directory where you should see the welcome screen. Read and accept the terms and press Continue.
  5. PhreeBooks will perform an initial check of the system and alert you if any issues are present.
    Issues in RED must be handled before the installation script can continue. Issues in YELLOW are cautions and are for informational purposes only. If all critical issues have been resolved, the information screen will be displayed. Enter the information and press Continue to initialize your installation and setup the databases.
  6. If successful, you will see the confirmation page. Read the latest information and press the ‘Go To My Company’ button to access PhreeBooks.
  7. PhreeBooks creates a list of prioritized ToDo’s that need to be addressed to take advantage of it’s functionality. Consider these part of the initialization as you will receive errors and your system will not operate properly if some of them are not completed.
  8. Remove or rename the /install directory. This is no longer needed and could allow unwanted access to re-initialize your system.

Troubleshooting Installation

The best source for help for installation problems is the forum.