Installer Arii composant par composant sur une Centos 7.3

De SOS Paris
Aller à : navigation, rechercher
Installation.png
Guide d'Installation
Version 2.0

Sommaire

Ce document détaille l'installation d'Arii étape par étape sur un environnement Centos7.3.

Les éléments peuvent être adaptés à votre infrastructure mais il est important de respecter les étapes. Notre service Support pourra vous aider pour réaliser cette procédure dans votre environnement, si besoin support@sos-paris.com

Cette procédure indique les étapes à suivre dans l'ordre, cela permet de valider chaque étape et de passer directement aux étapes qui vous concerne si vous avez déjà un socle.

  • Vous partez sur un socle standard Centos 7.3 fourni par votre équipe système, vérifiez les pré-requis sécurité (SELinux et ouverture de parefeu) et allez directement à l'étape Installation de l'environnement_LAMP
  • Vous partez sur un socle web fourni par votre équipe intranet ou internet, le serveur LAMP est déjà configuré avec PHP 5.6 et MySql/MariaDB, vous pouvez aller directement à l'étape
  • Vous utilisez déjà Symfony2
  • Vous utilisez Symfony2 avec le FosUserBundle, votre environnement vous permet de vous authentifier. Il ne vous reste plus qu'à installer Arii

Avant de commencer

Environnement d'installation

L'environnement utilisé dans cette procédure est donné à titre indicatif, il est possible de modifier des paramètres pour la mettre en conformité avec votre système d'information:

Hostname arii Nom de la machine qui héberge Arii
Adresse IP 192.168.203.132 Adresse IP de la machine qui héberge Arii
Utilisateur Arii arii Login de connexion sur la machine arii
Mot de passe Arii arii Mot de passe de connexion sur la machine arii
Hôte DB localhost Hôte pour l'hébergement de la base de données
Port DB 3306 Port pour l'hébergement de la base de données
Utilisateur DB root Login de connexion pour la base de données
Mot de passe DB arii Mot de passe de connexion pour la base de données
Répertoire Symfony /home/arii/symfony2 Répertoire d'installation de Symfony2
Répertoire JobScheduler (Home) /opt/jobscheduler Localisation des binaires et autres fichiers fixes d'Open Source JobScheduler
Répertoire JobScheduler (Data) /home/arii/jobscheduler Localisation des fichiers de configuration et de données d'Open Source JobScheduler
Fuseau horaire {{{timezone}}} Obligatoire pour Symfony
Limite mémoire {{{memory_limit}}} Mémoire utilisée pourun script PHP.

Pré-requis

Cette étape est généralement prise en charge par votre administrateur système qui vous fournira une machine virtuelle ou une machine physique respectant les standards de l'entreprise.

Il vous faut :

  • Une VM (ou une machine physique) avec centos 7.3 (minimale ou complète) disposant de 4 Go de ram. Pas d'obligation en cpu mais il est recommandé d'avoir 2 coeurs logiques,
  • Un accès à internet pour les téléchargements,
  • Les droits "admin" sur la machine d'installation,
  • Les droits permettant d'ouvrir des ports sur le firewall.

Cette procédure prévoit l'installation d'une bdd en local et d'un utilisateur de cette base. Si vous devez utiliser un serveur de bdd distant, créez (ou faites créer par votre dba) une bdd pour Arii avec un utilisateur. Il vous faudra connaître l'ip, le port et le nom de la base ainsi que le nom et le mot de passe d'un utilisateur de cette base.

Si vous avez besoin d'aide pour cette partie:

Composants logiciels utilisés

  • Système d’exploitation : Linux CentOS V7.3
  • Serveur HTTP Apache V2.4.x
  • Serveur de pages PHP 5.6.x
  • La bibliothèque Dhtmlx Suite et le connecteur PHP de Dhtmlx
  • Les bibliothèques Dhtmlx Gantt et Dhtmlx Scheduler
  • Oracle® Database Java® Runtime Environment (JRE) 64-Bit version 1.8.x
  • Interpréteur de script Perl V5.2x.x
  • Le logiciel graphique Graphviz V2.38
  • Le logiciel de gestion de versions Git V1.7
  • Le framework « Symphony » V2.x
  • Serveur GIT
  • JobScheduler V1.9.x

Liste des fichiers d'installation nécessaires qui seront utilisés

  • le fichier d'installation silencieuse d'OJS (qui est inclus dans ce document)
  • les fichiers "source" de Arii (ils sont en libre téléchargement sur Github)

Installation Système et Réseau

Mise en place : utilisateur arii

Connectez-vous en 'root' sur le système ou avec un user ayant des droits d'administration.

$> ssh root@192.168.203.132

Créer un user 'arii'

$> adduser arii

Modifier le mot de passe

$> passwd arii

Choisissez un mot de passe (mini 8 caractères) par exemple 'arii' et puis retapez la confirmation 'arii'.

Nous avons désormais un utilisateur appelé 'arii' avec pour mot de passe 'arii'.

Ajout de l'utilisateur arii dans le groupe sudoers

$> usermod -aG wheel {{{ux_arii}}}

Notre utilisateur arii est maintenant dans le groupe des sudoers.

Note : attention dans les anciennes versions de Centos; le groupe wheel était désactivé par défaut (pour l'activer il fallait modifier le fichier /etc/sudoers et décommenter la ligne ##%wheel ALL=(ALL) ), à partir de la version 7 de Centos, le groupe wheel est actif par défaut.

Deconnectez-vous et reconnectez-vous avec votre user 'arii'

$> exit
$> ssh arii@192.168.203.132

SELinux

Le niveau de sécurité de Centos doit être modifié pour permettre le fonctionnement du produit. Il faut modifier le fichier 'selinux' :

$> sudo vi /etc/sysconfig/selinux

Le paramètre 'SELINUX' doit passer de 'enforcing' à 'permissive':

   # This file controls the state of SELinux on the system.
   # SELINUX= can take one of these three values:
   #     enforcing - SELinux security policy is enforced.
   #     permissive - SELinux prints warnings instead of enforcing.
   #     disabled - No SELinux policy is loaded.
   SELINUX=permissive
   # SELINUXTYPE= can take one of three two values:
   #     targeted - Targeted processes are protected,
   #     minimum - Modification of targeted policy. Only selected processes are protected. 
   #     mls - Multi Level Security protection.
   SELINUXTYPE=targeted 

Afin de faire prendre en compte ce changement, il faut redémarrer la machine

$>sudo reboot

Ouverture de ports sur le firewall

Pour une configuration par défaut, voici les ports à ouvrir :

Pour MariaDB

$> sudo firewall-cmd --permanent --add-port=3306/udp
$> sudo firewall-cmd --permanent --add-port=3306/tcp
 

Pour Apache

$> sudo firewall-cmd --permanent --add-port=80/tcp
$> sudo firewall-cmd --permanent --add-port=80/udp
$> sudo firewall-cmd --permanent --add-port=8080/udp
$> sudo firewall-cmd --permanent --add-port=8080/tcp
$> sudo firewall-cmd --permanent --add-service=http
$> sudo firewall-cmd --permanent --add-service=https 

Pour Open Source JobScheduler

$> sudo firewall-cmd --permanent --add-port=44444/tcp
$> sudo firewall-cmd --permanent --add-port=44444/udp

Redemarrer le service firewall

$> sudo service firewalld restart

Tous ces ports peuvent être modifiés afin de s'adapter à votre infrastructure.

Mise à niveau du réseau

L'installation de Centos nécessite souvent un paramétrage réseau.

Tapez la commande :

$> ping www.sos-paris.com

Si elle fonctionne correctement passez directement à 'Installer un environnement LAMP'.

Si elle ne fonctionne pas suivez les trois étapes :

Vérifier le fichier "host"

Editer le fichier "hosts" en sudo

$>sudo vi /etc/hosts

On doit y trouver l'adresse IP locale de la VM (ou serveur) associée au nom de la machine. Si besoin ajoutez-les.

Exemple:

192.168.203.132     arii

Vérifier le "DNS"

Editer en sudo le fichier "resolv.conf" et s'assurer qu'un DNS est configuré :

$> sudo vi /etc/resolv.conf

Si le fichier est vide, indiquez un DNS, par exemple celui de google :

nameserver 8.8.8.8

Vérifier la passerelle réseau et le HOSTNAME

Exemple avec une gateway en 192.168.1.1 :

$>sudo vi /etc/sysconfig/network

Au besoin, compléter le fichier avec vos infos :

NETWORKING=yes
GATEWAY=192.168.1.1
HOSTNAME=Centos_03
NOZEROCONF=true
NETWORKING_IPV6=no
IPV6_AUTOCONF=yes
IPX=no

Dans certaines versions de Centos, un utilitaire nommé anaconda crée les interfaces réseaux. Anaconda laisse vide le fichier 'network', il crée un sous repertoire 'network-scripts' dans lequel il crée un fichier de configuration par interface réseau. Les fichiers d'interface réseau portent un nom de la forme 'ifcfg-nom_de_l'interface'. Il faut éditer le fichier 'ifcfg-ifcfg-nom_de_l'interface'et s'assurer que la gateway est bien indiquée, au besoin corriger les valeurs.

$> cd /etc/sysconfig/network-scripts
$> ls

Par exemple avec l'interface 'ifcfg-ens192'

$> sudo vi ifcfg-ens192

Vérifier la gateway :

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=6f414b38-e669-4fc4-b814-13462f2f648c
DEVICE=ens192
ONBOOT=yes
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
IPADDR=192.168.1.18
PREFIX=24
GATEWAY=192.168.1.1
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes 

Si vous avez dû modifier un ou plusieurs fichiers, il faut relancer le réseau.

$> service network restart

De nouveau, vérifier que le ping fonctionne :

$> ping www.sos-paris.com

Validation

Pour valider cette étape, vous pouvez vérifier ces points:

  • vous pouvez pinger la machine avec son nom ou son adresse
  • vous pouvez vous connecter avec le compte arii

Si ces points sont vérifiés, vous pouvez passer à l'étape suivante.

Installation PHP

Dépôts

-- A vérifier --

  • Repository Epel (Extra Packages for Enterprise Linux est un dépot officiel dédié aux paquets partenaires fedora/red hat/Centos/)
$> sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Repository WEBTATIC (pour php 5.6)
$> sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installation

$> sudo yum -y install php56w php56w-common
$> sudo service httpd restart

Modules complémentaires

sudo yum install php56w-xml
sudo yum install php56w-mbstring
sudo yum install php56w-ldap
sudo yum install php56w-fpm php5w-opcache

Configuration php.ini

Il faut modifier la section timezone dans le fichier php.ini. Pour cela décommenter la ligne 'date.timezone' et indiquer 'Europe/Paris' :

$> sudo vi /etc/php.ini

Modifier le timezone:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = {{{timezone}}}

Modifier la limite de la mémoire qui est à 128Mo par défaut.

memory_limit={{{memory_limit}}}

Installation Base de données

Dépôt MariaDB

Si vous utilisez une autre bd, adaptez cette partie, nous supportons aussi postgres et oracle, n'hésitez pas à nous contactez si vous avez besoin d'aide.

$> cd /etc/yum.repos.d/
$> sudo vi ./MariaDB.repo  

Copier-coller les informations suivantes dans le fichier :

# MariaDB 10.1 CentOS repository list - created 2017-02-13 09:03 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1
 

(Attention, pensez à supprimer les espaces en début de ligne).

Installation

Installer le serveur et le client :

$> sudo yum -y install MariaDB-server MariaDB-client 
  • Démarrer mariadb :
$> sudo service mysql start
  • Initialiser les mots de passe :
$> /usr/bin/mysqladmin -u root password 'arii'
$> /usr/bin/mysqladmin -u root -h <hostname_machine> password 'arii'

Dans notre exemple  :

$> /usr/bin/mysqladmin -u root -h arii password 'arii'

(ERIC)=> mysqladmin -u root -p password (password en littéral)

Configuration (facultatif)

La création de la base de données peut être réalisée par une commande symfony2, cette partie n'est donc donnée qu'à titre d'information car on ne devrait rencontrer que deux situations:

  • vous avez un dba qui a ses normes d'installation et de configuration, et dans ce cas il ne devrait pas avoir besoin de ces informations
  • vous n'avez pas de dba, la meilleure solution est de faire confiance aux outils !

Configuration manuelle

mysql -u {{{db_root_user}}} -p Enter password:

{{{db_root_password}}}

mysql> CREATE DATABASE testing;

mysql> GRANT ALL PRIVILEGES ON arii.* TO arii@localhost IDENTIFIED BY 'arii';

Configuration par phpMyAdmin

phpMyAdmin facilite l'administration de la base de données mais n'est pas obligatoire.

$>sudo yum -y install phpmyadmin 

Modifier la section suivante du fichier /etc/httpd/conf.d/phpMyAdmin.conf pour autoriser l'accès depuis le navigateur à phpMyAdmin

$> sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
  AddDefaultCharset UTF-8
  <IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
     # Require ip 127.0.0.1
     # Require ip ::1
      Require all granted
    </RequireAny>
  </IfModule>
  <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Allow from all
    Allow from ::1
  </IfModule>
</Directory>


Redémarrer Apache

   $> sudo service httpd restart


Connectez-vous à phpMyadmin sur votre navigateur en appelant l'URL http://192.168.203.132/phpmyadmin

Rappel : pour mariadb nous avons créé un user : 'root' et son mot de passe 'arii'

Création de la BD

Cliquer sur l'onglet Base de Données tapez 'arii' dans le champs du nom comme indiqué sur l'image. Régler l'encodage sur "utf8_general_ci" comme indiqué sur l'image puis cliquer sur le bouton "Créer" à droite.

Bd arii.png


Création d'un utilisateur

Création d'un user 'root' avec ses droits Cliquer sur l'onglet 'Privilèges', pour sur le bouton 'Créer un utilisateur'

Ajoutuser.png

Mettez 'root' en nom d'utilisateur, 'localhost' comme client, 'arii' comme mot de passe, ne cliquez pas exécuter avant d'avoir donné les droits !


Createuser.png

Descendez dans la fenêtre et cliquer sur 'Tout cocher' pour donner tous les privilèges à cet utilisateur :

Privileges.png

Descendez et cliquez sur “executer”

Validation

Pour valider cette étape, vous pouvez vérifier ces points:

Si ces points sont vérifiés, vous pouvez passer à l'étape suivante.

Installation du serveur Web

Lancer l'installation apache (version 2.4) :

$> sudo yum -y install httpd 

Démarrer apache

$> sudo service httpd start

Validation

$> sudo vi /var/www/html/index.php

puis

<?php
phpinfo();

Pour tester, il suffit d'ouvrir un navigateur et de pointer sur tester l'url "http://192.168.203.132"

Nous nous servirons de cette page pour vérifier configuration et la présence des modules.

Installation de Symfony

Installation GIT

$> sudo yum -y install git 

Tester l'installation

$>  git --version

PAS MAINTENANT Ajouter un utilisateur git “arii”

$> git config --global user.name "arii"
$> git config --global user.mail "arii@sos-paris.com"
$> git config --list

Création du projet

sudo mkdir -p /usr/local/bin
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony

donner le mot de passe arii

sudo chmod a+x /usr/local/bin/symfony

Projet Arii

cd /home/arii
symfony new symfony2 2.8

Si les étapes précédentes ont été suivies, on devrait terminer l'installation comme suit:

 ✔  Symfony 2.8.26 was successfully installed. Now you can:

    * Change your current directory to /home/arii/symfony2

    * Configure your application in app/config/parameters.yml file.

    * Run your application:
        1. Execute the php app/console server:start command.
        2. Browse to the http://localhost:8000 URL.

    * Read the documentation at http://symfony.com/doc

Vous pouvez à tout moment vérifier les pré-requis par la commande

php arii/bin/symfony_requirements

ou plutot

php arii/symfony2/app/SystemRequirements.php

Validation

Lancer le serveur PHP:

cd /home/arii/symfony2/web
php -S 192.168.203.132:8000

Tester le serveur:

http://192.168.203.132:8000/app_php


Vous devez avoir le message "Welcome to Symfony" pour valider cette étape.

Configuration de Symfony

Cette partie va configurer les différents composants de Symfony2 pour héberger Arii.

A cette étape, la base de données est déjà créée en mode manuel ou graphique.

Configuration Apache

Configurer le fichier /etc/httpd/conf/httpd.conf

$> cd /etc/httpd/conf/
$> sudo vi httpd.conf

Ajouter cette section à la fin du document :

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

Puis créer le répertoire /etc/httpd/sites-enabled

$> sudo mkdir /etc/httpd/sites-enabled

Puis ajouter le fichier /etc/httpd/sites-enabled/arii.conf avec le contenu suivant :

$> sudo vi /etc/httpd/sites-enabled/arii.conf
<VirtualHost *:80>
       ServerAdmin     support@sos-paris.com

       ServerName      NomDeVotreServeur

       ErrorLog        logs/arii_error.log
       CustomLog       logs/arii_access.log combined
       DirectoryIndex  index.html index.php app.php

       DocumentRoot /home/arii/symfony2/web/
       <Directory /home/arii/symfony2/web/>
               Options -Indexes +Includes +FollowSymLinks +MultiViews
          AllowOverride All
          #Order allow,deny
          #Allow from all
          Require all granted

       </Directory>

       <IfModule mpm_itk_module>
               AssignUserId arii arii
       </IfModule>

</VirtualHost>


Puis redémarrez Apache

$>sudo service httpd restart

On doit maintenant pouvoir accéder à symfony à travers le port 80:

http://192.168.203.132

Lancement de la configuration

http://192.168.203.132:8000

Lancement de Symfony

$> cd /home/arii
$> ./composer.phar create-project symfony/framework-standard-edition Symfony 2.8.0


Répondre aux questions de la manière suivante :

Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
database_host (127.0.0.1): localhost
database_port (null): 3306
database_name (symfony): arii
database_user (root): root
database_password (null): arii
mailer_transport (smtp):
mailer_host (127.0.0.1):
mailer_user (null):
mailer_password (null):
secret (ThisTokenIsNotSoSecretChangeIt):

Deplacer le composer.phar dans le repertoire Symfony

$> cd /home/arii
$> mv ./composer.phar ./Symfony

Validation

Pour cette étape, les points suivants doivent être vérifiés:

  • Symfony est accessible à travers le port 80
  • On peut enregistrer de nouveaux utilisateurs

Installation des composants requis

Installation Wget

$> sudo yum -y install wget 

Installation Java

$>  sudo yum -y install java-1.8.0-openjdk-devel.x86_64 

Vérifier l'installation

$> java -version

Installation de Perl

$> sudo yum -y install perl-CPAN
$> sudo perl -MCPAN -e shell

Répondre "yes" partout, puis au prompt :

cpan[1]> force install XML::Simple
cpan[1]> exit

Installation de GraphViz

Installation des pré-requis pour graphviz version 2.38 (version current stable à la rédaction de cet article)

Dépôt

Connectez-vous en root sur la liste des dépots

$> cd /etc/yum.repos.d/

Editer le fichier graphviz-rhel.repo

$> vi graphviz-rhel.repo

et ajouter le contenu suivant (cf. http://graphviz.org/graphviz-rhel.repo) :

[graphviz-stable]
name=Graphviz - RHEL $releasever - $basearch
baseurl=http://www.graphviz.org/pub/graphviz/stable/redhat/el$releasever/$basearch/os/
enabled=1
gpgcheck=0
skip_if_unavailable=1
 
[graphviz-stable-source]
name=Graphviz - RHEL $releasever - Source
baseurl=http://www.graphviz.org/pub/graphviz/stable/SRPMS/
enabled=0
gpgcheck=0
skip_if_unavailable=1

[graphviz-stable-debuginfo] 
name=Graphviz - RHEL - Debug 
baseurl=http://www.graphviz.org/pub/graphviz/stable/redhat/el$releasever/$basearch/debug/
enabled=0 
gpgcheck=0 
skip_if_unavailable=1

[graphviz-snapshot]
name=Graphviz - RHEL $releasever - $basearch
baseurl=http://www.graphviz.org/pub/graphviz/development/redhat/el$releasever/$basearch/os/
enabled=0
gpgcheck=0
skip_if_unavailable=1

[graphviz-snapshot-source]
name=Graphviz - RHEL $releasever - Source
baseurl=http://www.graphviz.org/pub/graphviz/development/SRPMS/
enabled=0
gpgcheck=0
skip_if_unavailable=1

[graphviz-snapshot-debuginfo] 
name=Graphviz - RHEL - Debug 
baseurl=http://www.graphviz.org/pub/graphviz/development/redhat/el$releasever/$basearch/debug/
enabled=0 
gpgcheck=0 
skip_if_unavailable=1 

Installation

$> sudo yum -y install http://www.graphviz.org/pub/graphviz/stable/redhat/el7/x86_64/os/graphviz-2.38.0-1.el7.x86_64.rpm

Vérifier l'install par la commande suivante qui revient sans commentaire

$> sudo dot -c

Installation OJS

Installons le moteur OJS embarqué dans Arii:

$> cd /home/arii
$> mkdir jobscheduler
$> cd jobscheduler
$> mkdir arii
$> cd arii
$> wget http://download.sos-berlin.com/JobScheduler.1.9/jobscheduler_linux-x64.1.9.11.tar.gz
$> tar xf jobscheduler_linux-x64.1.9.11.tar.gz
$> cd jobscheduler.1.9.11

Mise en place du fichier d'installation silencieuse

Créer dans le répertoire /home/arii/jobscheduler/arii/jobscheduler1.9.11 un fichier "scheduler_moteur.xml" qui permet une installation silencieuse d'OJS.

$> vi scheduler_moteur.xml

Voici le contenu à copier dans ce fichier scheduler_moteur.xml  :


   <?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <AutomatedInstallation langpack="eng">
       <com.izforge.izpack.panels.UserInputPanel id="home">
           <userInput/>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="licences">
           <userInput>
    
               <entry key="licenceOptions" value="GPL"/>
    
               <entry key="licence" value=""/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.HTMLLicencePanel id="gpl_licence"/>
       <com.izforge.izpack.panels.HTMLLicencePanel id="commercial_licence"/>
       <com.izforge.izpack.panels.TargetPanel id="target">
    
           <installpath>/home/arii/jobscheduler</installpath>
    
       </com.izforge.izpack.panels.TargetPanel>
       <com.izforge.izpack.panels.UserPathPanel id="userpath">
    
           <UserPathPanelElement>/home/arii/jobscheduler</UserPathPanelElement>
    
       </com.izforge.izpack.panels.UserPathPanel>
       <com.izforge.izpack.panels.PacksPanel id="package">
    
    
           <pack index="0" name="Job Scheduler" selected="true"/>
    
           <pack index="1" name="Update Service" selected="false"/>
    
           <pack index="2" name="Database Support" selected="true"/>
    
           <pack index="5" name="Housekeeping Jobs" selected="true"/>
    
           <pack index="7" name="Cron" selected="false"/>
    
       </com.izforge.izpack.panels.PacksPanel>
       <com.izforge.izpack.panels.UserInputPanel id="network">
           <userInput>
    
               <entry key="schedulerHost" value="localhost"/>
    
               <entry key="schedulerPort" value="44444"/>
    
               <entry key="jettyHTTPPort" value="40444"/>
    
               <entry key="jettyHTTPSPort" value="48444"/>
    
               <entry key="schedulerId" value="arii"/>
    
               <entry key="schedulerAllowedHost" value="0.0.0.0"/>
    
               <entry key="launchScheduler" value="yes"/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="cluster">
           <userInput>
    
               <entry key="clusterOptions" value=""/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="smtp">
           <userInput>
    
               <entry key="mailServer" value=""/>
               <entry key="mailPort" value="25"/>
    
               <entry key="smtpAccount" value=""/>
               <entry key="smtpPass" value=""/>
    
    
               <entry key="mailFrom" value=""/>
    
               <entry key="mailTo" value=""/>
    
               <entry key="mailCc" value=""/>
    
               <entry key="mailBcc" value=""/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="email">
           <userInput>
    
               <entry key="mailOnError" value="yes"/>
               <entry key="mailOnWarning" value="yes"/>
               <entry key="mailOnSuccess" value="no"/>
    
               <entry key="jobEvents" value="on"/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="update">
           <userInput>
    
    
               <entry key="checkForUpdateStarttime" value="20:00"/>
    
               <entry key="checkForUpdateStartday" value="1"/>
    
               <entry key="autoUpdateDownload" value="0"/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="database">
           <userInput>
    
               <entry key="databaseDbms" value="mysql"/>
    
               <entry key="databaseCreate" value="on"/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="dbconnection">
           <userInput>
    
               <entry key="databaseHost" value="localhost"/>
    
               <entry key="databasePort" value="3306"/>
    
               <entry key="databaseSchema" value="arii"/>
    
               <entry key="databaseUser" value="arii"/>
    
               <entry key="databasePassword" value="arii"/>
    
    
               <entry key="connectorJTDS" value="yes"/>
    
               <entry key="connectorMaria" value="yes"/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="jdbc">
           <userInput>
    
    
               <entry key="connector" value=""/>
    
               <entry key="connectorLicense" value=""/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.UserInputPanel id="cron">
           <userInput>
    
               <entry key="cronCrontab" value="/etc/crontab"/>
    
               <entry key="cronSystab" value="1"/>
    
               <entry key="cronTimeout" value="600"/>
    
               <entry key="cronChangeUser" value=""/>
    
               <entry key="cronChangeCommand" value=""/>
    
           </userInput>
       </com.izforge.izpack.panels.UserInputPanel>
       <com.izforge.izpack.panels.InstallPanel id="install"/>
       <com.izforge.izpack.panels.ProcessPanel id="process"/>
       <com.izforge.izpack.panels.FinishPanel id="finish"/>
   </AutomatedInstallation>




Un fois le fichier xml rempli, vérifiez que vous êtes connecté avec le compte “arii” car l'installation en root est interdite.

Vérifiez que vous êtes dans le repertoire /home/arii/jobscheduler/arii/jobscheduler1.9.11

Vérifiez que vous avez un fichier setup.sh dans ce répertoire

$> ls


et lancez la commande d'installation silencieuse

$>./setup.sh ./scheduler_moteur.xml

`Comme nous installons dans le home, les script en .sh ne sont pas forcément executables. dans ce cas pensez à faire

$> chmod +x script.sh


Vérifier l'installation d'OJS depuis un navigateur en appelant l'url http://IP_de_votre_serveur:44444/ OJS doit apparaître vous pouvez vous assurer qu'il existe un processus ojs pour arii dans les processus actifs :

$> ps -fux

et vérifier le port

$> netstat -paunt


Pour démarrer Open Source JobScheduler automatiquement au démarrage de la machine (fortement recommandé)

$> cd /home/arii/jobscheduler/arii/bin
$> sudo cp jobscheduler.sh /etc/init.d/
$> sudo systemctl enable jobscheduler.sh

Trucs et astuces pour l'installation d'Arii

L'installation par composer nécessite d'héberger Arii sur Packagist. Nous travaillons sur le sujet.

$> cd /home/arii/Symfony/
$> rm composer.lock
$> php composer.phar install

Selon les machines, on peut avoir une limitation de la mémoire de PHP qui apparait dès ce stade. Dans ce cas relancer la commande de la façon suivante

$> php -d memory_limit=-1 composer.phar install

Installation d'Arii

Arii est une application Symfony. L'installation des modules Symfony suit les étapes suivantes:

  1. téléchargement des sources (clonage)
  2. mise à jour de l'app/kernel (AppKernel.php)
  3. mise à jour de la configuration (config.yml)
  4. mise à jour du paramétrage (parameters.yml)
  5. mise à jour du routage (modification du fichier routing.yml)
  6. ajout au composer.json du module et mise à jour (compilation)
  7. éventuellement mise à jour du schema de la base de données éventuellement


Il est nécessaire après toute installation de forcer Symfony et Apache à se reconfigurer avec vos nouvelles données :

rm -Rf ~/Symfony/app/cache/*
rm -f ~/Symfony/app/logs/*.log
sudo service httpd restart



Avant d'installer Arii, il faut ajouter des modules à Symfony.

Installation du FOSUserBundle

Le bundle FOSUserBundle doit être installé, il est indispensable au fonctionnement d'Arii. Le guide d'installation complet est là : [[1]] Attention toutefois, ne l'appliquez pas à la lettre, il vaut mieux passer par une install customisée. Commencons par ajoute"r ce Bundle dans le fichier composer.json dans le répertoire Symfony. Dansle paragraphe "require"{ ajoutez la ligne suivnate en respectant l'indentation avec des espaces et sans oublier la virgule.

       "friendsofsymfony/user-bundle": "~2.0@dev",

Ensuite on lance l'installation depuis le répertoire Symfony.

php ./composer.phar update friendsofsymfony/user-bundle "*"

On aurait pu aussi tout réinstaller :

rm composer.lock 
php -d memory_limit=-1 composer.phar install

Pour activer ce bundle dans le kernel. Il faut ajouter dans app/config/AppKernel.php la ligne

"new FOS\UserBundle\FOSUserBundle()," 

dans la section " $bundles = array(" Voila le résutat :

<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
            new Symfony\Bundle\SecurityBundle\SecurityBundle(),
            new Symfony\Bundle\TwigBundle\TwigBundle(),
            new Symfony\Bundle\MonologBundle\MonologBundle(),
            new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
            new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
            new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
            new AppBundle\AppBundle(),
            new FOS\UserBundle\FOSUserBundle(),
        );
        if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
            $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
            $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
            $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
            $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
         }
        return $bundles;
    }
    public function registerContainerConfiguration(LoaderInterface $loader)
    {
        $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
    }
}


Mise à jour de la configuration (config.yml) Copier coller pour que votre fichier app/config/config.yml ait ce contenu :

    dbal:
        driver:   pdo_mysql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
        #  if using pdo_sqlite as your database driver:
        #   1. add the path in parameters.yml
        #     e.g. database_path: "%kernel.root_dir%/data/data.db3"
        #   2. Uncomment database_path in parameters.yml.dist
        #   3. Uncomment next line:
        #     path:     "%database_path%"
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        entity_managers:
            default:
                auto_mapping: true
                dql:
                    datetime_functions:
                        Month: Arii\CoreBundle\DQL\Month
                        Year: Arii\CoreBundle\DQL\Year
# Swiftmailer Configuration
swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }
# Configuration FOSUserBundle
fos_user:
    db_driver:     orm                        # Le type de BDD à utiliser, nous utilisons l'ORM Doctrine depuis le début
    firewall_name: main                       # Le nom du firewall duquel on utilisera ces utilisateurs
    user_class:    Arii\UserBundle\Entity\User # La classe de l'entité User que nous venons de définir
    from_email:
             address: arii@sos-paris.com
             sender_name: Arii

Puis nous installons la sécurité. Il faut modifier le fichier app/config/security.yml pour avoir le résultat suivant :

       security: false
         # Firewall pour le cache
        cache:
            pattern:    ^/cache
            anonymous: false
            http_basic:
                realm: "Secured Area"
                provider: fos_userbundle
         requests:
            pattern:  /(requests)/
            security: false
         login:
            pattern:   ^/(login$|register|resetting|sync_state)  # Les adresses de ces pages sont login, register
            security: false
         main:
            pattern:    ^/  # Tout est protégé
            provider: app_users
            pattern:  ^/admin
            form_login:
                provider:    fos_userbundle  # On lit l'authentification au provider définit plus haut
                remember_me: true            # On active la possibilité du "Se souvenir de moi" (désactivé par défaut)
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                default_target_path: arii_Home_index
            logout:
                path:   fos_user_security_logout
                target: fos_user_security_login
                # invalidate_session: true
            #ano nymous: ~
            #http_basic:
            #    realm: "Secured Demo Area"
            remember_me:
                key:      %secret%        # On définit la clé pour le remember_me (%secret% est un parametre de parameters.ini)
                lifetime: 31536000 # 365 days in seconds
#               path:     /login
#                domain:   ~ # Defaults to the current domain from $_SERVER
     access_control:
        #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }


Mise à jour du paramétrage (parameters.yml)

# This file is auto-generated during the composer install
parameters:
    database_host: localhost
    database_port: 3306
    database_name: arii
    database_user: root
    database_password: arii
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    secret: ThisTokenIsNotSoSecretChangeIt


Mise à jour du routage (modification du fichier routing.yml)

#----------------------------------------------
# User Bundle
# ----------------------------------------
fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile
fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register
fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting
fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /change-password
arii_user:
    resource: "@AriiUserBundle/Resources/config/routing.yml"
    prefix:   /user/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp


Mise à jour du schema de la base de données

php app/console 
php app/console doctrine:schema:update -force

Installation des assets

Création des liens pour les images:

Placez vous dans le repertoire symfony et tapez

php app/console assets:install --symlink

Pour plus d'informations: http://symfony.com/blog/new-in-symfony-2-6-smarter-assets-install-command

Préparation de l'installation des sources

Il faut créer un répertoire Arii dans Symfony/src s'il n'existe pas déjà.

Aller dans Symfony/src

$> mkdir src
$> cd Symfony/src

Créer un répertoire Arii où seront installées les sources, s'y placer :

 $> mkdir Arii
 $> cd Arii

Récupération des sources arii V2.0

Il faut cloner les modules dans le répoertoire src/Arii, nous allons commencer avec les deux principaux :

$> git clone https://github.com/AriiPortal/UserBundle
$> git clone https://github.com/AriiPortal/CoreBundle

Le principe reste le même qu'avec FOSUserBundle : on met à jour le Kernel, la config, la sécurité, les paramètres, le routage, puis on compile et on met à jour la BDD.

Commencons avec la mise à jour du Kernel.: Il faut ajouter nos 2 nouveaux modules dans la section $bundles du fichier AppKernel.php . Rappel AppKernel.php est dans le répertoire Symfony/app.

$> vi AppKernel.php

Ajouter les dernières lignes à la section Bundles pour obtenir :

   public function registerBundles()
   {
       $bundles = array(
       new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
       new Symfony\Bundle\SecurityBundle\SecurityBundle(),
       new Symfony\Bundle\TwigBundle\TwigBundle(),
       new Symfony\Bundle\MonologBundle\MonologBundle(),
       new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
       new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
       new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
       new FOS\UserBundle\FOSUserBundle(),
       new Arii\UserBundle\AriiUserBundle(),
       new Arii\CoreBundle\AriiCoreBundle(),
   );
   if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
       $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
       $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
       $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
       $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
   }
       return $bundles;


Il faut modifier le routage pour prendre ne compte les nouveaux modules dans app/config/routing.yml.

$> vi routing.yml

Voici le résultat à obtenir :

arii_homepage:
    path:  /
    defaults: {_controller: AriiCoreBundle:Default:default }
arii_home:
    path:  /home/{_locale}
    defaults: { _controller: AriiCoreBundle:Default:index }
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# Core Bundle
# ----------------------------------------
arii_core:
    resource: "@AriiCoreBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# User Bundle
# ----------------------------------------
fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile
fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register
fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting
fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /change-password
 
arii_user:
    resource: "@AriiUserBundle/Resources/config/routing.yml"
    prefix:   /user/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp


Nous allons préciser qu'il faut utiliser la langue française dans le fichier parameters.yml:

$>vi parameters.yml

et indiquer fr pourle paramètre 'locale'

# This file is auto-generated during the composer install
parameters:
    database_host: localhost
    database_port: 3306
    database_name: arii
    database_user: root
    database_password: arii
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    secret: ThisTokenIsNotSoSecretChangeIt
    locale: fr
  

Mettre à jour la base de données

   php app/console doctrine:schema:update --force

Configurer la partie sécurité selon vos besoins dans app/config/security.yml Voici un exemple basique, où l'authentication est faite avec des utilsateurs enregistrés dans la bdd


security:
#    always_authenticate_before_granting: true    
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512
        Symfony\Component\Security\Core\User\User: plaintext
    role_hierarchy:
        ROLE_ADMIN:       [ROLE_SYSADMIN,ROLE_OPERATOR,ROLE_DEVELOPPER]
        ROLE_MANAGER:     [ROLE_USER,ROLE_OPERATOR,ROLE_DEVELOPPER]
        ROLE_OPERATOR:    [ROLE_USER]
        ROLE_DEVELOPPER:  [ROLE_USER]       
        ROLE_SYSADMIN:    [ROLE_ALLOWED_TO_SWITCH,ROLE_DEVELOPPER]
    providers:
        chain_provider:
            chain:
                providers: [fos_userbundle, in_memory]
        in_memory:
            memory:
                users:
                    sos:  { password: sospass, roles: [ 'ROLE_USER' ] }
                    admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
        fos_userbundle:
            id: fos_user.user_provider.username
     firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js|pdf)/
            security: false 
        cron:
            pattern:  /cron/
            security: false
        doc:
           pattern:  /doc/
           security: false
        post:
            pattern:  /post/
            security: false       
        public:
            pattern:  /(public)
            security: false
        report:
            pattern:  /(report)/
            security: false
        check:
            pattern:  /(check)/
            anonymous: false
            http_basic:
                realm: "Secured Area"
                provider: fos_userbundle           
        user:
            pattern:  ^/(user)/
            security: false
        # Firewall pour le cache
        cache:
            pattern:    ^/cache
            anonymous: false
            http_basic:
                realm: "Secured Area"
                provider: fos_userbundle
        requests:
            pattern:  /(requests)/
            security: false
        login:
            pattern:   ^/(login$|register|resetting|sync_state)  # Les adresses de ces pages sont login, register 
            security: false
        main:
            pattern:    ^/  # Tout est protégé
            provider: app_users
            pattern:  ^/admin
            form_login:
                provider:    fos_userbundle  # On lit l'authentification au provider définit plus haut
                remember_me: true            # On active la possibilité du "Se souvenir de moi" (désactivé par défaut)
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                default_target_path: arii_Home_index
            logout:
                path:   fos_user_security_logout
                target: fos_user_security_login
                # invalidate_session: true
            #anonymous: ~
            #http_basic:
            #    realm: "Secured Demo Area"
            remember_me:
                key:      %secret%        # On définit la clé pour le remember_me (%secret% est un parametre de parameters.ini)
                lifetime: 31536000 # 365 days in seconds
#                path:     /login
#                domain:   ~ # Defaults to the current domain from $_SERVER
      access_control:
         #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

La configuration globale est dans app/config/config.yml. Voici un exemple de conifg.yml

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: services.yml } 
framework:
    #esi:             ~
    translator:      { fallbacks: ["%locale%"] }
    secret:          "%secret%"
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: ~
    form:            ~
    csrf_protection: ~
    validation:      { enable_annotations: true }
    #serializer:      { enable_annotations: true }
    templating:
        engines: ['twig']
        #assets_version: SomeVersionScheme
    default_locale:  "%locale%"
    trusted_hosts:   ~
    trusted_proxies: ~
    session:
        # handler_id set to null will use default session handler from php.ini
        handler_id:  ~
    fragments:       ~
    http_method_override: true
# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
# Doctrine Configuration
doctrine:
    dbal:
        driver:   "%database_driver%"
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
        # if using pdo_sqlite as your database driver:
        #   1. add the path in parameters.yml
        #     e.g. database_path: "%kernel.root_dir%/data/data.db3"
        #   2. Uncomment database_path in parameters.yml.dist
        #   3. Uncomment next line:
        #     path:     "%database_path%"
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        entity_managers:
            default:
                auto_mapping: true
                dql:
                    datetime_functions:
                        Month: Arii\CoreBundle\DQL\Month
                        Year: Arii\CoreBundle\DQL\Year
# Swiftmailer Configuration
swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }
# Configuration FOSUserBundle
fos_user:
    db_driver:     orm                        # Le type de BDD à utiliser, nous utilisons l'ORM Doctrine depuis le début
    firewall_name: main                       # Le nom du firewall duquel on utilisera ces utilisateurs
    user_class:    Arii\UserBundle\Entity\User # La classe de l'entité User que nous venons de définir
#services:
    # Oracle, par défaut nous utilisons mysqli, on commente l'accès aux bases oracle
    #my.listener:
    #    class: Doctrine\DBAL\Event\Listeners\OracleSessionInit
    #    tags:
    #        - { name: doctrine.event_listener, event: postConnect }


Changer les permissions du repertoire web. les répertoires qui contiennent le site web doivent suypporter des écritures.

chown -Rf arii:arii /home/arii/Symfony
find /home/arii -type d -exec chmod 755 {} \;
find /home/arii -type f -exec chmod 644 {} \;


cd /home/arii/Symfony/app/
chmod -Rf 777 ./cache
chmod -Rf 777 ./logs

Création d'un utilisateur Arii

$> php app/console arii:user:create

Exemple de réponse pour créer l'utilisateur "jean" :

Please choose a username:jean
Please choose an email:jean@sosparis.com
Please choose a password:
Please choose a firstname:Jean
Please choose a lastname:Dupond


Attribuer un rôle (ici “Operator”) à l'utilisateur (ici “jean”)

$> php app/console fos:user:promote jean ROLE_OPERATOR

Il faut que vous ayez un adminsitrateur du service, passons Jean Dupond amdinstrateur

$> php app/console fos:user:promote jean ROLE_ADMIN

Ajout des autres bundles

Nous allons installer les modules suivnats : JID, JOC, Admin, Graphviz, Report.

Aller dans le répertoire src de Symfony

$> cd Symfony/src/Arii

Téléchargement des sources :


$> git clone https://github.com/AriiPortal/JIDBundle
$> git clone https://github.com/AriiPortal/JOCBundle
$> git clone https://github.com/AriiPortal/AdminBundle
$> git clone https://github.com/AriiPortal/ReportBundle
$> git clone https://github.com/AriiPortal/GraphvizBundle
$> git clone https://github.com/AriiPortal/DSBundle

Mise à jour du Kernel

$>vi /home/arii/Symfony/app/AppKernel.php

Dans la section bundle ajouter les lignes suivantes :

           new Arii\JIDBundle\AriiJIDBundle(),
           new Arii\JOCBundle\AriiJOCBundle(),
           new Arii\AdminBundle\AriiAdminBundle(),
           new Arii\ReportBundle\AriiReportBundle(),
           new Arii\GraphvizBundle\AriiGraphvizBundle(),
           new Arii\DSBundle\AriiDSBundle(),


Mise à jour du routage :

$> cd config
$> vi routing.yml


# ========================================
# JID Bundle
# ----------------------------------------
arii_jid:
    resource: "@AriiJIDBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# JOC Bundle
# ----------------------------------------
arii_joc:
    resource: "@AriiJOCBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# Admin Bundle
# ----------------------------------------
arii_admin:
    resource: "@AriiAdminBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# Report Bundle
# ----------------------------------------
arii_report:
    resource: "@AriiReportBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# Graphviz Bundle
# ----------------------------------------
arii_graphviz:
    resource: "@AriiGraphvizBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp
# ========================================
# DS Bundle
# ----------------------------------------
arii_ds:
    resource: "@AriiDSBundle/Resources/config/routing.yml"
    prefix:   /home/{_locale}
    requirements:
        _locale: en|fr|es|de|cn|ar|ru|jp


Finaliser Arii

$> php app/SymfonyRequirements.php
$> php app/console doctrine:schema:create
$> php -d memory_limit=-1 app/console cache:clear

Voilà, vous pouvez vous connecter : taper dans votre barre de navigation IP/app.php