Tuto - Yunohost et sous-domaine

Il faut avoir un nom de domaine par exemple mon domaine.fr et créer au niveau de la configuration DNS (chez Gandi par exemple) des sous domaines.

Configuration chez Gandi

Dans la configuation de son DNS, on aura donc une entrée A avec l’adresse IPv4, une entrée AAAA avec l’adresse IPv6 et ensuite différents CNAME pour le sous-domaines que l’on souhaite créer.

Nom Type Valeur
@         A         XYZ.XYZ.XYZ.XYZ
@         AAAA        1234:1234:1234:FFAA:FFAA:FFAA:FFAA:AAFF
*         CNAME         mondomaine.fr.
agenda         CNAME         mondomaine.fr.
blog         CNAME         mondomaine.fr.
rss         CNAME         mondomaine.fr.
...

permet d’avoir un agenda.mondomaine.fr, un blog.mondomaine.fr etc…

Installer une application sur un sous-domaine

Pour installer une application sur un sous domaine, par exemple blog.mondomaine.fr, dans Yunohost, tout ce fait via la partie administration. On ajoute tout d’abord le sous-domaine à la liste des domaines disponibles. La création d’un sous-domaine dans Yunohost créera les fichiers de configuration correspondant pour nginx (le serveur web de Yunohost).

Puis dans la partie installation d’une application, on installe l’application de façon traditionnelle en en choisissant ce sous-domaine comme domaine (par exemple blog.mondomaine.fr) et en indiquant comme chemin “/” (et non /wordpress qui sera le chemin par défaut). On a alors un message d’avertissement indiquant qu’on ne pourra pas mettre d’autres applications sur ce sous-domaine. On valide. Ca s’installe. L’application est alors accessible via blog.mondomaine.fr (et non via mondomaine.fr/wordpress)

Déplacer une application sur un sous domaine ?

Que ce passe-t-il si on a déjà installer l’application ? On veut par exemple passer de mondomaine.fr/wordpress à blog.mondomaine.fr.Pour l’instant il n’y a pas de façon simple (via l’interface graphique de l’administration de Yunohost) pour déplacer une application sur un sous-domaine.

Deux solutions :

  • la réinstallation de l’application
  • le déplacement de l’application

Réinstallation de l’application

On sauvegarde ses données (base de données etc. via un script sql par exemple, les fichiers etc.). On désinstalle l’application via l’interface graphique d’administration de Yunohost. Et on la réinstalle en suivant la procédure ci-dessus.

Attention à la réinstallation Attention toutefois à bien vérifier que l’application a été packagée pour la version 2.4 de Yunohost sinon on ne peut plus la réinstaller. J’ai par exemple rencontré le problème avec SPIP. Installé en 2.2 sur mondomaine.fr/spip, j’ai voulu le réinstaller sur blog.mondomaine.fr Or SPIP n’est actuellement pas packagé pour Yunohost 2.4 (et entre temps j’étais passé de 2.2 en 2.4)

Déplacer l’application déjà installée

Là c’est un peu plus technique. Il faut aller en ligne de commande pour déplacer le fichier monappli.conf. Et donc comprendre ces lignes, savoir regarder des logs de nginx (si on a une erreur…)

On déplace le fichier automatiquement créer pour nginx à l’installation du dossier correspondant au domaine dans le dossier correspondant au sous-domaine
mv /etc/nginx/conf/mondomaine.d/monappli.conf /etc/nginx/conf/blog.mondomaine.d/

On édite le fichier de configuation déplacé
nano /etc/nginx/conf/blog.mondomaine.d/monappli.conf

Et on change la ligne location
"location /wordpress" devient juste "location /"
vu qu’on est à la racine du sous-domaine.

On redémarre nginx
sudo service restart nginx

Si ça marche, on a l’application avec toutes ses données (la base de données et les fichiers dans /var/wwww/wordpress n’ont pas été modifiés).

Let’s encrypt

Si on utilise comme moi let’s encrypt, il faut penser à refaire la procédure de génération des certificats pour ce sous-domaine… Je pars du principe que vous avez suivi la procédure How to : Install Let’s Encrypt certificates que vous l’avez comprise et connaissez l’administration système (je ne détaille pas)

C’est pareil que pour le domaine mais avec le sous-domaine, à faire pour chaque sous-domaine que l’on veut (il n’y a pas, à ma connaissance de certificat wildcard *.mondomaine.fr avec let’s encrypt)

root@yunohost:~/letsencrypt# ./letsencrypt-auto certonly --config /etc/letsencrypt/conf.ini blog.mondomaine.fr

Ce qui génère les certificats. Et on fait comme pour le domaine, mais pour le sous-domaine :

root@yunohost:/etc/yunohost/certs/blog.mondomaine.fr# ln -s /etc/letsencrypt/live/blog.mondomaine.fr/fullchain.pem ./crt.pem
root@yunohost:/etc/yunohost/certs/blog.mondomaine.fr# ln -s /etc/letsencrypt/live/blog.mondomaine.fr/privkey.pem ./key.pem

service nginx restart

Conclusion

Voilà j’espère que ce sera utile. Si vous avez des questions ou besoin de précisions, commentez et j’ajouterai dans l’article avant de mettre tout ça dans la documentation officielle de Yunohost.

5 Likes

Il n’y pas conseillé de déplacer une application sans modifier les settings, que l’on doit trouver dans /etc/yunohost/apps/<my_app>/settings.yml, et encore, je ne garanti pas le bon fonctionnement.

Petite question: comment fait-on lorsque l’on a pris un domaine en nohost.me ?

Exemple un domaine: tatalolo.nohost.me.
Et l’espoir d’avoir un sous-domaine: fleurs.tatalolo.nohost.me

Comment faut-il procéder pour avoir ce sous-domaine ?

Nohost.me ne permet que d’avoir un domaine du type Pseudo.nohost.me, ce qui est déjà un sous-domaine. On ne peut donc pas avoir un sous-sous-domaine comme fleurs.tatalolo.nohost.me.
Il faut avoir son propre nom de domaine, (10/15 euros par an selon l’extension) que l’on louera chez gandi.fr par exemple (ce que j’ai fait).

Il y a ovh également avec un nom de domaine à 99cent pour 1ans.

Merci pour les explications. C’est clair. . Mais si je prends un nom de domaine chez un fournisseur, l’installation de l’application se fait bien sur mon serveur Yunhost. ou sur le serveur du fournisseur ? Désole je suis novice
Merci par avance

Un nom de domaine c’est juste un nom, pas un serveur (un peu comme si tu déposais un nom de société pour dire “J’achète le nom Société Bidule et je dis qu’elle habite 35 rue du moulin” … mais le fait de déposer un nom de signifie pas acheter le local à l’adresse indiqué, c’est à toi de faire la démarche en plus de faire l’achat immobilier …)

Bref, le “fournisseur de nom de domaine” (qu’on apelle aussi registrar) te vends juste un nom. Ceci dit, des registrars comme OVH peuvent aussi te proposer d’acheter le serveur chez eux … Mais tu peux aussi avoir le serveur ailleur … Mais dans tout les cas le serveur que tu achètes devient “ton” serveur et il n’y a pas vraiment de concept de “le serveur de mon registrar”. Du coup ta question sonne un peu comme “si je déclare mon entreprise à l’Insee, est-ce que dois installer mon bureau à l’Insee aussi ?”

(Chépa si c’est clair :sweat_smile:)

1 Like

Merci Aleks, c’est très clair. Mais maintenant si je veux utiliser des applications sous Yunohost qui ne fonctionnent que sur un domaine ou sous domaine spécifique.
Il faut un autre domaine que j’achète chez un fournisseur (ex monsite;fr
), je peux y créer un sous domaine pour mon application (ex : application;monsite;fr).
Je peux “rattacher” (je ne sais pas si c’est le terme) dans yunohost mon domaine (ou sous domaine ?).
Lors de l’installation de l’application dans ma console Yunohost (monyunohost;ynh;fr qui est sur un serveur chez moi), je mets l’adresse application.monsite;fr dans la configuration de l’appli. Ma question est la suivante :

  • les paquets de l’appli vont être installés où ?
  • je dois acheter une solution d’hébergement car les paquets seront installés sur le serveur

Je suis désolé si je suis un peu lourd mais je bidouille un peu et tout n’est pas clair.

Question subsidiaire : OVH propose d’acheter un nom de domaine pour 1,29€, c’est bien que l’adresse et Gandi pour 12€. C’est bien le même service ? je ne vois pas les différences si ce n’est le certificat SSL chez Gandi.

PS désolé pour les ; dans les URL mais sinon je ne pouvais pas publier

Pas de soucis c’est clairement pas évident

En gros il n’y a pas de soucis à avoir plusieurs (voir “plein”) de domaines différents pour un même serveur et Yunohost est prévu pour ça. Tu peux tout à fait avoir (sur le même serveur) :

En l’état, Yunohost gère ça comme des domaines indépendants. Il te faudra donc ajouter chacun d’entre eux comme un domaine à part entière. Par contre pour la conf DNS, c’est à toi de l’ajouter chez ton registrar et de tenir compte du fait que, par exemple, pouet.coucou.com est un sous-domaine de coucou.com. (D’ailleurs la recommendation DNS de Yunohost est un peu bancale à ce niveau car elle ne prends pas en compte cette notion de sous-domaine mais bref…)

(Bon, on pourrait parler du faire que le mail multi-domaine est un peu plus galère sur certains détails)

Dans tous les cas, ce que tu installes via l’interface d’admin qui tourne sur ton serveur est installé sur ton serveur. Même si tu demande d’installer l’app sur coucou.com en étant connecté depuis domain1.ynh.fr … En fait, dans l’absolu, tu pourrais ajouter “google.com” comme domaine sur ton serveur, et dire d’installer une app sur google.com et ça marcherait … C’est juste que au niveau du DNS, je doute que tu arrives à faire pointer google.com vers ton serveur :stuck_out_tongue_winking_eye: (Mais tu pourrais bricoler ton /etc/hosts, mais je digresse…)

Hmmmm probablement oui, il faudrait regarder les détails mais oui, ça ne m’étonne pas trop que des registrars différents proposent des pris différents pour un même domaine, c’est un peu de la spéculation toussa.

Pas de soucis ça ne gène pas la lecture, déso pour les mesures antispam un peu trop rudes

1 Like

Un grand merci pour ta patience et tes explications, j’y vois plus clairs. Ca me permettra d’avancer dans mes recherches.

Bonjour,

Merci pour le tuto!

Maj: La fonction de transfert vers un sous domain est aujourd’hui dispo via UI par le menu app>changer l’url. Cela fonctionne globalement bien.

Comment configurer un certificat let’s encrypt avec un sous domain perso. J’ai essayé de suivre (en adaptant) ce qui est décrit mais sans succès :

  1. Configurer une entrée cname chez ovh (music.mondomain.fr)
  2. Créer ce site domain dans yunohost
  3. Tenter de générer le certificat via UI mais la function n’est pas accessible

Ce domaine ne semble pas prêt pour installer un certificat Let’s Encrypt. Veuillez vérifier votre configuration DNS et l’accessibilité HTTP de votre serveur. Les sections ‘enregistrement DNS’ et ‘Web’ dans la page de diagnostic peuvent vous aider à comprendre ce qui est mal configuré.

  1. Essayer yunohost domain cert-install music.mondomaine.fr mais bloqué aussi

Error: Domain music.mondomain.fr does not seem to be accessible through HTTP. Please check the ‘Web’ category in the diagnosis for more info. (If you know what you are doing, use ‘–no-checks’ to turn off those checks.)

EDIT : yunohost domain cert-install music.mondomaine.fr --no-checks m’a permis d’installer mon certificat

Merci pour le tuto, cela correspond à mes attentes et à mon besoin :ok_hand:
A bientôt.

Question/problème sur le reverse dns en lien avec les sous-domaines

Bonjour et merci de ces échanges.

Avec un host ip v4 , je ne pointe pas sur mon domaine mais toujours sur l’un de mes sous-domaines (j’ai l’impression qu’il est choisi au hasard car quand je retire ce sous-domaine, un autre prend la place).
Pourtant, dans mon interface OVH, j’ai bien indiqué mon domaine en reverse DNS (et pas un sous-domaine) !

La même chose avec host en ip v6 (cela n’a pas été toujours le cas !)

À noter que j’ai mis un blog WP en domaine par défaut (pas un sous-domaine !).

Merci d’un retour pour que mon rDNS pointe bien sur le nom de domaine principal déclaré dans mon VPS OVH.

Amicalement, José