© 2015 X2Engine Inc.

Difference between revisions of "Installation"

From X2Engine
Jump to: navigation, search
(System Requirements)
(System Requirements)
Line 16: Line 16:
 
* [http://www.php.net/manual/book.ctype.php CType]
 
* [http://www.php.net/manual/book.ctype.php CType]
 
* [http://www.php.net/manual/book.mbstring.php multibyte string]
 
* [http://www.php.net/manual/book.mbstring.php multibyte string]
If any requirements are missing, the installation page should display a list of which ones are missing (as of version 2.0).
+
If any requirements are missing, the installation page should display a list of which ones are missing (as of version 2.0). Alternately, of the above modules can be checked for by using the requirements checker of [http://www.yiiframework.com Yii Framework], as follows:
 +
 
 +
# [http://www.yiiframework.com/ Download Yii Framework] and upload the "requirements" folder to your web server.
 +
# Navigate to the requirements folder on your server using a web browser. '''You should see a page that looks similar to this:'''
 +
[[File:YiiRequirements.png|border|400px]]
 +
'''Note that the following requirements are not necessary:'''
 +
#* The SQLite and PostgreSQL extensions; X2Engine depends on MySQL, so these other extensions will not be used.
 +
#* The DOM extension; it is not required.
 +
#* The caching extensions (Memcache, APC cache); caching is not currently required, although APC can increase performance
 +
#* The SOAP extension; the classes that depend on it are not used
 +
[[Category:Support]]
  
 
= If Requirements Are Not Met =
 
= If Requirements Are Not Met =

Revision as of 18:36, 5 October 2012


System Requirements

Before installing X2EngineCRM, you should first ascertain whether your hosting environment is properly configured. The following are the minimum requirements for X2EngineCRM to function properly:

  • The Apache 2 web server, with mod_rewrite enabled.
  • A password-protected MySQL database server connection, and a database on which the user of the connection has all rights (i.e. select, drop, create and update).
  • PHP (version 5.3 or later)

Additionally, the following PHP extensions are required:

If any requirements are missing, the installation page should display a list of which ones are missing (as of version 2.0). Alternately, of the above modules can be checked for by using the requirements checker of Yii Framework, as follows:

  1. Download Yii Framework and upload the "requirements" folder to your web server.
  2. Navigate to the requirements folder on your server using a web browser. You should see a page that looks similar to this:

400px Note that the following requirements are not necessary:

    • The SQLite and PostgreSQL extensions; X2Engine depends on MySQL, so these other extensions will not be used.
    • The DOM extension; it is not required.
    • The caching extensions (Memcache, APC cache); caching is not currently required, although APC can increase performance
    • The SOAP extension; the classes that depend on it are not used

If Requirements Are Not Met

Getting The Right PHP Version

In some cases, it may be possible to enable PHP 5.3+ using an Apache override; see

By adding the appropriate directives to the .htaccess file in the web root of X2EngineCRM (NOT replacing the file, but changing it), the PHP version can ideally be set. You can test whether this method succeeds by uploading a file into the web root called phpinfo.php containing

<?php phpinfo(); ?>

Navigate to it in your web browser, and look for the version information. Delete the file when done; displaying PHP info publicly for indefinite time can pose a security risk.

In other cases, it may be possible to enable later versions of PHP via the web hosting control interface (i.e. CPanel or Webmin). Otherwise, the only option will be to contact the hosting provider and request that version 5.3 be made available.

Enabling PHP extensions

If your server does not meet the minimum system requirements for running X2Engine, and you are a system administrator of your server, you will be able to install the necessary modules. Note, however, that as of the most recent version, the MySQL PDO extension is the only extension used by X2Engine that isn't included by default and always enabled in PHP 5.3; the reflection class and extensions SPL, PCRE and Ctype should all be available if PHP is at version 5.3 or later.

In most distributions of Linux, PHP extensions can be easily installed by the distribution's default Package management system. That is the recommended method of installing them; typically, the package manager will automatically configure and reload the HTTP server to enable them.

Ubuntu & Debian

sudo apt-get install php5-mysql php5-curl

The extension mbstring will typically be included in the Apache module package.

CentOS, RHEL & Oracle Linux

sudo yum install php-pdo php-mbstring php-common curl

Without Requirements: What Won't Work

If your server environment does not meet the minimum system requirements, and it is not possible to add PHP extensions, you can still install X2Engine, though it is not recommended. Note the following issues that can occur:

  • cURL extension missing:
    • Time zone widget will not work, and may make contact views inaccessible [1]
    • Cannot use local scripts that make API calls
  • PHP version earlier than 5.3 (not recommended; has not been tested on versions earlier than 5.3)
    • Chat widget will not work
    • Installation form does not fully render (X2EngineCRM versions 1.6.5 - 1.6.6)
    • Numerous controllers, models and components that use the function lcfirst
  • mbstring extension missing
    • Application crashes upon login
  • pdo_mysql extension missing
    • Application cannot run (required by Yii)
  • All other PHP extensions:
    • Application cannot run (required by Yii)

Recommended System

The following attributes of the hosting environment are by no means required. However, they are the same as the primary servers on which X2EngineCRM is most commonly developed and tested, and thus would be the most likely to never cause problems:

  • PHP 5.3.2
  • MySQL 5.5
  • Apache 2.2
  • Ubuntu 12.04

Installing

Minimum Knowledge Requirements

Installing X2EngineCRM requires you are able to perform the following taks (and have basic knowledge of how to perform them):

  1. Upload files to a server via FTP/SFTP or otherwise, using a server-based file manager
  2. Creating a MySQL database and a database user, if they aren't available already
  3. Using a web browser, and knowing what URL to use to access a location on the server

If you are unsure of how to perform any of these, please ask for assistance on The X2Engine Forums.

Installing Using The Installation Page

Installation generally proceeds as follows:

  1. Make sure a MySQL database and a database user with full permissions to that database are available from the web server.
  2. Upload the contents of the x2engine folder to the document root of the web server, or a subdirectory if desired.
  3. Navigate to the webroot (or subdirectory) where the contents of the folder were uploaded.
  4. Fill out the installation form. Note the following:
    • If you leave "Create Sample Data" checked, the installer will insert fictitious contact, user, account and action records into the initial installation for testing purposes. Uncheck the box if this is not desired.
    • You can test the database connection without submitting the form by using the "Test Connection" button.

Using The Silent Installer

It is possible to install X2EngineCRM from the command line via SSH or otherwise. This is performed as follows:

  1. There is a script in the root of the web application named installConfig.php. Fill it with the same information that would be submitted by the installation page form, except for the variable $unique_id; leave it as is.
  2. Change directory into the root folder of the web application.
  3. Run:
    php initialize.php silent

Notes

  1. X2Community Forums: "Can't open contact View"