Before you install ZurmoCRM, please make sure you have meet the LAMP requirements. They will help ZurmoCRM to run faster and more responsive on your DSM.
Launch and Create MySQL Database
You need to install MariaDB by installing from Package Center. The default password for root is empty string which means just leave password blank. Next to use SSH login to DSM as root and execute following command to create a MariaDB database with COLLATE = utf8_unicode. It is okay to use a different database name to replace zurmo. You may learn more about the SQL syntax in MariaDB Documentation: SQL Commands.
mysql -u root --password=admin -e "CREATE DATABASE zurmo COLLATE = utf8_unicode_ci"
For those not familiar with Linux commands, install phpMyAdmin from Package Center and login with the same account as MariaDB in your browser. Choose Database tab to create a database.
PHP 5.5 OPcache and APC
Alternative PHP Cache is replaced by OPcache now. You will need APCu to provide user cache compatibility to APC which is included in DSM 5.0.
Open Control Panel→Web Services→PHP Settings tab and click on Enable PHP cache. Click on Apply to confirm.
Because the default opcache.memory_consumption in DSM 5.0 is 128MB, you shall not see a page display error message “include(): Unable to allocate memory for pool.” while saving any records. According to a Twitter by Dan O’Brien @ abend0c4 18 Oct 2012, it happens when apc.shm_size is less than 96MB.
If you want to modify manually, edit opcache.memory_consumption in /etc/php/conf.d/opcache.ini.

No memcached
There is no memcached in DSM 5.0 but is available in 4.3. You might see pefromance degradation due to missing database memory cache.
Security
It would be a good idea to create another MariaDB account for ZurmoCRM to access its own database. Using the same root account is convenient but risky. Synology Security Issue and How-to Harden your NAS explains how to enable security settings in DSM to increase protection.
FAQ
Where can I download the latest package?
You may download from my dropbox link.
It would be nice of you if you use my referral link to register a Dropbox account. Both of us will get extra 500MB of bonus space.
Why I only see a blank page?
Your browser fails to load the page. Please clear your browser cookie or restart Apache with following command.
/usr/syno/etc/rc.d/S97apache-sys.sh restart
In some case, it is due to privilege issue. You need to use chown to change the owner of zurmo folder to the same user runs Apache.
Why it fail to save and display “include(): Unable to allocate memory for pool.”?
It is APC issue. Please increase opcache.memory_consumption to greater than 96MB. Refer to PHP 5.5 OPcache and APC section of this post for detail explain.
Why I see “Error code: 111 Message(Memcached): Connection refused” when I push [Install] button during configuration?
Because memcached is not loaded. Refer to No memcached section of this post for detail explain.
More Information
I list some useful resource here to help you fine tune your LAMP on DSM.
- phpinfo() Reports on NAS
- Synology DSM Configuration and Executable Files
- Optimize Synology DSM for ZurmoCRM
If you need a reference about performance, following post might be useful.
- Asustor AS-602T as a ZurmoCRM Application Server Performance Report. An Intel Atom D2700 NAS with DSM 5.0 should be similar to Asustor AS-602T with PHP 5.5.3 R2.
The last is about the session and multi-core processor in LAMP. It helps you to know why only one core is serving you when login to ZurmoCRM.
For those interested in the new OPcache with APCu to replace Alternative PHP Cache, following information might interest you.
- Situation as of PHP v5.5 in Getting the Most out of APC for Yii.
- Caching – Apc Extension on Yii Framework Forum.
- How to use PHP OPCache? on StackOverflow.
Reference
- Apache
- AskUbuntu: How to run mysql command from terminal?
- Asustor ADM Configuration and Executable Files
- Asustor AS-602T as a ZurmoCRM Application Server Performance Report
- Asustor: AS-602T
- I-ON-RAILS: Creating a MySQL Database from Terminal or Command Line
- Intel Atom Processor D2700
- How Multi-Core Processors Accelerate your LAMP Applications
- memcached
- MariaDB
- MariaDB: MariaDB Documentation: SQL Commands
- MySQL: MySQL 5.5 Reference Manual :: 13 SQL Statement Syntax :: 13.1 Data Definition Statements :: 13.1.10 CREATE DATABASE Syntax
- Optimize Asustor ADM for ZurmoCRM
- Optimize Synology DSM for ZurmoCRM
- PECL: Package: APCu
- PHP: Alternative PHP Cache
- PHP: OPcache
- PHP: PHP Manual: Function Reference: Affecting PHP’s Behavior: APC: Installing/Configuring: Runtime Configuration: apc.shm_size
- PHP: PHP Manual: Function Reference: Affecting PHP’s Behaviour: OPcache: Installing/Configuring: opcache.memory_consumption
- phpinfo() Reports on NAS
- phpMyAdmin
- StackOverflow: How to use PHP OPCache?
- Synology DSM
- Synology DSM Configuration and Executable Files
- Synology Security Issue and How-to Harden your NAS
- Twitter by Dan O’Brien @ abend0c4 18 Oct 2012
- Wiki: LAMP (software bundle)
- Wiki: Multi-core processor
- Wiki: Session (computer science)
- Yii Framework: Yii 1.1: Getting the Most out of APC for Yii
- Yii Framework: Forums: Caching – Apc Extension
- ZurmoCRM