Ces instructions sont également disponibles sur le wiki. Dernière mise à jour : 11 février 2021.
Prérequis à l'installation
Avant de commencer, voici ce qu'il vous faudra sur votre système :
- PHP >= 7.3
d'après les recommandations de Drupal 7, avec les modules suivants (téléchargeables avec la commande
sudo apt-get install php7.3-yourmodule
sur les systèmes basés sur Debian) :mb_string
pgsql
dom
gd
simplexml
xml
zip
curl
est également nécessaire pour les sites de développement et de tests.
- nginx.
- PostgreSQL 9.4.12 ou plus récent.
Configuration de nginx
Tout d'abord, configurez votre reverse proxy pour rendre Drupal accessible.
Voici une configuration nginx fonctionnelle :
server {
listen 80;
listen [::]:80;
root /var/www/yakforms;
index index.html;
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
error_log /var/log/nginx/yakforms.error.log;
access_log /var/log/nginx/yakforms.access.log combined;
location / {
autoindex on ;
autoindex_exact_size off;
try_files $uri index.html /index.php?$query_string;
}
}
Note : il vous faudra ajouter votre configuration SSL à cette configuration nginx pour compléter cette étape. Vous pouvez vérifier votre configuration avec la commande nginx -t
.
C'est tout bon ? Alors vous pouvez passer à l'installation de Drupal !
Étapes d'installation
- Téléchargez Yakforms.
Pour cela, suivez les instructions sur la page dédiée. Une fois extraits, placez les fichiers dans votre dossier accessible par le serveur web (
/var/www/yakforms
si vous avez utilisé le modèle NGINX ci-dessus). - Créez votre base de données. Les instructions sont disponibles en anglais sur le site Drupal.
- Créez votre fichier
settings.php
. Les instructions sont sur la documentation Drupal. - Rendez-vous sur le script d'installation.
Naviguez sur votre site à l'adresse
youryakforms.ex/install.php
. Vous trouverez là les instructions pour mettre en place votre instance. Patientez pendant que tout s'installe, puis... - Renseignez les informations générales de votre site. Vous devez indiquer le nom de votre site, une adresse mail de contact pour l'administrateur⋅ice, et des informations pour le compte d'administration. Vous utiliserez ce dernier pour la gestion du site, donc mémorisez bien le nom d'utilisateur et le mot de passe !
- Validez le formulaire. Cela vous amènera sur la page d'accueil du site. Vous y êtes presque ! Plus que deux choses.
- Activez la feature Yakforms2.
Cliquez sur « Modules » dans la barre d'administration en haut de page (ou rendez-vous directement sur
youryakforms.ex/admin/modules
), trouvez la sectionyakforms_feature
, cochez la case correspondante et enregistrez votre configuration au moyen du bouton en bas de page. - Activez le module Yakforms. Sur le menu « Modules » toujours, activez le module Yakforms de la même manière. Ce module ne doit pas être activé tant que la feature Yakforms ne l'est pas, ne brûlez pas les étapes.
- Activez les modules auxiliaires. Yakforms vient avec deux modules qui apportent des fonctionnalités supplémentaires : Yakforms Share Results et Yakforms Public Results. Il est conseillé de les activer également. Plus d'information ici et ici.
- Créez les pages par défaut (optionnel).
Yakforms fournit des modèles pour les pages d'accueil, les pages d'erreur 404/403, la documentation utilisateur, etc. Pour les générer, rendez-vous sur l'URL
youryakforms.ex/admin/config/system/yakforms
et cliquez sur le bouton "Créez les pages par défaut".
Votre site devrait maintenant être fonctionnel !
Paramètres avancés (optionnels)
Comme Yakforms est basé sur Drupal 7, sa configuration est très facilement modifiable en accédant aux menus d'administration des différents modules.
Parmi les modifications que vous pourriez y apporter, il y a par exemple :
- Cacher les erreurs.
Les erreurs du site, les avertissements et les messages sont par défaut visibles par tous les utilisateurs, mais vous souhaitez peut-être qu'ils ne le soient pas. Pour cela, naviguez à l'adresse
/admin/people/permissions
et désactivez les lignes correspondantes pour les utilisateur⋅ices authentifé⋅es et / ou les utilisateur⋅ices anonymes ("Voir les messages d'erreur", "Voir les messages d'avertissement"). - Changer le répertoire de fichier privé.
Par défaut, les fichiers des utilisateur⋅ices qui ne doivent pas être accessibles publiquement sont stockés dans l'arborescence de fichier du site. Cela peut poser un problème de sécurité : il est conseillé de les placer dans un dossier qui n'est pas directement accessible par Internet. Pour cela, créez un dossier sur votre serveur en dehors de votre racine Yakforms (
/var/www/yakforms
ou autre), puis rendez-vous à l'adresse/admin/config/media/file-system
et renseignez le chemin de ce dossier. Si vous obtenez une erreur, assurez-vous que ce dossier est accessible par l'utilisateur⋅ice du reverse-proxy (www-data
pour nginx), et que ce dossier est accessible en écriture. - Modifier la langue de votre site. Pour installer Yakforms dans une autre langue, suivez ces instructions. (Mais comment participer à la traduction de Yakforms ?)
-
Un profil d'installation Drupal permet simplement d'installer un groupe de module et de thèmes en même temps que Drupal afin de donner tout de suite accès à certains fonctionnalités. Il contient un script d'installation qui s'exécute à l'installation de Drupal, ainsi que toutes les dépendances nécessaires (modules, thèmes). Dans notre cas, nous utilisons le profil
yakforms_org
pour embarquer tous les modules Drupal nécessaires (notamment les modulesWebform
etForm builder
, mais pas que !), ainsi que des thèmes et du contenu statique (images, modèles HTML...) ↩ -
Une
feature
Drupal est une manière de rapidement configurer un site (et tous ses modules) avec des valeurs par défaut. La configuration de Drupal se trouve dans sa base de données, ce qui veut dire qu'avec un nouveau site, il faudrait recommencer toute la configuration. Mais à l'aide d'unefeature
, plus besoin. Yakforms fonctionne avec une uniquefeature
, nommée sobrementyakforms_feature
, qui contient toute la configuration nécessaire pour Yakforms : les vues qui permettent de visualiser des listes de contenu, les permissions associées aux différents rôles... ↩