Zurmo Step By Step Installation on Centos 6.x

**Note: This wiki article was written by a Zurmo community member so all steps were not tested internally by Zurmo.

Install software repositories
http://blog.famillecollet.com/pages/Config-en

Download repos:

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

Enable remi repo:

vi /etc/yum.repos.d/remi.repo
enabled=1 for [remi]

Update yum

yum update

Install Zurmo requirements
http://zurmo.org/wiki/installing-dependencies-on-linux

Install Apache, MySQL, PHP, Memcached & dependencies

yum install httpd \
mysql mysql-server php-mysql php-pdo \
php php-gd php-curl php-pecl-apc php-soap php-mcrypt php-pear php-imap php-mbstring php-ldap \
memcached php-pecl-memcache

Apache config
Ensure mod_deflate is loaded in Apache config

vi /etc/httpd/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so should exist and be uncommented

PHP config

vi /etc/php.ini

date.timezone = America/Toronto
memory_limit = 256M
file_uploads = On
upload_max_filesize = 20M
post_max_size = 20M
max_execution_time = 300

MySQL config
http://zurmo.org/wiki/configuring-mysql-server-for-zurmo

vi /etc/my.cnf

character-set-server=utf8
collation-server=utf8_unicode_ci
default-storage-engine=INNODB
max_sp_recursion_depth=100
max_allowed_packet = 20M
thread_stack = 512K
optimizer-search-depth = 0

Create MySQL user

mysql –uroot –p
CREATE USER ‘zurmo’@’localhost’ IDENTIFIED BY ‘yourpassword’;
GRANT ALL PRIVILEGES ON `zurmo_%`.* TO 'zurmo'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE zurmo_production; (note call this whatever you want as long as it begins with “zurmo_”. I’ll set up a zurmo_staging and zurmo_test as well.)

MySQL upgrade maintenance
It’s a good idea to run mysql_upgrade if mysql was upgraded above. If you run into: “General error: 1548 Cannot load from mysql.proc. The table is probably corrupted” during installation then run this for sure.

Start/Restart services

service httpd restart
service mysqld restart
service memcached restart

Zurmo Installation

Download latest stable
Download from http://zurmo.org/download
Untar Zurmo

Option 1
Zurmo can live as a subdirectory in /var/www/html/
ie. /var/www/html/zurmo/index.php with apache DocumentRoot point to default /var/www/html
http://localhost/zurmo/index.php (which will redirect to /app/index.php)

Option 2 (preferred)
Zurmo can live with only the app folder exposed to the web:
/var/www/zurmo/ with apache DocumentRoot pointing to /var/www/zurmo/app/

http://localhost/index.php

SELinux needs to be configured for this folder:

chcon -R -t httpd_sys_content_t /var/www/zurmo

SELinux

Memcache
To enable apache/memcache communication

setsebool -P httpd_can_network_memcache 1

Apache
To enable apache to send mail, etc. over network

setsebool -P httpd_can_network_connect=1

Troubleshooting
If other file access permissions issues it may be SELinux. See: http://beginlinux.com/server_training/web-server/976-apache-and-selinux
Install setroubleshoot

yum install setroubleshoot

Example of how this works:
http://www.thedumbterminal.co.uk/php/knowledgebase/article/131

grep zurmo /var/log/audit/audit.log | audit2allow –M /etc/sepolicy/zurmo
semodule -i /etc/sepolicy/zurmo.pp

Leave a Comment

  • Mark

    Wonderful write-up, Ivica. Thank you. This sovled issues that I had struggled with installing Zurmo on my own server.

    Only two steps I would add for the sake of simplifying for those of us who are not Linux gurus:

    - iptables needs to be updated to allow http traffic. By default, http is not allowed. I used system-config-firewall-tui to enable.

    - Although the install completed without it, I had to install php-xml (yum install php-xml) to allow record creation. I don’t know why it was required, but I found a post referring to the DOM error I received, and installing resolved the issue.

    Also, as you recommended, i opted for making /var/www/zurmo/app the root folder, so I had to add the following to /etc/httpd/conf/httpd.conf:

    DocumentRoot “/var/www/zurmo/app”

    Thanks for the help!

    –Mark

  • http://codesleepshred.com/ r109

    Has anyone gotten Zurmo running on Cpanel? I am curious, trying out my options on AWS but work closely with a lot of WHM/Cpanel instances. Searching around, found this. Doing some R&D on my end, hopefully I can find a solution.

    • Ray Stoeckicht

      Come join the Developer Session and we can answer this question. We have sessions every Tuesday at 10:00AM Chicago Time: http://zurmo.org/forums/index.php?/calendar/event/2-developer-learning-session

      • http://www.esrati.com David Esrati

        I’ve gotten it to run on Cpanel – via a softaculous install.
        Note- I installed it into a folder /crm instead of /zurmo
        I’ve figured out the path for cron jobs- via cpanel cron widget-
        cd /home2/USERNAME/public_html/crm/app/protected/commands/
        && php -q zurmoc JobManager super JobLogCleanup &>
        /dev/null

        • Naval saini

          I’ve tried on my cPanel server but getting this error plz suggest me how can i trouble shoot this.

          Fatal error: Class ‘SecurableModule’ not found in /home/username/public_html/crm/app/protected/modules/zurmo/ZurmoModule.php on line 38

    • http://www.esrati.com David Esrati

      I have it running from a softaculous install- but, can’t configure cron jobs via cpanel:

      Warning: require_once(//protected/config/debugDIST.php): failed to open stream: No such file or directory in /home2/USERNAME/public_html/crm/app/protected/commands/bootstrap.php on line 58
      Anyone else?

  • Matrix

    I see installation and upgrade instructions on the wiki. How do we update to another version that does not need upgrade steps? For instance, we have 2.6.4 and would like to update to 2.6.5 which does not require upgrade steps because it is a minor update.

  • Matrix

    The latest upgrade patch is ZurmoUpgrade_2.5.3-2.6.5. How do we update from 2.6.4 to 2.6.5 ?

    • Ray Stoeckicht

      Jump on the Dev Session and we can discuss upgrading best practices:
      We have Developer Sessions every Tuesday at 10:00AM Chicago Time (http://zurmo.org/forums/index.php?/calendar/event/2-developer-learning-session/).

      • Matrix

        Can you please just let me know how to upgrade from 2.6.4 to 2.6.5 ? I work during the day and cannot attend any sessions. Do I just re-upload the files and that’s it?? TIA

  • Matrix

    Where can we find release notes for each version?

    • Ray Stoeckicht

      You can see what was included in each release here: http://zurmo.org/roadmap
      Just scroll down to see previous releases.

  • Naval saini

    I’ve tried on my cPanel server but getting this error plz suggest me how can i trouble shoot this.

    Fatal error: Class ‘SecurableModule’ not found in /home/username/public_html/crm/app/protected/modules/zurmo/ZurmoModule.php on line 38

  • Alejandro

    I installed Zurmo for one of my domains using Softaculous

    and want to make sure it is running memcache as expected.

    Can you please check this URL http://www.bicicletaselectricas.pe/test/phpinfo.php

    and tell me if what you see is what is expected?

  • n4n0

    Might be a little late, but the MySQL instructions are wrong. It should be like this:

    mysql –uroot –p
    CREATE USER ‘zurmo’@’localhost’ IDENTIFIED BY ‘yourpassword’;
    CREATE DATABASE zurmo_production;
    GRANT ALL PRIVILEGES ON zurmo_production.* TO ‘zurmo’@'localhost’;
    FLUSH PRIVILEGES;

    Otherwise you’ll try to give ‘zurmo’ privileges for a non-existing database. Also, the syntax for GRANT was wrong and threw errors.

    Maybe the Zurmo team could update their wiki with this?