Il existe deux façon de mettre en place Civicrm (la troisième n'est plus maintenue), soit on intègre Civicrm avec Drupal, soit avec Joomla.
Vu que je ne connais pas Joomla allons-y avec Drupal.
On démarre sur une Debian Lenny fraichement installée.
Installation Apache2 + PHP + MySQL + Drush
Installation LAMP
On installe classiquement toute notre architecture LAMP avec une seule commande :
# apt-get install apache2 libapache2-mod-php5 php5-mysql php5-gd php5-mcrypt php-pear
php5-cli php-soap php5-curl mysql-server mysql-client cronolog
# a2enmod rewrite
Création du répertoire dédié au site :
# mkdir -p /var/www/drupalcrm.domaine.tld/{etc,var/{log/apache,tmp/upload},scripts,tmp}
Installation de drush
# cd /opt
# wget http://ftp.drupal.org/files/projects/drush-6.x-3.1.tar.gz
# tar xvzf drush-6.x-3.1.tar.gz
# rm drush-6.x-3.1.tar.gz
# ln -s /opt/drush/drush /usr/bin
Installation de drupal
Voici en quelques commandes comment installer Drupal :
# cd /var/www/drupalcrm.domaine.tld/ # drush dl drupal # mv drupal* www # cp www/sites/default/default.settings.php www/sites/default/settings.php # mkdir www/sites/default/files # mkdir www/sites/all/{modules,themes} # wget http://ftp.drupal.org/files/projects/fr-6.x-1.0.tar.gz -O www/fr-6.x-1.0.tar.gz # tar xvzf www/fr-6.x-1.0.tar.gz -C www/ # rm www/fr-6.x-1.0.tar.gz
Créer la base de données
mysql> create database drupalcrm character set utf8 ;
mysql> grant all privileges on drupalcrm.* to 'drupal_youzer'@'localhost' identified by
'password' with grant option ;
Modifier la ligne de paramétrage de la base de données dans www/sites/default/settings.php :
$db_url = 'mysql://drupal_youzer:password@localhost/drupalcrm';
Configuration Apache et droits
Sur mon svn, je met à disposition des fichiers de conf de vhost apache et un script de gestion des droits :
# cd /var/www/drupacrm.domaine.tld/ # rm -rf etc/ scripts/ # echo 't' | svn --username anonymous --password anonymous export https://subversion.cheramy.name/admin/drupalcrm/etc # echo 't' | svn --username anonymous --password anonymous export https://subversion.cheramy.name/admin/drupalcrm/scripts # sed -i 's/aremplacer/drupalcrm.domaine.tld/g' etc/* scripts/*
Au besoins adaptez les fichiers.
Le fichier etc/apache_80.conf est la configuration du vhost http
Le fichier etc/apache_443.conf est la configuration du vhost https. Attention à bien créer vos certificats (voir article sur les PKI)
Tout deux incluent le fichier etc/core.conf qui contient la configuration générique des vhosts.
Le script scripts/user_rights.sh permet de mettre à jour les droits sur les fichiers.
On exécute ce fichier et on crée les liens nécessaires pour activer les vhosts (je suppose ici que vous activez le vhost ssl) :
# ./scripts/user_rights.sh # cd /etc/apache2/sites-available # ln -s /var/www/drupalcrm.domaine.tld/etc/apache_80.conf xxx-drupalcrm.domaine.tld_80 # ln -s /var/www/drupalcrm.domaine.tld/etc/apache_443.conf yyy-drupalcrm.domaine.tld_443 # a2enmod ssl # a2ensite xxx-drupalcrm.domaine.tld_80 # a2ensite yyy-drupalcrm.domaine.tld_443 # /etc/init.d/apache2 reload
On peut maintenant finaliser l'install de Drupal via l'interface Web : http://drupalcrm.domaine.tld/install.php
Ajout de modules
# cd /var/www/drupalcrm.domaine.tld/www # drush dl admin # drush dl backup_migrate # drush dl securepages # drush dl securepages_prevent_hijack # drush dl token # drush dl pathauto
Activer les modules (attention de bien avoir un vhost https pour les modules securepages) :
# drush en admin -y
# drush en backup_migrate -y
# drush en pathauto -y
# drush en securepages -y
# drush en securepages_prevent_hijack -y
# drush cc all
Attention si vous n'avez pas de résolution dns à mettre la ligne suivante dans votre fichier /etc/hosts :
127.0.0.1 drupalcrm.guidtz-intra.org
Installation de Civicrm
Installation des fichiers
# cd /var/www/drupalcrm.domaine.tld/www/sites/all/modules
# wget http://sourceforge.net/projects/civicrm/files/civicrm-stable/3.1.5/civicrm
-3.1.5-drupal.tar.gz/download
# wget http://sourceforge.net/projects/civicrm/files/civicrm-stable/3.1.5/civicrm
-3.1.5-l10n.tar.gz/download
# tar xvzf civicrm-3.1.5-drupal.tar.gz
# tar xvzf civicrm-3.1.5-l10n.tar.gz
# rm civicrm-3.1.5-drupal.tar.gz civicrm-3.1.5-l10n.tar.gz
Créer une base de données pour civicrm
mysql> create database civicrm character set utf8 ;
mysql> grant all privileges on civicrm.* to 'civi_youzer'@'localhost' identified by
'password' with grant option ;
Faire un chmod +w sur le répertoire www/sites/default pour que l'installation puisse écrire le fichier de conf de civicrm ; ne pas oublier d'enlever ce droit après.
Finir l'installation via l'url
http://drupalcrm.domaine.tld/sites/all/modules/civicrm/install
Remplir tout les paramètres nécessaires et checker si tout est bon.
Une fois l'install faite on peut définir la page de garde par défaut de Drupal comme étant celle de Civicrm.
Rectification des droits :
# cd /var/www/drupalcrm.domaine.tld
# ./scripts/user_rights