Nelmio Solarium Bundle permet de connecter Solarium à Symfony2. Ce bundle est une initiative de Nelmio. Solarium est une librairie PHP qui permet de communiquer avec PHP. Cette petite liste de commandes est davantage une prise de note qu’un tutorial, afin de gagner du temps en cas de futures réinstallations.
Création du répertoire de stockage
mkdir /var/www/www.inclusive.fr/
Téléchargement de Composer
curl -sS https://getcomposer.org/installer | php
Téléchargement et installation de Symfony2
php composer.phar create-project symfony/framework-standard-edition path/ 2.3.1
Ajout du bundle dans “require” du fichier composer.json
"nelmio/solarium-bundle": "2.*"
Mise à jour des dépendances par Composer
../composer.phar update
- Composer va par la même occasion installer Solarium
- Résultat attendu :
Updating dependencies (including require-dev) - Installing solarium/solarium (3.1.2) Loading from cache - Installing nelmio/solarium-bundle (v2.0.4) Loading from cache
Ajout du bundle dans AppKernel.php
new NelmioSolariumBundleNelmioSolariumBundle(),
Ajout des variables Nelmio dans app/config/config.yml (possible de mettre valeur directement dans le fichier, sans passer par des variables configurée dans parameters.yml).
nelmio_solarium: endpoints: default: host: %solr_host% port: %solr_port% path: %solr_path% core: %solr_core% timeout: %solr_timeout% clients: default: endpoints: [default]
Ajout des paramètres dans app/config/parameters.yml. Attention, en cas de mise à jour par Composer, les valeurs présentes ci-dessous disparaissent…
solr_host: localhost solr_port: 8983 solr_path: /solr solr_core: allTest solr_timeout: 5
On fait sauter la protection sur IP dans web/app_dev.php :
use SymfonyComponentHttpFoundationRequest; use SymfonyComponentDebugDebug; umask(0000); $loader = require_once __DIR__.'/../app/bootstrap.php.cache'; Debug::enable(); require_once __DIR__.'/../app/AppKernel.php'; $kernel = new AppKernel('dev', true); $kernel->loadClassCache(); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); $kernel->terminate($request, $response);
On renomme /web/config.php en quelque chose d’autre :
mv config.php configs.php
On le modifie pour y accéder depuis l’extérieur :
Avant : if (!in_array(@$_SERVER['REMOTE_ADDR'], array( Après : if (in_array(@$_SERVER['REMOTE_ADDR'], array(
Modification des permissions app/console, web/app.php et web/app_dev.php (déjà fait pour ce dernier) :
Ajouter umask(0000); en début de fichier
Changement des permissions sur les répertoires app/cache/ et app/logs/ :
chown -R www-data app/cache/ chown -R www-data app/logs/