emergency-kit

Installer à partir de la v2.8

Prérequis:

  1. Avoir une Machine sous Unix/LInux (GNU/Linux de préférence)
  2. Un serveur Web Apache équipé du module apache2-utils avec le mode « php5 » d’activé
  3. Php5 d’installé équipé des modules php5-cli, libapache2-mod-php5, php5-imagick, php5-pgsql, php5-gd et php5-curl
  4. Une base de données PostgreSQL
  5. le présent article vise une installation sous une distribution GNU/Linux –

Installation de la v2.8 d’E-venement

Exécutez la commande suivante pour récupérer le logiciel depuis le Git Repository:

git clone https://github.com/betaglop/e-venement .

Mettez à jour les sous-modules:

git submodule init
git submodule update
git submodule foreach --recursive git submodule update --init

Configuration de PHP

Il est nécessaire pour que Symfony puisse correctement fonctionner de modifier certaines valeurs de mémoire pour le mode CLI et le mode Apache par la commande suivante:

Editez le fichier /etc/php5/cli/php.ini comme ceci:
memory_limit = -1
Editez le fichier /etc/php5/apache2/php.ini comme ceci:
memory_limit = 512M

Configuration de Symfony

Placez-vous dans le dossier où vous avez installé e-venement v2.8 et mettez à jour les fichiers de configuration en renommant comme suit les fichiers suivants:

config/autoload.inc.php
config/databases.yml
config/project.yml

Procédez de la même manière pour les « . template » des « apps/ » de votre choix.

Configuration de la base de données

Installez PostgreSQL par la commande suivante:

apt-get install postgresql

Se connecter dans un premier temps avec l’utilisateur « postgres » par la commande:

sudo -i -u postgres

puis exécuter la commande:

psql

Nous créons ensuite notre utilisateur:

CREATE USER nom_utilisateur ;

On donne à cet utilisateur la possibilité de créer de nouvelle DB:

ALTER ROLE nom_utilisateur WITH CREATEDB ;

On créé ensuite une nouvelle DB pour l’utilisateur:

CREATE DATABASE nom_de_la_db OWNER nom_utilisateur ;

Et on attribue un mot de passe à l’utilisateur pour qu’il puisse se connecter à la base:

ALTER USER nom_utilisateur WITH ENCRYPTED PASSWORD 'motdepasse' ;

Déclaration de la base de données

Editez le fichier config/databases.yml de la manière suivante:

all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'pgsql:host=localhost;dbname=le_nom_de_votre_db'
      username: nom_utilisateur
      password: motdepasse

Attention à ce moment, il n’est pas encore possible de tester l’application, aucun compte utilisateur n’est encore disponible.

Activation de la base de données

./symfony doctrine:build --all --application=default
cat config/doctrine/functions-pgsql.sql | psql [DB]

Une fois la base de données créée et les fonctions de base ajoutées, il s’agit de créer un premier utilisateur :

./symfony guard:create-user user@domaine.fr nom_du_user mot_de_passe

Puis on élève les droits de l’utilisateur en administrateur. C’est le module guard de symfony qui gére les comptes utilisateurs et leurs droits:

./symfony guard:promote nom_du_user

Pensez à nettoyer le cache de Symfony:

./symfony cc

À vérifier en fin d’installation

(depuis la v2.9 seulement)

Les fichiers de configuration « template » non implémentés :

bin/check-missing-implementations.sh

En cas de problèmes…

  • Vérifiez les logs Apache
  • Essayer de reproduire le problème en environnement « dev » (en remplaçant par exemple /tck.php par /tck_dev.php), afin d’obtenir plus d’informations
  • Vérifiez l’activation des modules adéquats dans Apache et PHP (dont php-gd, etc.)
  • Vérifiez la désactivation du module « php5-apc »
  • Vérifiez également les droits et permissions sur les différents répertoires…
  • Pensez à faire un « restart » du serveur Web

Charger des données de base (optionnel)

Généraliste

./symfony doctrine:data-load --append data/fixtures/10-permissions.yml
./symfony doctrine:data-load --append data/fixtures/20-postalcodes.yml
./symfony doctrine:data-load --append data/fixtures/50-geo-fr-data.yml
./symfony doctrine:data-load --append data/fixtures/60-generic-data.yml 
./symfony doctrine:data-load --append data/fixtures/61-type-of-relationships.yml

Instance de démonstration

Pensez, alors, à activer l’option :

# config/project.yml
all:
  demo: true
./symfony doctrine:data-load --append data/fixtures/30-demo.yml
./symfony doctrine:data-load --append data/fixtures/40-accounts-demo.yml
./symfony doctrine:data-load --append data/fixtures/41-seated-plans-demo.yml

27 réflexions au sujet de « Installer à partir de la v2.8 »

    1. Merci pour votre commentaire, au besoin n’hésitez pas à poster toute question concernant l’installation, je ferais de mon mieux pour vous éclaircir. Et surtout n’hésitez pas à contribuer à l’amélioration du logiciel!

  1. Bonjour,

    J’essaye d’installer l’application ‘e-evenement’ pour la tester.

    Je rencontre quelques difficultés pour la faire fonctionner.

    Je suis sur un environnement Windows, j’ai installé git et postgres et j’ai suivi la documentation pas à pas. je n’ai pas eu de message d’erreur mais à la fin, j’ai une belle page blanche qui me renvoie vers http://localhost/e-venement/web/default.php/default/error.

    J’ai un doute sur l’accès à ma bdd et mon php.

    Comment vérifier que tout est ok de ce coté là ?

    Merci pour votre aide.
    Cordialement

  2. Bonjour,

    Comment faire l’installation depuis le début ?
    J’ai trouvé que ce tuto pour la version la plus récente.
    Arrivé a l’étape « Activation de la base de données » j’ai un message :
    -bash: ./symfony: Aucun fichier ou dossier de ce type
    Ce qui est normal vue que le dossier symfony1 est vide…

    Merci d’avance

    1. Bonjour,

      Vous n’avez pas du initialiser et cloner les submodules Git… si vous êtes passée par Git.

      git submodule init
      git submodule update
      git submodule foreach –recursive git submodule update –init

      En espérant que cela vous aide…

  3. Bonjour,

    Je vous remercie pour cette procédure d’installation très claire. Cependant après l’avoir suivie à la lettre, je rencontre le même problème que l’utilisateur DaGon. En effet, une fois à l’étape « Activation de la base de données » le message  » bash: ./symfony: Aucun fichier ou dossier de ce type » s’affiche dans le terminal. J’ai pourtant bien initialiser et cloner les submodules GIT avec les commandes

    git submodule init
    git submodule update
    git submodule foreach –recursive git submodule update –init

    Merci d’avance pour votre aide et vos solutions,

    Cordialement

    1. Peut-être êtes-vous sous MSWindows ?
      Normalement ./symfony est un lien symbolique fonctionnel pointant sur lib/vendor/symfony/data/bin/symfony. Est-ce que ce fichier/script existe dans votre installation ?

      Quelle est votre version de git ? Quel est votre système d’exploitation ? Votre système de fichiers ?

      1. Bonjour,

        Merci pour votre réponse rapide.
        Je n’utilise pas Windows mais bien GNU/Linux (sans en connaitre tout le fonctionnement). Les systèmes de fichiers diffèrent selon les partitions disque (3 en ntfs, 1 en ext4 et 1 en fat32). La version de Git installée est 1,9,1. Dans mon installation de e-venement, il y a bien un lien qui pointe le bon chemin d’accès, mais le lien est dit « cassé ». Je suis donc allé dans le dossier Symfony et ai fait un lien /symfony/data/bin/symfony pour remplacer celui présent dans l’installation de e-venement.
        Quand j’entre la commande, cette fois, le terminal indique : « bash: .symfony : est un dossier »
        Le problème viendrait peut-être de l’installation de symfony : il n’y a pas /vendor dans /lib…

        Merci pour votre aide,
        Cordialement,

        1. Il faut vous assurer que la partition utilisée n’est pas en NTFS/FAT… sinon pas de pb.
          Quant au fait que lib/vendor/symfony soit inexistant, c’est un vrai souci pour vous. C’est (entre autres) ce répertoire et son contenu qui sont créés par :

          git submodule init
          git submodule update
          git submodule foreach –recursive git submodule update –init

  4. Bonjour,
    J’ai tenté une installation sur un serveur GANDI en simplehosting.

    Ce qui concerne le menu R.P. ou billeterie, me renvoie sur une page blanche (e.g. rp.php/contact , tck.php/ticket/control/action , rp.php/option_labels … )

    J’ai eu beau tenter pas mal de choses … je n,’arrive pas à trouver de solution.

    si par hasard, quelqu’un pouvait m’aiguiller vers un amorce de solution, je lui en serait fortement reconnaissant.

    Merci par avance.

    Cordialement.

  5. Bonjour,

    Tout d’abord un grand merci à l’équipe e-venement pour cette solution très complète :)
    Je viens de procéder à une installation sous Windows et j’ai une petite question par rapport au paramétrage des places, est-il possible de grouper des places en plusieurs catégories (Exp: VIP, presse…)

    Merci et bonne continuation à toute l’équipe !

    1. Une première solution serait d’utiliser les retenues pour grouper les places en fonctions des types de public. Mais ces places seront alors inaccessibles à la vente en ligne, sur lieu elle pourront être relâchées vers une opération de vente directement à partir de la retenue concernée.

      Une seconde solution serait de définir des zones physiques dans la salle, pour cela créer différents plans de salle qui correspondront à vos zones et de partager les images entre ces différents plans pour avoir le plan global de la salle.
      Dans ce cas un usage de différentes jauges spécifiques au type de public peut également être intéressant.

      Merci en tout cas de l’intérêt que vous porter à e-venement.

      1. Bonjour Thierry,

        Tout d’abord merci de l’intérêt que vous portez à e-venement.

        Pour une installation sous Windows, il faut mettre en place un serveur de type WAPP (Windows Apache PostgreSQL PHP).

        Ensuite vous pouvez suivre le tutoriel de l’installation de la version la plus récente du logiciel, n’hésitez pas à utiliser git pour le déploiement.

        Bonne continuation et n’hésitez à partager votre usage de e-venement et à revenir vers nous (La Communauté) pour cette usage.

  6. Bonjour,

    Veuillez m’aider SVP.

    Version d’e-venement : e-venement-2.8.0
    Navigateur web et sa version : Mozilla Firefox 51.0.1
    Bug : Lors de la modification d’un événement déjà crée, une erreur apparait.

    /var/log/appache2/error.log
    [:error] [pid 20757] [client…] SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint « event_translation_pkey »\nDETAIL: Key (id, lang)=(19, fr ) already exists., referer:http://41.231.54.69/e-venement-2.8.0/web/event.php/event/19/edit.html

    /var/log/postgresql/postgresql-9.3-main
    UTC ERROR: duplicate key value violates unique constraint « event_translation_pkey
    UTC DETAIL: Key (id, lang)=(19, fr ) already exists.
    UTC STATEMENT: INSERT INTO event_translation (id, lang, name, short_name, subtitle, description, extradesc, extraspec) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)

    Mes essais:
    J’ai testé la modification d’un attribut de la table event avec la requete :
    [DB_name]=# update event set event_category_description = ‘music’ where id = ’24’ ;
    La modification a été bien faite. UPDATE 1
    Le problème est avec la requete insert into qui s’éxecute à la place de update à mon avis.

    Cordialement,

  7. Bonjour,
    je tente d’installer le logiciel pour la gestion d’une billetterie pour un spectacle d’école et un petit festival.
    Malheureusement, je rencontre quelques difficultés surtout par rapport aux prérequis.
    J’ai un serveur, j’ai installé dessus UBUNTU Server 16.10 avec les modules LAMP (Apache PHP etc…).
    Le souci est que je n’arrive pas à savoir si les modules complémentaires de PHP5 sont activés ou pas. Y a-t-il une manoeuvre particulière pour voir cela ?
    La distri UBUNTU Server est-elle un bon support ? Je peux en changer le cas échéant.
    Merci de vos retours et de votre coup de main.
    Philippe

    1. Bonjour Philippe,
      Vous pouvez vérifier la présence des module complémentraires de PHP en créant une page php info de manière simple.

      Créez un fichier phpinfo.php sur un racine accessible par le serveur apache :
      Insérez ce code dans ce fichier :
      < ?php // Show all information, defaults to INFO_ALL phpinfo(); // Show just the module information. // phpinfo(8) yields identical results. phpinfo(INFO_MODULES); ?>

      En accédant à cette page, vous aurez l’ensemble des informations liés à php (version, modules…)

      Bonne continuation et n’hésitez à partager votre usage de e-venement et à revenir vers nous (La Communauté) pour cette usage.

      1. Bonjour,

        Je désespère un peu d’installer e-venement.
        Je viens de suivre le tuto et ça ne fonctionne pas. Je pense qu’il s’agit peut-être d’un souci au niveau des répertoires d’installation.
        Je suis parti d’une installation propre Debian Serveur 8.
        Installation des modules SUDO
        Installation des modules APACHE complémentaires
        Installation des modules PHP5 complémentaires

        C’est après que ça se complique…
        Dans quel répertoire installer SYMFONY ?
        Dans quel répertoire installer E-venement (il est téléchargé dans le respertoire Root par défaut) ?
        C’est là que je nage un peu….
        Le test du serveur Web Apache renvoie vers /var/www/

        Merci de vos éclaircissements, j’ai vraiment envie de tester cette solution dans les plus brefs délais.
        A bientôt !
        Philippe

        1. Bonsoir,
          Après quelques heures de recherches, des tutos, un paquet de M&M’s et beaucoup de Coca, j’ai enfin réussi à comprendre et à installer e-venement ! Youpi !
          Sauf que j’ai une erreur quelque part !

          Pour le coup, là je sais plus. J’ai besoin d’aide pour trouver d’où ça vient ou ce que j’ai fait de mal.

          Merci de votre aide.
          Philippe

          Rapport d’erreur donné par web_dev.php :

          Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/evenement/lib/vendor/symfony/lib/response/sfWebResponse.class.php on line 409

          Warning: Cannot modify header information – headers already sent by (output started at /var/www/evenement/lib/vendor/symfony/lib/response/sfWebResponse.class.php:409) in /var/www/evenement/lib/vendor/symfony/lib/response/sfWebResponse.class.php on line 357

          Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/evenement/lib/vendor/symfony/lib/response/sfWebResponse.class.php on line 409
          500 | Internal Server Error | sfException
          Call to undefined method sfWebRequest::getUserAgent.
          stack trace

          at ()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/request/sfRequest.class.php line 317 …
          $event = $this->dispatcher->notifyUntil(new sfEvent($this, ‘request.method_not_found’, array(‘method’ => $method, ‘arguments’ => $arguments)));

          if (!$event->isProcessed())

          {

          throw new sfException(sprintf(‘Call to undefined method %s::%s.’, get_class($this), $method));

          }

          return $event->getReturnValue();
          at sfRequest->__call(‘getUserAgent’, array())
          in SF_ROOT_DIR/lib/form/BaseForm.class.php line 24 …
          at sfWebRequest->getUserAgent()
          in SF_ROOT_DIR/lib/form/BaseForm.class.php line 24 …
          at BaseForm->disableCSRFProtectionOnUserAgent()
          in SF_ROOT_DIR/plugins/sfDoctrineGuardPlugin/lib/form/doctrine/sfGuardFormSignin.class.php line 18 …
          at sfGuardFormSignin->configure()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfForm.class.php line 70 …
          at sfForm->__construct(array(), array(), null)
          in SF_ROOT_DIR/lib/vendor/symfony/lib/form/addon/sfFormSymfony.class.php line 33 …
          at sfFormSymfony->__construct()
          in SF_ROOT_DIR/apps/default/modules/sfGuardAuth/actions/actions.class.php line 38 …
          at sfGuardAuthActions->executeSignin(object(‘sfWebRequest’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/action/sfActions.class.php line 60 …
          at sfActions->execute(object(‘sfWebRequest’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfExecutionFilter.class.php line 92 …
          at sfExecutionFilter->executeAction(object(‘sfGuardAuthActions’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfExecutionFilter.class.php line 78 …
          at sfExecutionFilter->handleAction(object(‘sfFilterChain’), object(‘sfGuardAuthActions’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfExecutionFilter.class.php line 42 …
          at sfExecutionFilter->execute(object(‘sfFilterChain’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfFilterChain.class.php line 53 …
          at sfFilterChain->execute()
          in SF_ROOT_DIR/plugins/sfDoctrineGuardPlugin/lib/sfGuardRememberMeFilter.class.php line 56 …
          at sfGuardRememberMeFilter->execute(object(‘sfFilterChain’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfFilterChain.class.php line 53 …
          at sfFilterChain->execute()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfRenderingFilter.class.php line 33 …
          at sfRenderingFilter->execute(object(‘sfFilterChain’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfFilterChain.class.php line 53 …
          at sfFilterChain->execute()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/sfController.class.php line 238 …
          at sfController->forward(‘sfGuardAuth’, ‘signin’)
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfBasicSecurityFilter.class.php line 94 …
          at sfBasicSecurityFilter->forwardToLoginAction()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfBasicSecurityFilter.class.php line 55 …
          at sfBasicSecurityFilter->execute(object(‘sfFilterChain’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfFilterChain.class.php line 53 …
          at sfFilterChain->execute()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfRenderingFilter.class.php line 33 …
          at sfRenderingFilter->execute(object(‘sfFilterChain’))
          in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/sfFilterChain.class.php line 53 …
          at sfFilterChain->execute()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/sfController.class.php line 238 …
          at sfController->forward(‘default’, ‘index’)
          in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/sfFrontWebController.class.php line 48 …
          at sfFrontWebController->dispatch()
          in SF_ROOT_DIR/lib/vendor/symfony/lib/util/sfContext.class.php line 170 …
          at sfContext->dispatch()
          in SF_ROOT_DIR/web/default_dev.php line 13 …

          symfony settings …
          request …
          response …
          user …
          global vars …

          symfony v.1.4.20 – php 5.6.30-0+deb8u1
          for help resolving this issue, please visit http://www.symfony-project.org/.
          Debug toolbar

          1.4.20 Config config Log logs Memory 13568.0 KB Time 718 ms Close

          Warning: session_write_close(): open(/var/lib/php5/sessions/sess_pq03tgdb45oiv41kdmqdp49fd5, O_RDWR) failed: Permission denied (13) in /var/www/evenement/lib/vendor/symfony/lib/storage/sfSessionStorage.class.php on line 183

          Warning: session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5/sessions) in /var/www/evenement/lib/vendor/symfony/lib/storage/sfSessionStorage.class.php on line 183

  8. Bonjour,

    Merci pour ces explications, qui m’ont permis d’installer e-venement! Je me permets quelques suggestions pour compléter cette procédure d’installation (endroits où – débutant sur linux – j’ai rencontré des problèmes et du creuser un peu pour pouvoir continuer), au cas où vous voudriez les prendre en compte dans vos explications.

    Section « pré-requis »
    – il semble que le module php-xml soit également requis
    – il semble que e-venement fonctionne avec php7. Il serait peut-être bon de mentionner que que php5 est une version minimale afin que les gens n’essaient pas absolument d’installer php5

    Section « Configuration de la base de données »
    – il pourrait être agréable de donner la manière de quitter psql (q + enter si je me souviens bien)
    – il me semble que nom_utilisateur et motdepasse doivent être ceux d’un utilisateur de l’OS. Si c’est bien le cela mériterait d’être précisé.

    Section « Activation de la base de données »
    – il n’est pas très clair que [DB] doit-être remplacé par le nom de la base de données préalablement définie

    Divers
    – apache2 n’est pas forcément démarré, il pourrait être utile de dire comment faire
    – donner les points d’entrée de l’application (web/default.php ou web/default.php pour le debug) pourrait être utile.

    Cordiales salutations.

    1. Bonjour,

      Tout d’abord merci de l’intérêt que vous portez à e-venement.

      Nous sommes en cours d’élaboration d’une documentation d’installation à partir de la v2.10 de e-venement, nous prendrons en considération vos remarques.

      Un petit point tout de même par rapport à la version de PHP, il semblerait effectivement que e-venement puisse fonctionner avec la version 7 de PHP du fait de la rétro-compatibilité mais nous n’avons pas encore pu tester l’ensemble des fonctionnalités de e-venement sur cette version. C’est la raison pour laquelle nous conseillons encore l’usage de php5.

      N’hésitez pas à nous faire un retour concernant l’usage que vous faites de e-venement ainsi que sur son fonctionnement en php7.

      Bonne continuation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *