= Installation de CPC sur une machine GNU/Linux =
== Environnement de travail ==
* Subversion
{{{
sudo apt-get install subversion
}}}
* Environnement LAMP
{{{
sudo tasksel install lamp-server
sudo apt-get install phpmyadmin php5-cli imagemagick php5-imagick
}}}
phpMyAdmin est optionnel mais recommandé
* Environnement pour le parsing
{{{
sudo aptitude install libwww-mechanize-perl libfile-path-perl
}}}
* Modules Apache et PHP
Il est impératif d'activer le mod rewrite d'apache
{{{
sudo a2enmod rewrite
}}}
Imagemagick et php5-imagick sont indispensables pour la carte des circonscriptions.
== Installation ==
* Récupérer la version actuelle :
{{{
svn co https://cpc.regardscitoyens.org/svn/cpc/trunk/project/ cpc
cd cpc
}}}
Pour le Sénat (par la suite remplacer cpc par sénat):
{{{
svn co https://cpc.regardscitoyens.org/svn/cpc/branches/senat senat
cd senat
}}}
Installe cpc dans votre home
* Créer une base mysql pour le projet :
{{{
nom de la base : cpc
login : cpc
pass : MOT_DE_PASSE_A_CHOISIR
host : localhost
}}}
Le plus simple étant de créer un utilisateur "cpc" avec ces paramètres dans phpMyAdmin (!Privilèges/Ajouter un utilisateur) en selectionnant "Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base"
* Adapter la configuration du projet :
{{{
bash bin/init
}}}
Cela crée les fichiers config/ProjectConfiguration.class.php, config/databases.yml, bin/db.inc et config/app.yml.
* Adapter en fonction de votre installation :
{{{
nano config/ProjectConfiguration.class.php
}}}
Changer "/home/cpc" pour le chemin vers votre configuration (1 modification)
Si vous suivez ce tuto à la lettre "/home/cpc" deviens donc "/home/NOM_UTILISATEUR/cpc"
{{{
nano config/databases.yml
nano bin/db.inc
}}}
Remplacer "MOT_DE_PASSE" par celui que vous avez choisi pour la base que l'on vient de créer (1 modification)
* Adapter la configuration en fonction de la législature traitée :
{{{
nano config/app.yml
}}}
* Créer le fichier routing de la législature définie dans bin/db.inc
{{{
bash bin/generate_routing.sh
}}}
* copier et adapter la configuration apache :
{{{
sudo cp config/vhost.sample /etc/apache2/sites-enabled/001-cpc
sudo nano /etc/apache2/sites-enabled/001-cpc
}}}
Changer "/home/cpc" pour le chemin vers votre configuration comme précédemment (4 modifications)
* Editer le fichier hosts
{{{
sudo nano /etc/hosts
}}}
* Ajouter cette ligne :
{{{
127.0.0.1 my.cpc.regardscitoyens.org
}}}
* Redémarrer apache
{{{
sudo /etc/init.d/apache2 restart
}}}
* Préparez l'environnement de travail php symfony :
{{{
php symfony doctrine:build --all --no-confirmation
}}}
* Télécharger le dernier dump de la base de données :
http://www.regardscitoyens.org/telechargement/donnees/
Pour le Sénat :
{{{
wget http://dev.nossenateurs.fr/dump-senat.sql.gz -O data/data.sql.gz --user=VOTRELOGIN --password=VOTREPASS
}}}
* Importer le dump dans mysql :
{{{
tar xzvf DATE_A_ADAPTER_nosdeputes.fr_donnees.tgz
mysql -u cpc -p --default-character-set=utf8 cpc < nosdeputes.fr_donnees/data.sql
(Un prompt vous demandera le mot de passe défini plus tôt)
}}}
* Nettoyer le cache après l'import de la base de données :
{{{
php symfony cc
}}}
* Pour permettre la création de graphiques, créer le répertoire suivant et donnez lui les permissions correctes :
{{{
mkdir -p web/images/tmp/xspchart
sudo chown -R www-data:www-data web/images/tmp/xspchart
}}}
* Tester
http://my.cpc.regardscitoyens.org/frontend_dev.php/
* Si à l'affichage de frontend_dev.php dans le navigateur, PHP dit qu'il n'a pas pu allouer assez de mémoire, augmenter la taille maximale de mémoire autorisée :
{{{
sudo nano /etc/php5/cli/php.ini
}}}
cherchez la ligne
{{{
memory_limit = 16M ; Maximum amount of memory a script may consume (16MB)
}}}
et mettez une valeur haute, par exemple
{{{
memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)
}}}
== Installation de Solr ==
installer tomcat6
{{{
sudo aptitude install tomcat6
}}}
Remplacer la valeur du dossier data dans le fichier de configuration de solr :
{{{
vim lib/vendor/SolrServer/solr/conf/solrconfig.xml
/MON/REPERTOIRE/project/lib/vendor/SolrServer/solr/data
}}}
S'assurer que ce répertoire data soit accessible en écriture par l'utilisateur tomcat6 (ou tomcatXX suivant votre version de Tomcat) :
{{{
sudo chmod g+w /MON/REPERTOIRE/project/lib/vendor/SolrServer/solr/data
sudo chown tomcat6 /MON/REPERTOIRE/project/lib/vendor/SolrServer/solr/data
}}}
Brancher solr avec Tomcat en créant le fichier solr_nossenateur.xml dans /etc/tomcat6/Catalina/localhost/ contenant :
{{{
}}}
Configurer symfony pour utiliser solr dans config/app.yml :
{{{
solr:
port: 8080
url: /solr_nossenateurs
}}}
L'url est solr_nossenateurs car le fichier de configuration tomcat6 s'appelle ainsi.
Redémarrer tomcat et regénérer le cache de symfony :
{{{
sudo /etc/init.d/tomcat6 restart
php symfony cc
}}}
== Aller plus loin ==
* OptimisationProduction détaille les éléments à optimiser pour un passage en production