Vtiger CRM is a Customer Relationship Management (CRM) web application.
Update 27 March 2013: Attempting to install vtiger 5.4.0 using PHP 5.4.6, I get as far as the end of the configuration wizard which displays a blank screen. The installer creates a database but does not create any tables in it. According to this support thread, vtiger uses functions that were removed in PHP 5.3 (in 2009!). There is a set of user-contributed patches to vtiger but nothing official, not even an acknowledgement of the problem. This lack of any official acknowledgement of a serious problem has caused me to lose faith in the vtiger project, and I am actively seeking alternatives. What follows is provided for educational purposes but I cannot recommend its use.
The following instructions are based on my experiences installing vtiger locally on various distributions, most recently vtiger 5.4.0 on Ubuntu 12.10. They are distilled from the vtiger installation instructions. Refer to them for any details or problems not covered here. While my experience is limited to local installations, as far as I know the below should be equally applicable to remote installations.
Vtiger is available for download as either binary (an all-in-one package with customized versions of Apache, MySQL, and PHP included) or source (for use with your own versions of Apache, MySQL, and PHP). This article documents how to install vtiger source.
1. A hostname or FQDN, Apache, MySQL, and PHP. Vtiger’s documentation details specific LAMP requirements, but being lazy I let the installer’s pre-installation check call problems to my attention.
2. Decide where to unpack vtiger. When you unpack the tarball, vtiger will be extracted into the subdirectory vtigercrm. A reasonable place to install it would be the Apache document root, perhaps /var/www/http.
Throughout the rest of this document I shall refer to the location where vitger was unpacked to (perhaps /var/www/html/vtigercrm) as the vtiger root. Consider making either the Apache document root or the vtiger root a separate partition to facilitate future system upgrades.
3. Determine the user name that your system runs Apache as. Different distributions run Apache as different users. For example, Mageia and Mandriva run it as apache, and Ubuntu 12 runs it as www-data. You can determine this information on your box with ps axu | grep apache while Apache is running. Muddying the waters somewhat, different distributions also give the Apache service different names. I’ve seen “apache,” “apache2,” and “httpd”.
1. Download the latest source for Linux. As root, move it to where you want to unpack it. Make that your working directory, extract it, and change permissions and ownership. For example:
mv vtigercrm-x.x.x.tar.gz /var/www/html cd /var/www/html tar -xvzf vtigercrm-x.x.x.tar.gz chown -R apache: vtigercrm
2. Open the configuration wizard in a web browser. Its URL will take the form http://HOSTNAME/vtigercrm/install.php. Use your hostname or FQDN, not “localhost”. Insure that your system passes the pre-installation check. A few issues I’ve come across, and their solutions, are:
- PHP IMAP support in Ubuntu 12.10: install php5-imap
- PHP GD graphics library support in Ubuntu 12.10: install php5-gd
- PHP Database extension in Ubuntu 12.10: install php5-mdb2-driver-mysql
- PHP directive allow_call_time_pass_reference set to Off in Ubuntu 12.10: Setting it to On in /etc/php5/apache2/php.ini has no effect; issue ignored
Follow the on-screen instructions. Some of the nondefault values I used were:
System Configuration – Database Information:
- Host Name: The hostname or FQDN. You will be warned against using localhost
- User Name: An existing MySQL user with full permissions.
- Password: Of the MySQL user entered above.
- Database Name: vtigercrmXXX (default)
- Create Database: Yes. Upon selecting this, the following fields will appear:
- Root User Name: A MySQL user to be created in the database being created.
- Root Password: Of the MySQL user to be created.
For “Create database”, check it. The install fails if you leave this unchecked. If you want to keep existing data, back up your database before continuing, then restore the database after completing the vtiger installation. There does not appear to be a way to successfully install vtiger without dropping the existing database. Settings I use include:
System Configuration – User Configuration:
- Password: Change as desired
- Email: Enter as desired (cannot be a system user name, must be a full address with an “@”)
- Populate database with demo data: Checked
The end of the configuration wizard renames install.php and the install directory. Make note of these so they can be deleted later.
1. Log in to vtiger with user admin and the password entered above. This will be at something similar to http://localhost/vtigercrm/. For the end user’s benefit, consider making this the browser’s home page or bookmarking it.
In Settings – Other Settings – Outgoing Server, set your outgoing (SMTP) email settings. Go to My Home Page – Webmail. You will see the error message “Could not connect to the mail server. Please check the mail server details Here.” Do so, select “Incoming email settings”, and enter your settings. Press Save. Now returning to My Home Page – Webmail should work.
2. Set up notification schedulers. Select Settings – Communications Templates – Notification Schedulers and insure that all desired notifications are active.
3. Set up automatic periodic backups. Using your preferred MySQL tool, vtiger’s database should be backed up to a location covered by regular system backups. Likewise the vtiger root should be added to your regular system backup. See my notes on backing up MySQL.
4. Test the automatic backups of the vtiger database and the vtiger root. Let the systemwide backup strategy do its job. When logged out of vtiger, delete the vtiger root and the vtiger MySQL database. Then restore them from backup. Log in to vtiger and insure that files and data have been restored.
Remove the source tarball (and patch, if any). Confirm that the installer deleted the install.php file and the install folder.
TIPS AND TRICKS
If “uploading” files into vtiger fails, it may be an ownership or permissions problem. Make sure that vtiger files are owned by the apache user. To (re)set permissions to (for example) user apache, as root:
chown -R apache: /var/www/html/vtigercrm/
If vtiger is not what you’re looking for, there are alternatives