Installation of CiviCRM
CiviCRM is a web-based, open source, internationalized suite of computer software for constituency relationship management, that falls under the broad rubric of customer relationship management. -Wiki
CiviCRM database
We create a separate database to CiviCRM
$ mysql -u root -p -h 127.0.0.1 --port=3308
mysql> CREATE DATABASE civicrm_db;
Then we create an user civicrm that will be use by CiviCRM to access its database
mysql> CREATE USER 'civicrm'@'127.0.0.1' IDENTIFIED BY 'civicrm_pswd';
Then we grant the user civicrm full access to the civicrm_db
mysql> GRANT ALL ON civicrm_db.* TO civicrm@127.0.0.1 IDENTIFIED BY "civicrm_pswd" WITH GRANT OPTION;
mysql> GRANT SELECT ON civicrm_db.* TO drupal@127.0.0.1 IDENTIFIED BY "drupal_pswd" WITH GRANT OPTION;
CiviCRM installation
To install CiviCRM, we follow intructions on https://docs.civicrm.org/sysadmin/en/latest/install/drupal7/ First we download CiviCRM from https://civicrm.org/download
$ wget https://download.civicrm.org/civicrm-5.7.2-drupal.tar.gz
$ tar -xvzf civicrm-5.7.0-drupal.tar.gz
$ sudo mv civicrm /var/www/drupal/sites/all/modules
Then we run the Installer with the URL https://task.woezzon.com/sites/all/modules/civicrm/install/index.php . The Installer shows that one requirement was not fulfill. The folder /var/www/drupal/sites/default was not writable to www-data so we change the permission by giving ownership of default folder to www-data
$ cd /var/www/drupal/sites
$ sudo chown -R www-data default/
After this, all requirement are green.
We set CiviCRM and Drupal databases settings for the Installer
CiviCRM Database Settings
MySQL server
127.0.0.1:3308
MySQL username
civicrm
MySQL password
civicrm_pswd
MySQL database
civicrm_db
Drupal Database Settings
MySQL server
127.0.0.1:3307
MySQL username
drupal
MySQL password
drupal_pswd
MySQL database
drupal_db
As we are ready to install, we click on "Check requirements and install CiviCRM"
After this step, everything is sucessfully installed and our CiviCRM is available throught the drupal website https://task.woezzon.com or with the link https://task.woezzon.com/?q=civicrm/dashboard
Secure CiviCRM in Nginx
In order to secure CiviCRM we set this in the Nginx conf file
$ sudo nano /etc/nginx/sites-enabled/task.woezzon.com.conf
# Protect CiviCRM private files
location ~* ^/sites/(.*)/files/civicrm/(ConfigAndLog|templates_c|upload|custom) {
deny all;
}
CiviCRM extension directory
We modify CiviCRM settings file so that the CiviCRM extension directory is set using settings variables. We put CiviCRM extension directory to /var/www/drupal/sites/default/files/civicrm/ext outside of the $civicrm_home directory as suggested here https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/
$ sudo nano /var/www/drupal/sites/default/civicrm.settings.php
And we put in
$civicrm_setting['Directory Preferences']['extensionsDir'] = '/var/www/drupal/sites/default/files/civicrm/ext';
Last updated
Was this helpful?