🧔 Hello World

My name is Emil. I am a programmer, passionate by coding, music, video and photography

How to install ORO CRM on Ubuntu 14.14

Update: Well, a small update is required. The Ubuntu version where I tested the installation is 14.10 LTS, not 14.14.

Using a normal environment where php, mysql is natively installed by apt-get, won't create big problem, is just required the part with "require besimple/soap-client ~0.2", the rest is classic.

The problem cames when you try to install a new version of OroCRM in Xampp/Lampp Version. It does not work for the new versions. The only version succsfully installed was 1.20, all new versions fail on Schema Update. Interesting fact is that from 130 to newer versions, installation steps are asking you what PDO_Driver you want to use. :)

Well, took me few hours to configure the OroCRM, monstly because my test system had lack on packages, modules, extensions, so I had to install and check a lot of things. Probably the most headaches comes from composer installation and php.ini settings regarding date.timezone settings found on cli php.ini version. For normal CRM users this can be rocket science, is simply to much to be configured of a CRM installation. To be honest, this is the second try. First time I tryed this on Lampp/Xampp system and I didn't have to much patience. I suppose that no one will spend such amount of time of installation process, at least not a regular user/person.

Even on ORO Forum was not so much info about that or solutions to solve the problem. After testing different composer commands, I figured out how to fix this besimple ext-soap issue.

Also the date.zimezone was tricky because php has his original ini file and another one in cli folder.

Here is how error looks:

Problem 1
?? besimple/soap-server dev-master requires ext-soap * ->
the requested PHP extension soap is missing from your system.
?? besimple/soap 0.2.x-dev requires ext-soap * ->
the requested PHP extension soap is missing from your system.
?? Installation request for oro/platform dev-master
-> satisfiable by oro/platform[dev-master].

Here is how you install ORO and fix the issue on install:

# go to your install OroCrm folder
cd /var/www/html/OroCrm

# clone packages to be installer
git clone https://github.com/orocrm/crm.git

# optional
# git clone https://github.com/orocrm/platform.git

# clone specific version from github
# git clone -b 1.4.1 https://github.com/orocrm/crm-application.git

# clone packages to be installer
git clone http://github.com/orocrm/crm-application.git

// ---------------------------------------

# You may find useful some info from composer during installation
# https://getcomposer.org/doc/03-cli.md#install
# https://getcomposer.org/doc/03-cli.md#require

// ---------------------------------------

# go on new cloned folders
cd crm

# get composer
curl -sS https://getcomposer.org/installer | php

# sudo apt-get update # if curl not installed, then install it
# sudo apt-get install php5-curl # php php-curl not installed, then install it
# php composer.phar install # because this brings errors on dependency i use "required"
# php composer.phar install --prefer-dist --no-dev # recomandaton from oro git

# update composer
php composer.phar update

# intall dependencies packages
php composer.phar require besimple/soap-client "~0.2" --prefer-dist

# Set on composer installation driver "mysqli".

// ---------------------------------------

# In case case of providing wrong Doctrine driver by intall, repeat install
# operation and don't forget to set on composer installation driver "mysqli".

// ---------------------------------------

# Install mcrypt
sudo apt-get install php5-mcrypt # get php5-mcrypt
sudo php5enmod mcrypt # enable module mcrypt
sudo service apache2 restart # restart apache

// ---------------------------------------

php --ini # check php extensions config files
env # check envoirement

// ---------------------------------------

# Add your timezone in php.ini (both) and memory limit to 512Mb :
# check data.timezone in php.ini(s)
find / -type f -iname 'php.ini' -exec grep -i 'timezone' {} +

sudo nano /etc/php5/apache2/php.ini # to modify data.timezone
sudo nano /etc/php5/cli/php.ini # to modify data.timezone

// ---------------------------------------

#Add ORO_PHP_PATH in env:
export ORO_PHP_PATH=$PATH:/usr/bin/php # set path
echo $ORO_PHP_PATH # check path
php app/console cache:clear # clear symfony cache

More info about installation process in case that you get get headaches at install, can be reached here: