diff --git a/README-FR.md b/README-FR.md
index 5876a48e76c4c3475c8ac0f5014a04027578f5e9..1ad3f34ad9adf3c7c3050a69bdc2ba835c22781d 100644
--- a/README-FR.md
+++ b/README-FR.md
@@ -45,6 +45,7 @@ Ces tags sont applicables suivant les rôles.
 |smtp|Tâches liées aux paramètres de relais smtp de Yunohost.|
 |backup|Tâches liées aux sauvegardes de Yunohost.|
 |pkg|Tâches d'installation de paquets.|
+|linux|Tâches liées à l'OS Linux.|
 
 ## License
 
diff --git a/README.md b/README.md
index 1690d7d88bba03e6ae523a6481c122b4039313a1..239c7bc178f074a357f8569aaa889e4343639d90 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,7 @@ These tags are applicable to roles.
 |smtp|Tasks related to Yunohost smtp relay settings.|
 |backup|Tasks related to Yunohost backups.|
 |pkg|Tasks that install packages.|
+|linux|Tasks related to Linux OS.|
 
 ## License
 
diff --git a/roles/ynh_setup/README-FR.md b/roles/ynh_setup/README-FR.md
index 914afacc1d9cc794c79dd9ff56a2b2df0e23730c..2577b6dd71dc819ab41f41013c810a3f29bc0d08 100644
--- a/roles/ynh_setup/README-FR.md
+++ b/roles/ynh_setup/README-FR.md
@@ -19,11 +19,20 @@ Les variables par défaut sont disponibles dans `default/main.yml` cependant il
 ynh_install_script_url: https://install.yunohost.org
 
 ynh_admin_password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
+
+ynh_symlink:
+  enabled: True
+  appdata_dir: "/data/var/"
+  conf_dir: "/data/etc/"
 ```
 
 - `ynh_install_script_url` est le script d'installation des packages Yunohost, par défaut c'est le script officiel. Yunohost ne s'installe que sur Debian 10.
 - `ynh_admin_password` est le mot de passe permettant d'accéder à l’interface d’administration du serveur.
 
+- `ynh_symlink.enabled`: active les liens symboliques. Mettez la valeur à `True`.
+- `ynh_symlink.appdata_dir`: Il s'agit du répertoire où stocker votre lien symbolique vers les applications Yunohost.
+- `ynh_symlink.conf_dir`: Il s'agit du répertoire où stocker votre lien symbolique vers les fichiers de configuration Yunohost.
+
 ### Gestion des domaines
 
 ```yml
diff --git a/roles/ynh_setup/README.md b/roles/ynh_setup/README.md
index 2433777147ad54d8d3b36cc05a6db48881b8f189..3d43b272656f3ede5acc2ae46baa75e2db3161bc 100644
--- a/roles/ynh_setup/README.md
+++ b/roles/ynh_setup/README.md
@@ -24,6 +24,10 @@ ynh_admin_password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
 - `ynh_install_script_url` downloads official Yunohost script for installing Yunohost packages. Yunohost is only available on Debian 10.
 - `ynh_admin_password` is the password used to access to the server's administration interface.
 
+- `ynh_symlink.enabled`: enables symbolic links. Set the value to `True`.
+- `ynh_symlink.appdata_dir`: This is the directory where you store your symbolic link to Yunohost applications.
+- `ynh_symlink.conf_dir`: This is the directory where you store your symbolic link to the Yunohost configuration files.
+
 ### Domain management
 
 ```yml
diff --git a/roles/ynh_setup/defaults/main.yml b/roles/ynh_setup/defaults/main.yml
index 3ccb2e0a8955b2ee0fa7f6fd8cd99066505320de..cf73cb6d9784108b121514dde1d1434d8a26fcb0 100644
--- a/roles/ynh_setup/defaults/main.yml
+++ b/roles/ynh_setup/defaults/main.yml
@@ -23,6 +23,11 @@ ynh_install_script_url: https://install.yunohost.org
 
 ynh_admin_password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
 
+ynh_symlink:
+  enabled: True
+  appdata_dir: "/data/var"
+  conf_dir: "/data/etc/"
+
 # The list of Yunohost domains.
 ynh_main_domain: domain.tld
 ynh_extra_domains: null
diff --git a/roles/ynh_setup/tasks/main.yml b/roles/ynh_setup/tasks/main.yml
index 0fcdbfd412248df9dec05da79b6cda770e7933ca..17c5efd28563d44daff7cc57fe037a97cc732005 100644
--- a/roles/ynh_setup/tasks/main.yml
+++ b/roles/ynh_setup/tasks/main.yml
@@ -26,6 +26,37 @@
     state: present
   tags:
     - pkg
+    - linux
+
+- name: Create apps and config directories
+  ansible.builtin.file:
+    path: "{{ item }}"
+    state: directory
+    mode: 0770
+  loop:
+    - "{{ ynh_symlink.appdata_dir }}"
+    - "{{ ynh_symlink.conf_dir }}"
+  tags:
+    - linux
+  when: ynh_symlink.enabled
+
+- name: Create symbolic link for Yunohost apps data directory
+  ansible.builtin.file:
+    src: /var/www/
+    dest: "{{ ynh_symlink.appdata_dir }}/www_symlink"
+    state: link
+  tags:
+    - linux
+  when: ynh_symlink.enabled
+
+- name: Create symbolic link for Yunohost configuration directory
+  ansible.builtin.file:
+    src: /etc/yunohost/
+    dest: "{{ ynh_symlink.conf_dir }}/yunohost_symlink"
+    state: link
+  tags:
+    - linux
+  when: ynh_symlink.enabled
 
 - name: Test if Yunohost is already installed
   ansible.builtin.stat: path=/etc/yunohost/installed