Outils pour utilisateurs

Outils du site


installation_de_decidim_sur_un_serveur_ubuntu_22.04

Installation de Decidim sur un serveur Ubuntu 22.04

Ces instructions devraient fonctionner sur n'importe quelle installation propre d'Ubuntu 22.04. Mais je promets rien! J'ai essayé de lister chaque difficultés que j'ai rencontré dans ce parcours du combattant donc j'espère que cela sera exhaustif.

Des bases saines

Tout d'abord, mettons notre système à jour :

sudo apt update
sudo apt upgrade
sudo apt autoremove

Maintenant, configurez le bon fuseau horaire pour votre serveur :

sudo dpkg-reconfigure tzdata

Ensuite, installons quelques paquets nécessaires :

sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev

Installons ruby, en utilisant la méthode rbenv.

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

Puis installons ruby-build pour simplifier l'utilisation de différente version de Ruby :

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

Nous allons utiliser la version 3.1.1 pour Decidim 0.28, exécutez ces commandes :

rbenv install 3.1.1
rbenv global 3.1.1

Ensuite, nous devons configurer Gem, le gestionnaire de paquets pour Ruby, après quoi nous serons prêts à installer Decidim.

Pour configurer Gem, exécutez

echo "gem : --no-document" > ~/.gemrc
gem install bundler

Bien, maintenant que nous avons la configuration de base du serveur en place, la prochaine étape est d'installer Decidim.

Installation de Decidim

Decidim utilise Postgresql comme base de données SQL, nous allons donc l'installer. Vous devez quand même installer le paquet libpq-dev afin d'exécuter le générateur Decidim (au cas où vous installeriez Postgresl sur un autre serveur). :

sudo apt install -y postgresql libpq-dev

Nous avons également besoin d'imageMagick:

sudo apt install -y imagemagick libicu-dev

Et aussi de NodeJS en version 18 pour Decidim 0.28, pour me faciliter l'installation de la version voulue j'ai utilisé Nodemanager

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc
nvm install 18

Pour finir on installe Yarn (version 1 ou +, dans les dépôts d'Ubuntu 22.04 c'est une version 0.9x donc on passe par npm)

npm install --global yarn
yarn --version

On passe enfin à Decidim. Installez la gem Decidim (c'est long, c'est normal :-?) :

gem install decidim

Maintenant, lancez le générateur pour créer notre application :

decidim decidim-app

A ce stade, nous avons créé un nouveau dossier dans ~/decidim-app avec notre code. Nous devons maintenant configurer la base de données.

Pour ce faire, nous devons d'abord créer l'utilisateur et le mot de passe dans la base de données :

sudo -u postgres psql -c "CREATE USER decidim_app WITH SUPERUSER CREATEDB NOCREATEROLE PASSWORD 'TonbeaumotDEpasse'"

Choisissez un bon mot de passe comme je l'ai fait :-P

Une fois l'utilisateur créé, il est temps de configurer Decidim pour qu'il utilise ces informations d'identification.

Parce que nous ne voulons pas stocker directement ces données sensibles dans le code lui-même, nous allons utiliser un fichier YAML supplémentaire qui stockera tous les secrets en un seul endroit. Si, à l'avenir, nous voulons créer un dépôt Git avec notre application, nous exclurons ce fichier du contrôle de version.

Afin de traduire ce fichier dans le système de configuration de Decidim, nous allons inclure la gemme Ruby “figaro” dans notre application pour s'en occuper.

Tout d'abord, allons dans le dossier de Decidim :

cd ~/decidim-app

Ensuite, éditons le fichier Gemfile :

nano Gemfile

Nous allons modifier ce fichier pour ajouter une section “production” avec nos gemmes supplémentaires, nous ajoutons cette ligne avant la première déclaration de groupe :

gem "figaro"

Et nous allons créer une autre section de groupe avec les paramètres de production qui installera également quelques gemmes supplémentaires nécessaires plus tard.

Ajoutez à la fin du fichier Gemfile :

group :production do
  gem "passenger"
  gem 'delayed_job_active_record' (enregistrement actif des travaux retardés)
  gem "daemons"
fin

L'ensemble du fichier Gemfile devrait ressembler à ceci : '# frozen_string_literal : true source “https://rubygems.org” ruby RUBY_VERSION gem “decidim”, “0.21.0” # gem “decidim-consultations”, “0.21.0” # gem “decidim-initiatives”, “0.21.0” gem “bootsnap”, “~> 1.4” gem “puma”, “~> 4.3” gem “uglifier”, “~> 4.1” gem “faker”, “~> 1.9” gem “figaro” groupe :development, :test faire gem “byebug”, “~> 11.0”, plate-forme : :mri gem “decidim-dev”, “0.21.0” end groupe :development do gem “letter_opener_web”, “~> 1.3” gem “listen”, “~> 3.1” gem “spring”, “~> 2.0” gem “spring-watcher-listen”, “~> 2.0” gem “web-console”, “~> 3.5” fin groupe :production do gem “passenger” gem “delayed_job_active_record” (enregistrement des tâches actives retardées) gem “daemons” fin'

Après cela, nous devons mettre à jour notre application pour inclure les gemmes supplémentaires, exécutez la commande suivante (dans le dossier de l'application) :

bundle install

Maintenant, il est temps de créer le fichier de configuration avec nos valeurs personnalisées. Nous avons déjà les identifiants de la base de données (nous avons créé l'utilisateur auparavant) et nous avons besoin d'une chaîne aléatoire qui sera utilisée par Decidim pour crypter les cookies et d'autres éléments de sécurité.

Générons une chaîne aléatoire en exécutant la commande rake secret dans le dossier de l'application :

cd ~/decidim-app
rake secret
e2418a1987378e36f18740d25f0360a18099a5caa5d04700ea3336d9fdefadc5362dc885a7a15f671e81f7d77bc98fa4d8abfd048f829a78d7ffd33cd8b4b287

Copiez la chaîne générée et créez un nouveau fichier de configuration :

nano ~/decidim-app/config/application.yml

Collez à l'intérieur ce contenu :

DATABASE_URL : postgres://decidim_app:Password1@localhost/decidim_prod

SECRET_KEY_BASE:   e2418a1987378e36f18740d25f0360a18099a5caa5d04700ea3336d9fdefadc5362dc885a7a15f671e81f7d77bc98fa4d8abfd048f829a78d7ffd33cd8b4b287

Maintenant, par sécurité, incluez ce fichier dans le fichier .gitignore, au cas où vous voudriez utiliser GIT pour gérer votre application.

Exécutez simplement

echo "/config/application.yml" >> ~/decidim-app/.gitignore

Notes : J'ai nommé ma base de données decidim_prod, changez cette valeur pour ce que vous voulez pour votre application decidim. Attention, la ligne avec le mot clé SECRET_KEY_BASE n'est qu'une ligne et vous DEVEZ mettre votre propre secret généré (celui généré avec la commande rake secret) 👉 Passer pro (optionnel) : Il est maintenant temps d'initialiser votre installation en tant que dépôt GIT. Cela permettra de garder une trace de vos changements et de les revenir si quelque chose ne va pas. C'est optionnel, il vous suffit d'exécuter : cd ~/decidim-app git init . git commit -m “Initial commit. Généré avec Decidim 0.X https://decidim.org” tt

installation_de_decidim_sur_un_serveur_ubuntu_22.04.txt · Dernière modification : 2024/07/14 15:02 de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki