fr:guides:installation-on-mageia-6

Installer Ekylibre v2 sous Mageia 6

L'installation d'Ekylibre en local est à destination des développeurs et non à une mise en production.

Cette procédure pour Mageia 6 est en cours de rédaction. Veuillez ne pas l'utilisez tant que ce message/bandeau n'a pas été retiré.

La procédure ci-dessous a été testé avec succès pour Ekylibre 2.XX.XX (0x/201x)

su - root
urpmi imagemagick graphicsmagick tesseract tesseract-ara tesseract-eng tesseract-fra tesseract-jpn tesseract-spa libreoffice poppler poppler-data ghostscript ghostscript-common java-1.8.0-openjdk lib64icu58 redis postgis postgresql9.6-contrib postgresql9.6-server lib64curl-devel lib64geos-devel lib64proj-devel lib64pq5 lib64xml2-devel lib64xslt-devel lib64zlib-devel lib64icu-devel lib64qtwebkit2.2-devel java-1.8.0-openjdk-devel postgresql9.6-devel qtbase5-common-devel lib64qt5webkit-devel lib64qt5webkitwidgets-devel
exit

Note 1 : le logiciel pdftk n'est plus fournie avec Mageia 6, il faudra l'installer manuellement en le compilant. L'installation via un paquet pdftk-2.02-1.mga5.x86_64.rpm prévu pour Mageia 5 ne fonctionne pas : le paquet lib64gcj fournit /usr/lib64/libgcj.so.16 mais pdftk veut /usr/lib64/libgcj.so.15. En créant un lien symbolique nommé libgcj.so.15 vers libgcj.so.16, lors du lancement de pdftk, il y a l'erreur “libgcj failure: gcj linkage error. Incorrect library ABI version detected. Aborting. ”

Note 2 : Mageia 6 est fournie avec Postgis 2.2 qui fonctionne avec PostgreSQL 9.6 même si ce n'est pas recommandé (http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS).

Note 3 : si vous êtes avec Mageia 5 32bits, remplacer lib64xxx par libxxx.

su - root
urpmi gcc gcc-c++ gcc-java lib64gcj16 lib64gcj-devel fastjar unzip wget
wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip
unzip pdftk-2.02-src.zip
cd pdftk-2.02-dist/pdftk

Editez le fichier Makefile.Redhat puis

a) remplacez les lignes

export VERSUFF=

export CXX= $(TOOLPATH)g++$(VERSUFF)

export GCJ= $(TOOLPATH)gcj$(VERSUFF)

export GCJH= $(TOOLPATH)gcjh$(VERSUFF)

export GJAR= $(TOOLPATH)fastjar$(VERSUFF)

par

export VERSUFF=-5.5.0

export CXX= $(TOOLPATH)g++

export GCJ= $(TOOLPATH)gcj

export GCJH= $(TOOLPATH)gcjh

export GJAR= $(TOOLPATH)fastjar

b) remplacez la ligne

export CXXFLAGS= -Wall -Wextra -Weffc++ -O2

par

export CXXFLAGS= -Wall -Wextra -Weffc++ -O2 -I/usr/include/libgcj$(VERSUFF)/

make -f pdftk/Makefile.Redhat

Problème pour trouver certaines classes Java los de la compilation à corriger.

...
exit

Les versions disponibles de Postgres sous Mageia 6 sont la 9.4 et la 9.6. Ekylibre (version 2.0.0 et ultérieure) a désormais besoin de la 9.5 ou supérieure pour fonctionner.

De plus Ekylibre a besoin de Postgis, or Postgis 2.2 est la seule version disponible sur Mageia 6. Malheureusement l'utilisation Postgis 2.2 n'est pas recommandé avec Postgresl 9.6 et de plus Postgis 2.2 fourni par Mageia a été compilé avec les librairies de Postgresql 9.5. Ce dernier point provoque le non fonctionnement de la création de la base de données d'Ekylibre.

Il faut donc installer Postgresql 9.6 de manière manuelle et ensuite compiler Postgis 2.3 avec cette version de Postgresql.

Sinon lors de l'exécution de la commande

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk rake db:create db:migrate

vous aurez le message d'erreur suivant qui indique que Postgis 2.2 a été compilé avec les librairie de Postgresql 9.5 et non Postgresql 9.6 :

[user@localhost ekylibre (master)]$ JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk rake db:create db:migrate
JAVA_HOME has not been set automatically because it's not Debian here.
W, [2018-03-05T21:35:43.275287 #28034]  WARN -- : [SKYLIGHT] [1.5.0] Running Skylight in development mode. No data will be reported until you deploy your app.
(To disable this message for all local apps, run `skylight disable_dev_warning`.)
rake aborted!
ActiveRecord::StatementInvalid: PG::InternalError: ERROR:  incompatible library "/usr/lib64/postgresql/postgis-2.2.so": version mismatch
DÉTAIL : Server is version 9.6, library is version 9.5.
: CREATE EXTENSION IF NOT EXISTS "postgis" SCHEMA postgis;
/home/user/ekylibre/ekylibre/lib/ekylibre/schema.rb:9:in `setup_extensions'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:14:in `block (2 levels) in <top (required)>'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:19:in `block in <top (required)>'
 
Caused by:
PG::InternalError: ERROR:  incompatible library "/usr/lib64/postgresql/postgis-2.2.so": version mismatch
DÉTAIL : Server is version 9.6, library is version 9.5.
/home/user/ekylibre/ekylibre/lib/ekylibre/schema.rb:9:in `setup_extensions'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:14:in `block (2 levels) in <top (required)>'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:19:in `block in <top (required)>'
Tasks: TOP => db:extensions
(See full trace by running task with --trace)

Arrêter le serveur Postgresql 9.6

Dans le menu de Mageia (en bas à gauche sur KDE), aller dans Outils → Outils système → Centre de Controle de Mageia (MCC).

Dans le panneau gauche du Centre de Controle de Mageia, cliquez sur Système

Cliquez ensuite sur Gérer les services systèmes en les (dés)activant

A la ligne postgresql, cliquez sur le bouton Arrêter

A la ligne postgresql, décochez la case au démarrage si vous ne voulez pas que Postgresql 9.6 redémarre à votre prochain démarrage de Mageia

Installer le serveur Postgresql 9.6

Aller sur la page http://www.enterprisedb.com/products-services-training/pgbindownload et choisissez une version de Postgresql 9.6 ou supérieure et le type de votre système (32 ou 64 bits). Ici la version 9.6.8 en 64 bits est choisie comme exemple : postgresql-9.6.8-1-linux-x64-binaries.tar.gz

Copiez l'archive de postgresql que vous avez télécharger dans le répertoire /opt

su - root
cp /home/user/Documents/postgresql-9.6.8-1-linux-x64-binaries.tar.gz /opt

Décompressez l'archive et mettez les bons droits

cd /opt
tar xzf postgresql-9.6.8-1-linux-x64-binaries.tar.gz 
chown -R root:root pgsql
cd /opt/pgsql
mkdir data
chown -R postgres:postgres data
mkdir backups
chown -R postgres:postgres backups
mkdir log
chown -R postgres:postgres log

Création de la base système de Postgresql

su - postgres
cd /opt/pgsql/bin
./initdb --pgdata=/opt/pgsql/data --encoding=UTF8 --locale=fr_FR.UTF-8
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
 
The database cluster will be initialized with locale "fr_FR.UTF-8".
The default text search configuration will be set to "french".
 
Data page checksums are disabled.
 
fixing permissions on existing directory /opt/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
 
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
 
Success. You can now start the database server using:
 
    ./pg_ctl -D /opt/pgsql/data -l logfile start
 
exit

Lors de la création de la base de données d'Ekylibre, on a le message d'erreur suivant par defaut. Il faudra donc remplcer la librairies zlib fournie par Postgresql 9.6.8 par celle fournie par Mageia.

Message d'erreur :

[user@localhost ekylibre (master)]$ JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk rake db:create db:migrate
JAVA_HOME has not been set automatically because it's not Debian here.
W, [2018-03-05T22:32:28.569593 #7746]  WARN -- : [SKYLIGHT] [1.5.0] Running Skylight in development mode. No data will be reported until you deploy your app.
(To disable this message for all local apps, run `skylight disable_dev_warning`.)
rake aborted!
ActiveRecord::StatementInvalid: PG::InternalError: ERROR:  could not load library "/opt/pgsql/lib/postgresql/rtpostgis-2.3.so": /opt/pgsql/bin/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib64/libpng16.so.16)
: CREATE EXTENSION IF NOT EXISTS "postgis" SCHEMA postgis;
/home/user/ekylibre/ekylibre/lib/ekylibre/schema.rb:9:in `setup_extensions'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:14:in `block (2 levels) in <top (required)>'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:19:in `block in <top (required)>'
Caused by:
PG::InternalError: ERROR:  could not load library "/opt/pgsql/lib/postgresql/rtpostgis-2.3.so": /opt/pgsql/bin/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib64/libpng16.so.16)
/home/user/ekylibre/ekylibre/lib/ekylibre/schema.rb:9:in `setup_extensions'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:14:in `block (2 levels) in <top (required)>'
/home/user/ekylibre/ekylibre/lib/tasks/db/tenanting.rake:19:in `block in <top (required)>'
Tasks: TOP => db:extensions
(See full trace by running task with --trace)
[user@localhost ekylibre (master)]$ 

Correctif :

cd /opt/pgsql/lib/
mv libz.so.1 libz.so.1.ORI
cp -p /usr/lib64/libz.so.1 .
ls -l libz*

Lancement du serveur Postgresql 9.6 ou supérieur

su - postgres
cd /opt/pgsql/bin
[postgres@localhost bin]$./pg_ctl --pgdata=/opt/pgsql/data --log=/opt/pgsql/log/pg-server.log start
server starting

Vérification que le serveur est bien accessible avec l'interpréteur de commande SQL en ligne de commande

[postgres@localhost bin]$ /opt/pgsql/bin/psql
psql.bin (9.6.8)
Type "help" for help.
 
postgres=# \list
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 template0 | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)
 
postgres=# \q
[postgres@localhost bin]$

Installer PostGIS 2.3 requis pour le serveur Postgresql 9.6 ou supérieur

Il va falloir compiler PostGIS pour Postgresql à partir des sources.

Sur la page http://postgis.net/source/ , télécharger le fichier https://download.osgeo.org/postgis/source/postgis-2.3.6.tar.gz

Installer et désinstaller différents paquets RPM :

su - root
urpme postgis
urpmi gdal lib64gdal-devel
exit

Compiler Postgis et l'installer dans /opt pour fonctionner avec Postgresql 9.6

su - root
cd /tmp
cp /home/user/Téléchargements/postgis-2.3.6.tar.gz /tmp
tar xzf postgis-2.3.6.tar.gz
cd postgis-2.3.6
./configure --prefix=/opt/postgis-2.3.6 --with-pgconfig=/opt/pgsql/bin/pg_config
make
make install
exit

Nous vous conseillons fortement d'installer ruby par l'intermédiaire de RBENV (chapitre suivant) afin d'avoir un contrôle plus fin sur votre environnement de travail et les futures migrations.

Il s'agit d'installer l'interpréteur du langage de développement Ruby (nous vous conseillons d'installer Ruby via RBENV)

Plus d'informations sur le langage de développement Ruby : Ruby sur Wikipedia

Avant de commencer, veuillez vérifier que les paquets suivants sont bien installés :

su - root
urpmi git lib64readline-devel
exit

L'interpréteur en version 2.2.3, du langage de développement Ruby, est le minimum requis à partir de la version 2 d'Ekylibre.

Plus d'informations sur le langage de développement Ruby : Ruby sur Wikipedia

Installation impossible avec Mageia actuellement. Il faut donc utiliser la procédure nommée “Installation de Ruby via RBENV” ci-dessous pour installer Ruby sur Mageia.

Il faut Ruby 2.2.3, or Mageia 6 a Ruby 2.2.5 ou supérieur (2.2.8) dans ses dépôts.

* Nous allons installer Ruby via RBENV, ce qui permettra d'évoluer vers les futures versions de Ruby

Note : Utilisez cette installation pour Mageia 6 et prenez la 2.2.3 même si la 2.2.5 est sortie. Le logiciel Ruby s'installera alors dans /home/NOM_DE_VOTRE_COMPTE_UTILISATEUR_LINUX/.rbenv/shims/ruby

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc

Note : Si vous passez par un proxy, il faut remplacer la commande

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

par

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

* Puis nous installons le plugin permettant d'installer les versions de Ruby

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Note : Si vous passez par un proxy, il faut remplacer la commande

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

par

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

* Installons maintenant Ruby 2.2.3:

Utilisez cette installation pour Mageia 5 et prenez la 2.2.3 même si la 2.2.5 est sortie. Le logiciel Ruby s'installera alors dans /home/NOM_DE_VOTRE_COMPTE_UTILISATEUR_LINUX/.rbenv/shims/ruby

rbenv install 2.2.3

Note : Si vous passez par un proxy, il faut remplacer la commande

rbenv install 2.2.3

par

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy rbenv install 2.2.3

* Paramétrons cette version pour tous nos projets

rbenv global 2.2.3
rbenv rehash

* Vérifions enfin que Ruby est bien installé

ruby -v
# Vous devriez avoir un message
> ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

Il faut à cette étape, récupérer les sources depuis Github en clonant le dépôt ekylibre/ekylibre dans le dossier de votre choix aka <dossier>

cd /home/<dossier>
git clone https://github.com/ekylibre/ekylibre.git

Vous devriez avoir un répertoire ekylibre dans <dossier>..

Note : Si vous passez par un proxy, il faut remplacer la commande

git clone https://github.com/ekylibre/ekylibre.git

par

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy git clone https://github.com/ekylibre/ekylibre.git

Créer un utilisateur (ekylibre par exemple) qui a accès à votre serveur de base de données Postgresql

Utilisation de l'environnement système du compte postgres :

su - root
[root@localhost ~]# su - postgres

Création d'un nouveau rôle PostgreSQL nommé ekylibre.

[postgres@localhost ~]$ createuser -d -P -s ekylibre
Enter password for new role: ekylibre
Enter it again: ekylibre

Attention de bien retenir le mot de passe vous avez renseigné lors de la création de l'utilisateur, car il vous sera demandé par la suite pour la configuration de la base de données.

Utilisation de la console Postgresql pour passer une commande SQL de changement de role pour que votre utilisateur puisse créer des schémas

[postgres@localhost ~]$ psql
psql (9.6.7)
Type "help" for help.
 
postgres=# ALTER USER ekylibre SUPERUSER;
ALTER ROLE

Sortie de la console Postgresql

postgres-# \q
[postgres@localhost ~]$ exit
exit

Renseigner votre configuration de base de données dans le fichier config/database.yml au sein du répertoire du projet ekylibre

Pour créer ce fichier par copie, vous pouvez copier le fichier modèle nommé “config/database.yml.sample” qui est dans le répertoire du projet Ekylibre (récupéré via git) vers un nouveau fichier nommé config/database.yml dans ce même répertoire nommé “config”. Ainsi le fichier modèle d'origine nommé “config/database.yml.sample” est conservé et un nouveau fichier nommé config/database.yml est créé avec une configuration de base et servira à la production/developpement/test après adaptation à l'environnement de votre serveur (identifiant, mot de passe, port et IP du serveur, etc …)

cd /home/projects/ekylibre
cp config/database.yml.sample config/database.yml

Remplacer xxxxxxxx par votre utilisateur et yyyyyyyy par son mot de passe

Bien penser à décommenter la ligne du host: 127.0.0.1

config/database.yml
# PostgreSQL. Versions 8.2 and up are supported.
#
# Install the pg driver:
#   gem install pg
# On OS X with Homebrew:
#   gem install pg -- --with-pg-config=/usr/local/bin/pg_config
# On OS X with MacPorts:
#   gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
# On Windows:
#   gem install pg
#       Choose the win32 build.
#       Install PostgreSQL and put its /bin directory on your path.
#
# Configure Using Gemfile
# gem 'pg'
# gem 'activerecord-postgis-adapter'
#
default: &default
  adapter: postgis
  encoding: unicode
  # For details on connection pooling, see rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 5
  postgis_extension: []
 
  # Schema search path. The server defaults to $user,public
  schema_search_path: public,postgis
 
  # The specified database role being used to connect to postgres.
  # To create additional roles in postgres see `$ createuser --help`.
  # When left blank, postgres will use the default role. This is
  # the same name as the operating system user that initialized the database.
  username: xxxxxxxx
 
  # The password associated with the postgres role (username).
  password: yyyyyyyy
 
  # Connect on a TCP socket. Omitted by default since the client uses a
  # domain socket that doesn't need configuration. Windows does not have
  # domain sockets, so uncomment these lines.
  host: 127.0.0.1
 
development:
  <<: *default
  database: ekylibre_development
 
  # The TCP port the server listens on. Defaults to 5432.
  # If your server runs on a different port number, change accordingly.
  #port: 5432
 
  # Minimum log levels, in increasing order:
  #   debug5, debug4, debug3, debug2, debug1,
  #   log, notice, warning, error, fatal, and panic
  # Defaults to warning.
  #min_messages: notice
 
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: ekylibre_test
 
# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default
  database: ekylibre_production
  username: ekylibre
  password: <%= ENV['EKYLIBRE_DATABASE_PASSWORD'] %>

Attention, selon votre système JAVA n'est pas forcément installer dans /usr/lib/jvm/java-7-openjdk.

Informations sur le gestionnaire de paquets RubyGems sur Wikipedia.

Se placer dans le répertoire Ekylibre et installer bundler et les gems.

Vérifier que le fichier/lien symbolique /usr/lib/jvm/java-1.8.0-openjdk existe via la commande ls.

cd /path/to/ekylibre
gem install bundler
export QMAKE=/usr/lib64/qt5/bin/qmake
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install

Si vous passez par un proxy pour accéder à l'Internet, alors il faut l'indiquer dans les lignes de commande comme cela :

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy gem install bundler
https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install

Note : Si vous avez une erreur du genre 'Gem::Ext::BuildError: ERROR: Failed to build gem native extension.' pendant l'exécution de la commande … bundle install, alors relancer cette commande et si cela ne marche pas tentez de retirer le paramètre https_proxy=http://ip_ou_nom_hote_proxy:port_proxy de votre ligne de commande si vous l'avez utilisé.

Note2 : En utilisant un proxy, si vous avez une erreur du genre concernant ofx parser

 Fetching git://github.com/lcoq/ofx-parser.git
 fatal: unable to connect to github.com:
 github.com[0: 192.xx.xx.xx]: errno=Connexion terminée par expiration du délai d'attente

alors pour corriger le problème, il faut modifier une ligne dans le fichier Gemfile dans le répertoire racine d'Ekylibre, remplacer la ligne:

 gem 'ofx-parser', github: 'lcoq/ofx-parser', branch: 'master'

par

 gem 'ofx-parser', git: 'https://github.com/lcoq/ofx-parser.git', branch: 'master'
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk RAILS_ENV=development rake db:create db:migrate

Le JAVA_HOME est précisé dans la commande sinon un message d'alerte 'JAVA_HOME has not been set automatically because it's not Debian here.' est renvoyé par le logiciel.

Créer l'instance de démonstration qui sert lors du développement et des recettes.

Récupérer les données de démonstration

cd home/.../ekylibre/db
mkdir first_runs
cd first_runs
git clone https://github.com/ekylibre/first_run-demo.git demo

Note la création du répertoire first_runs dans le répertoire db à la racine d'ekylibre est nécessaire sinon vous aurez le message d'erreur suivant : rake aborted! Errno::ENOENT: Aucun fichier ou dossier de ce type @ rb_sysopen - /home/user/ekylibre/db/first_runs/demo/manifest.yml /home/user/ekylibre/lib/ekylibre/first_run.rb:46:in `launch'

Note : Si vous passez par un proxy pour accéder à l'Internet, alors il faut l'indiquer dans les lignes de commande comme cela :

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy git clone https://github.com/ekylibre/first_run-demo.git demo

Mettez vous dans le bon répertoire, lancer la création de l'instance de démonstration et le chargement des données liées en précisant une limite.

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk RAILS_ENV=development rake first_run name=demo folder=demo max=80

Note : Si vous passez par un proxy pour accéder à l'Internet, alors il faut l'indiquer dans les lignes de commande comme cela :

https_proxy=http://ip_ou_nom_hote_proxy:port_proxy http_proxy=ip_ou_nom_hote_proxy:port_proxy JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk RAILS_ENV=development rake first_run name=demo folder=demo max=80

Note : Si vous avez une erreur indiquant que le schema demo existe deja dans Postgresql en lançant la commande 'rake first_run name=demo folder=demo max=80', alors il faudra supprimer les 2 bases existantes. Exemple sur Mageia :

[user@localhost ~]$ su - root
Mot de passe : 
[root@localhost ~]# su - postgres
[postgres@localhost ~]$ psql
psql (9.4.6)
Type "help" for help.
 
postgres=# \dn
  List of schemas
  Name  |  Owner   
--------+----------
 public | postgres
(1 row)
 
postgres=# \l
                                       List of databases
         Name         |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
----------------------+----------+----------+-------------+-------------+-----------------------
 ekylibre_development | ekylibre | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 ekylibre_test        | ekylibre | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 postgres             | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 template0            | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres          +
                      |          |          |             |             | postgres=CTc/postgres
 template1            | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres          +
                      |          |          |             |             | postgres=CTc/postgres
(5 rows)
 
postgres=# drop database ekylibre_development;
DROP DATABASE
postgres=# drop database ekylibre_test;
DROP DATABASE
postgres=# \q
[postgres@localhost ~]$ exit
logout
[root@localhost ~]# exit
déconnexion

Pour supprimer l'utilisateur ekylibre, ce sera : postgres=# DROP USER IF EXISTS ekylibre; et \du pour lister les utilisateurs/roles

Modifier votre fichier hosts pour ajouter l'url de l'instance (demo.ekylibre.lan par exemple)

sudo pluma /etc/hosts
/etc/hosts
127.0.0.1	localhost demo.ekylibre.lan
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Concernant le first run de démo les identifiants sont les suivants :

identifiant : admin@ekylibre.org

mot de passe : 12345678

Ils sont définis dans le fichier /home/…/ekylibre/db/first_runs/demo/manifest.yml

Lancer votre serveur (en étant dans le répertoire du projet ekylibre)

cd home/.../ekylibre
foreman s

Le serveur Ruby sera totalement lancé lorsque vous verrez des lignes qui ressemblent aux lignes suivantes dans votre console/terminal :

12:46:56 job.1  | 2016-08-16T12:46:56.101Z 5480 TID-gqo7ybwyg INFO: Running in ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
 12:46:56 job.1  | 2016-08-16T12:46:56.101Z 5480 TID-gqo7ybwyg INFO: See LICENSE and the LGPL-3.0 for licensing details.
 12:46:56 job.1  | 2016-08-16T12:46:56.101Z 5480 TID-gqo7ybwyg INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org
 12:46:56 job.1  | 2016-08-16T12:46:56.223Z 5480 TID-gqo7ybwyg INFO: Starting processing, hit Ctrl-C to stop

Note: Auparavant “rails s” était utilisé à la place de foreman s

IMPORTANT 1 : Si votre navigateur web utilise un proxy, DESACTIVEZ-LE ! çà empêche l'utilisation du nom d’hôte demo.ekylibre.lan et l'accès à la page d'identification d'Ekylibre.

IMPORTANT 2: Il semblerait que l'authentification sur la version de démo d'Ekylibre ne fonctionne qu'en passant par le nom d’hôte http://demo.ekylibre.lan et NON via http://IP_du_serveur d'Ekylibre.

Lancer votre navigateur (pas internet explorer bien sur qui, comme chacun sait, ne fait pas partie des navigateurs ;) ) et essayer d'accéder à l'URL http://demo.ekylibre.lan:8080. Note : Auparavant l'URL du serveur était sur le port 3000 au lieu de 8080

Vous devriez voir l'écran de connexion d'Ekylibre. Si c'est le cas, c'est gagné ! Il vous reste ensuite à renseigner les informations du compte (identifiant et mot de passe) qui est indiqué ci-dessus.

Pour arrêter le serveur Ruby, appuyez sur les touches CTRL + C dans la console/terminal où vous avez lancé le serveur Ruby d'Ekylibre. L'arret sera effectif lorsque vous verrez des lignes du genre :

12:52:16 job.1  | 2016-08-16T12:52:16.989Z 5480 TID-gqo7ybwyg INFO: Shutting down
12:52:17 job.1  | 2016-08-16T12:52:17.039Z 5480 TID-gqo8qmlrk INFO: Scheduler exiting...
12:52:17 job.1  | 2016-08-16T12:52:17.039Z 5480 TID-gqo7ybwyg INFO: Terminating quiet workers
12:52:17 job.1  | 2016-08-16T12:52:17.039Z 5480 TID-gqo8qnwfk INFO: Scheduler exiting...
12:52:17 system | sending SIGTERM to all processes
12:52:17 job.1  | 2016-08-16T12:52:17.601Z 5480 TID-gqo7ybwyg INFO: Bye!
  • fr/guides/installation-on-mageia-6.txt
  • Dernière modification: 2018/03/07 19:26
  • (modification externe)