UPDATE: 2011/10/14: I’ve been stepping through this HOWTO with a colleague who is attempting to setup vtiger and ran into a few issues. As we’ve found issues, I’ve updated this post. FYI, he’s been following the instructions in this post with Ubuntu 11.04.
SugarCRM version 6 was released early this month, and it looks pretty nice. The problem is that the new user interface is reserved for the Professional and Enterprise Editions of SugarCRM. This seems to be part of a trend with many open source projects: give the community a taste of the product but the really good features are to be reserved for the versions that you pay for. I understand why an open source company would decide to go down this route and it’s not a bad business model really. But, when you charge $360/year/user, that’s when I begin to lose interest. So for a Sales company of 50 Sales reps to use the Professional Edition of SugarCRM, they would need to shell out $18,000 per year. That’s pre-hardware cost. I have nothing against SugarCRM (actually I like it as a product). However, the cost is just too high to justify when comparable alternatives exist.
After SugarCRM, the next open source CRM that everyone talks about is vTiger. vTiger actually advertises with the tag line of “Tired of kinda, sorta Open Source?”. After all of the positive recommendations, I decided that it’s time to give it a serious try. In the past, everytime I’ve tried getting vTiger to work using the precompiled .bin file, it didn’t work right for me. So I decided to take a crack at it from source, which turned out to be pretty easy. Below is a step-by-step howto for install vTiger on Ubuntu v10.04 from source. NOTE: This is simply a tutorial for getting vTiger CRM up and running. Make sure to read vTiger’s User Documentation on how to properly set the permissions to the files to appropriately lock it down prior to deployment
1.) Download the vTiger source
2.) Install all the required libraries, MySQL, and PHP via APT
sudo apt-get install binutils cpp flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev gcc libpng12-dev libjpeg62-dev libfreetype6-dev libssl-dev libxml2-dev libxml2 apache2 php5-mysql libapache2-mod-php5 mysql-server php5-gd php5-imap
3.) Configure Apache: /etc/apache2/sites-available/default (this is just a basic Apache, you can customize for your own purposes)
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
CustomLog /var/log/apache2/access.log combined
4.) Give the access to these files: sudo chmod -R a+rw
sudo chmod -R a+rw config.inc.php
sudo chmod -R a+rw tabdata.php
sudo chmod -R a+rw install.php
sudo chmod -R a+rw parent_tabdata.php
sudo chmod -R a+rw cache
sudo chmod -R a+rw cache/images/
sudo chmod -R a+rw cache/import/
sudo chmod -R a+rw storage/
sudo chmod -R a+rw install/
sudo chmod -R a+rw user_privileges/
sudo chmod -R a+rw Smarty/cache/
sudo chmod -R a+rw Smarty/templates_c/
sudo chmod -R a+rw modules/Emails/templates/
sudo chmod -R a+rw modules/
sudo chmod -R a+rw cron/modules/
sudo chmod -R a+rw test/vtlib/
sudo chmod -R a+rw backup/
sudo chmod -R a+rw Smarty/templates/modules/
sudo chmod -R a+rw test/wordtemplatedownload/
sudo chmod -R a+rw test/product/
sudo chmod -R a+rw test/user/
sudo chmod -R a+rw test/contact/
sudo chmod -R a+rw test/logo/
sudo chmod -R a+rw logs/
sudo chmod -R a+rw modules/Webmails/tmp/
5.) Open a browser and go to the vTiger URL: http://vtiger.mydomain.com
Start the Installation process by going to the new vtiger URL that you created.
6.) Update /etc/php5/apache2/php.ini (make appropriate modifications, restart apache, check again)
When you open the a browser and begin the install process, it will tell you the recommended settings for PHP (this forum post has many of the changes that need to be made). After modifying the php.ini file, restart apache and click “Check again”. Everything should show up as ready.
If preinstall items still show up as missing, restart apache. If the database will be on the same machine as vTiger, you can set the database host as localhost and maker sure to create a new db user:
# mysql -u root -p
mysql> CREATE DATABASE vtiger_db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> GRANT ALL ON vtiger_db.* TO ‘vtigeruser’@’localhost’ IDENTIFIED BY ‘SET_PASSWORD_HERE’;
Installing the Customer Portal Plugin to vTiger
So, after trying out vTiger for a bit, I wanted to test drive the customer portal plugin. This looked like a very simple install according to the vTiger Customer Portal User Guide, and it would have been had I disabled Deprecated warnings from PHP. It’s 3 simple steps:
From the Wiki:
UPDATE: 2011/10/13: Replace 4.2 to 5.2.0. You will probably have problems trying to get the Customer Portal 4.2.x working with vTigerCRM 5.2.x.
1. Download the
vtiger_Customer_Portal_4_2.zipvtigercrm-customerportal-5.2.0.zip from the http://prdownloads.sourceforge.net/vtigercrm/vtiger_Customer_Portal_4_2.zip?downloadhttp://sourceforge.net/projects/vtigercrm/files/vtiger%20CRM%205.2.0/Add-ons/
vtiger_Customer_Portal_4_2.zipvtigercrm-customerportal-5.2.0.zip file to an appropriate location in your Web site. After extracting the file structure will be <Web Site>/vtigerCRM/customerportal/<Portal related Files>. You can also modify the directory structure as per your Web site file conventions.
3. Modify the PortalConfig.php file present under vtigerCRM/customerportal/ as given below:
Server_Path: Specify the absolute path (URL) of the vtiger CRM server. For example, if your vtiger CRM server is running at http://vtigercrm.com/demo means you need to specify the Server_Path as given below:$Server_Path = "http://vtigercrm.com/demo";
Authenticate_Path: Specify the absolute path (URL) of the vtiger Customer Portal directory in your Web site. For example, if you have extracted the vtiger Customer Portal related files in to your Web site at http://vtiger.com/demo/portal means you need to specify the value for Authenticate_Path parameter as given below:$Authenticate_Path = "http://vtiger.com/demo/portal";
Now save the PortalConfig.php file.
Now, at this point, everything should be ready. I created a test customer portal account without any issue, but when attempting to login, I received this error: “Could not connect to server. Please contact the administrator.” After spending some time on the forums and trying out different things (here and here, and various others), I started looking directly at the code. Specifically, /customerportal/CustomerAuthenticate.php, which has a nice little block of code commented out with the following comment above the code block:
//Uncomment the following lines to get the error message in login screen itself.
Excellent. I uncomment the block and see this error: XML error parsing SOAP payload on line 2: Not well-formed (invalid token). After some more forum searching, I finally just opened the URL in a browser and found that the error was being thrown because Apache was returning Deprecated warning messages for some of the functions in the PHP libraries. Then it was just a matter of updating /etc/php5/apache2/php.ini:
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
Restart Apache and everything should be all set! NOTE: If you were following along exactly, make sure to re-comment out that block of code in /customerportal/CustomerAuthenticate.php that returned the error.
UPDATE: 2011/10/14: You will also need to set display_errors = Off, as the display of those errors may interfere with the communication between the customer portal code and the vtigercrm SOAP API. Keep log_errors = On to follow the errors in the Apache log.
I still haven’t decided if I am settling with vTiger or if I will be going with something else. However, I went through the trouble of getting it up and running on Ubuntu and didn’t see any good tutorials on how to do this (except one good forum post), so I thought I’d share the howto. I hope this helps!
– Slashdot: SugarCRM 6 Released, But Is It Open Source?
– vTiger 510 Installation on Linux
– vTiger Installation on Ubuntu v9.04
– vTiger CRM Installation Manual
– How to disable PHP 5.3 Deprecated errors