Installation standard
Installation de Dokos sur un serveur Ubuntu 24
Installation sur Ubuntu 24.04
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
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
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 :
- Si vous avez un enregistrement DNS configuré qui pointe vers votre serveur : http://monsite.dokos.cloud.
- Si Dokos est installé sur votre ordinateur directement : http://localhost.
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.
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}