Installation

Installation standard

Installation de Dokos sur un serveur Ubuntu 24

Installation sur Ubuntu 24.04

Ce guide a été testé sur Ubuntu 24.04. Si une erreur se produit lors de l'installation, n'hésitez pas à poster un message sur le forum de la communauté. Ce guide d'installation existe aussi pour Ubuntu 22.

Pré-requis

Le serveur Ubuntu doit posséder au moins 4 Go de RAM, 40 Go d'espace disque, ainsi qu'un utilisateur non root avec accès sudo.

Création d'un utilisateur

Si ça n'est pas déjà le cas, par exemple si votre serveur est nouvellement créé, vous devrez créer un utilisateur non-root et lui donner les droits sudo. Ensuite, connectez-vous à votre serveur via SSH avec cet utilisateur.

Commandes pour créer un utilisateur
adduser dokos
usermod -aG sudo dokos
rsync --archive --chown=dokos:dokos ~/.ssh /home/dokos
exit

Ces étapes sont extraites du guide de démarrage Ubuntu par Digital Ocean.

Python (v3.10 à v3.12)

Tout d'abord, vérifiez que Python 3.10 ou ultérieur est installé sur votre machine.

python3 --version
# Python 3.12.3

Ensuite, installez pip et venv :

sudo apt-get update -y
sudo apt-get install -y python3-pip python3-venv

Git, Redis et wkhtmltopdf

Ensuite, installez les paquets suivants :

# Mise à jour des dépôts
sudo apt-get install -y git redis-server ca-certificates file
sudo apt-get install -y xvfb libfontconfig wkhtmltopdf
wkhtmltopdf est utilisé pour produire des documents PDF depuis Dodock/Dokos. Il s'agit de la version 0.12.6 with patched qt.

MariaDB (v10.8 ou ultérieur)

sudo apt-get install -y mariadb-server mariadb-client

Pendant l'installation, vous devrez choisir un mot de passe pour l'utilisateur root pour votre base de données. Ce dernier doit être précieusement conservé, il vous sera demandé lors de la création de chaque site et pour certaines opérations de maintenance.

Pour le configurer ou le modifier, vous pouvez lancer la commande suivante :

sudo mariadb-secure-installation
# > Enter current password for root (enter for none):
# Laissez vide et appuyez sur Entrée à la première question.

# > Switch to unix_socket authentication [Y/n] n
# Répondre non (n) à la question, car nous utiliserons l'authentification par mot de passe.

# > Set root password? [Y/n] Y
# Répondre oui (Y), puis entrer un mot de passe sécurisé pour l'utilisateur `root` de la base de données.
# Ce mot de passe sera demandé à chaque création de site, ainsi que lors ce certaines opérations de maintenance.

# Ensuite, répondre oui (Y) à toutes les questions suivantes.
# > Remove anonymous users? [Y/n] Y
# > Disallow root login remotely? [Y/n] Y
# > Remove test database and access to it? [Y/n] Y
# > Reload privilege tables now? [Y/n] Y

Vérifiez que vous pouvez vous connecter à la base de données avec le mot de passe que vous avez défini :

mysql -u root -p
# Pour quitter la console, tapez `exit`

NodeJS (v20 ou ultérieur) et yarn

Vous pouvez installer NodeJS via nvm ou le gestionnaire de paquets de votre distribution.

curl -o - https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
. "$HOME/.nvm/nvm.sh"
nvm install 20
npm install -g yarn

# Créez un lien symbolique pour que NodeJS soit accessible facilement à tous les utilisateurs
sudo ln -s $(which node) /usr/bin/

Vérifiez que NodeJS a bien été installé

node -v
# v20.x.y

Dokos CLI

Dokos CLI est une ligne de commande, adaptée de Bench, permettant de gérer vos sites et applications Dodock. Vous pouvez l'installer grâce à pip.

export PATH=$PATH:$HOME/.local/bin
printf '\n%s\n' 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
pip install --user --upgrade --quiet --break-system-packages dokos-cli

Ensuite, vérifiez que Dokos CLI a bien été installée :

bench --version
# 2.8.1
Si la commande bench n'est pas trouvée, relancez votre terminal pour que les modifications de votre variable d'environnement PATH soient prises en compte. En dernier recours, vous pouvez aussi ajouter la ligne export PATH=$PATH:$HOME/.local/bin à votre fichier ~/.bashrc.

Démarrage du serveur et installation d'un site

Création d'un bench

Un bench est un ensemble de sites et d'applications, et se crée avec les commandes suivantes :

cd  # Retournez dans votre dossier personnel
bench init dokos-bench --version v4
cd dokos-bench

Ensuite, téléchargez les applications que vous souhaitez installer sur vos sites. Nous vous recommandons les applications suivantes pour démarrer, mais beaucoup d'autres applications sont disponibles

# Téléchargez les applications de base
bench get-app --branch v4 payments
bench get-app --branch v4 dokos
bench get-app --branch v4 webshop
bench get-app --branch v4 hrms

Démarrage du serveur

Vérifiez que vous êtes bien dans le bench que vous venez de créez puis lancez les commandes suivantes pour activer le mode production de Dokos.

sudo mkdir -p /root/.config/pip
printf "[global]\nbreak-system-packages = true\n" | sudo tee -a /root/.config/pip/pip.conf
sudo python3 -m pip install -U -q dokos-cli
sudo -H bench setup production $USER
Pour les développeurs
# Pour les développeurs, vous pouvez activer le `developer_mode` pour voir les modifications en temps réel
# Dans un nouveau terminal, lancez le serveur de développement
bench start

# Retournez dans le terminal précédent puis activez le mode développeur
bench --site monsite.dokos.cloud set-config developer_mode 1

Création d'un site

Créez votre site et installez les applications dont vous avez besoin.

# Créez un site (remplacez `monsite.dokos.cloud` par le nom de domaine de votre choix)
bench new-site monsite.dokos.cloud

# Installez les applications dont vous avez besoin
bench --site monsite.dokos.cloud install-app payments dokos webshop hrms
Si une erreur se produit lors de l'installation, n'hésitez pas à poster un message sur le forum.

Finaliser l'installation

Par défaut, Nginx accède aux fichiers de votre site en tant qu'utilisateur www-data à l'aide d'un lien symbolique. Pour que cela fonctionne, vous devez donner à Nginx le droit de traverser votre dossier utilisateur et suivre le lien symbolique.

setfacl --modify user:www-data:x ~

Une fois le site créé, vous pouvez vous connecter et accéder à l'interface d'administration avec l'une des adresses suivantes :

Utilisez les identifiants suivants :

  • Adresse email : Administrator
  • Mot de passe : le mot de passe que vous avez choisi lors de la création du site.

Suivez les instructions du « Setup Wizard », l'outil d'installation de Dokos, pour finaliser l'installation.

Pour aller plus loin

Pour le rendre accessible depuis l'extérieur, il faut configurer un enregistrement DNS qui pointe vers votre serveur, et configurer Let's Encrypt pour obtenir un certificat SSL.

DNS multi-tenant

Configuration du nom de domaine

Let's Encrypt

Configuration du certificat SSL avec Let's Encrypt

Questions Fréquentes

Le site s'affiche sans mise en forme ni couleurs ?

  • Vérifiez que votre dossier utilisateur serveur est bien accessible pour Nginx.
  • Vous pouvez donner les droits de lecture en lançant chmod +x /home/{votre utilisateur}

CC-BY-SA 3.0