This is an old revision of the document!


Install coreBOS

Requirements

  • Apache 2.x or above.
  • MySQL 5.x
  • PHP from 5.4.x to 7.0.x. PHP 7.x is recommended. PHP 5.3 will have some functionality missing but should work in general.

This is a typical WAMP/LAMP stack. All linux distributions have this natively so we recommend you install the packages from your distribution (make sure you have the right versions). On windows download the XAMPP stack from apache friends. You can see the list of application versions here.

MYSQL Requirements

Please make sure to review MySQL configuration (my.cnf or server start parameters)

ENGINE=InnoDBShould be available. (Turn off –skip-innodb)

PHP Extensions

Following extensions should be enabled for your PHP setup

GDMandatoryCharts and graphs generation are dependent on this library.
IMAPMandatoryWebmails Module is dependent on this library.
ZlibMandatoryUsed for backups and module packaging among others
DOM (php-xml)MandatoryNew dependency For coreBOS Updater
OpenSSLOptionalImap with OpenSSL should be enabled in case Mail server needs to be connected via SSL
CurlOptionalThis one is optional but really important for any external communications, like SMS, Google Sync or RSS

PHP Configuration

Make sure to verify if your PHP configuration meets the recommended values.

VariableValue
allow_call_time_pass_referenceon
error_reportingE_ERROR
safe_modeoff
display_errorson
file_uploadson
max_execution_time600
max_input_vars8000
post_max_size16M
memory_limit1024M
log_errorsoff
output_bufferingon
register_globalsoff
request_orderGP

If you have the PHP Suhosin extension installed, this extension adds restrictions to make PHP more secure, but some of these restrictions break coreBOS.

To solve this problem you must change two variables in the suhosin config file: (normally: /etc/php5/conf/suhosin.ini)

suhosin.post.max_vars = 8000
suhosin.request.max_vars = 8000

After this you must restart your apache server.

For security reasons it is VERY important that you set the value of request_order to GP.

coreBOS barely uses cookies and it does not look for them in the $_REQUEST superglobal.

Most modern linux servers already set this value to GP by default so you are probably already covered but check just in case.

You can read a little more about this here.

File Permissions

Provide read-write access to the following files and folder (recursively):

Read and Write permissions should be enabled for user/group who owns webserver process (like www-data or httpd or apache).

  • config.inc.php
  • tabdata.php
  • install.php
  • parent_tabdata.php
  • cache
  • cache/images/
  • cache/import/
  • storage/
  • install/
  • user_privileges/
  • Smarty/cache/
  • Smarty/templates_c/
  • modules/Emails/templates/
  • modules/
  • cron/modules/
  • test/vtlib/
  • backup/
  • Smarty/templates/modules/
  • test/wordtemplatedownload/
  • test/product/
  • test/user/
  • test/contact/
  • test/logo/
  • logs/
  • modules/Webmails/tmp/

Please make sure you meet all these requirements

Install

  • Download the source code from GitHub
  • copy the code into a folder in accessible from your webserver install
  • type in the URL of the folder into your browser
  • you should get the Configuration Wizard welcome page

  • click on the Install button and accept the license
  • Review all the pre installation checks. You should be able to proceed with some PHP recommendations in red, but ONLY those, any other red check MUST be fixed before proceeding.
  • Fill in all the information required and continue
    • you will need a mysql user with access to a database that may exist or not, if it doesn't exist you will also need a mysql user with enough permission to create a database

If the database exists it MUST be empty, the install procedure DOES NOT migrate, there is a migrate button on the first page of this process which launches the migration process of an existing database.

  • you can chose to load a set of example information and the password for the only user that will be created.

  • now wait for all the installation work to be done
Firefox Timeout Marker

Latest versions of Firefox have added a configuration option that limits the time a web page can take to execute. If this time is passed the browser will cancel the call. The install process easily passes this 5 minute limit on many machines producing a problem in the installation process and canceling it.

We will attend this issue in the next release because it causes us to redefine the install process.

In the mean time you can configure the browser increasing the timeout or use chrome for the installation process.

To increment the time out type in “about:config” in the browser address, look for “network.http.response.timeout” or “http.response.timeout” and set it to 600 at least and restart the browser.

Stop connection timeouts from happening - want the page to wait

  • if all goes well you should receive a verification page welcoming you to the application
  • press the Finish button to reach the login page
  • execute the database changes, this is done using the coreBOS Updater, which is a module that will take care of managing all the updates from now on. It will read the set of changes that need to be done and will permit you to apply them and undo some of them.
    • login to the application as the admin user and go to the “coreBOS Updater” module.
    • click on the Get Updates button
    • go back to the list view and click on the Apply All button
  • Now comes all the fun: first configure the application and then create users to start

coreBOS Documentación