Yunohost login page on a subdomain / Page de connexion sur un sous-domaine

:uk: Hello to all !

I try to solve a problem to access Yunohost login page when the domain.tld is not the default domain.
So i have my domain.tld with yunohost, and a website on www.domain.tld . I want to make my website the default domain, for visitors who enter only “domain.tld” as the URL address to be redirected to my website and not to the yunohost login page. But when I set www.domain.tld as default, anytime I try to reach domain.tld /yunohost/sso , it brings me back to www.domain.tld /yunohost/sso and I land on a 404 page.

Is there a way to access to the yunohost login page with this configuration, from another subdomain for instance ?


:fr: Bonjour Ă  tous !

J’héberge un site web wordpress avec yunohost, sur le sous-domaine www.domain.tld. Seulement de nombreuses personnes tapent domain.tld dans la barre d’adresse pour y accéder, et se retrouvent sur la page de connexion de Yunohost, ce qui est très déconcertant.
Du coup j’ai voulu mettre mon sous-domaine “www.domain.tld” comme domaine principal, afin que les requêtes sur “domain.tld” soient redirigés vers mon site wordpress.

ÉLAMÉZAMI !! :open_mouth:

Impossible d’accéder à la page de connexion de yunohost ! L’adresse domain.tld/yunohost/sso/ me renvoie vers www.domain.tld/yunohost/sso/. Logique me direz-vous, ben oui mais du coup je fais comment pour me connecter vous répondrais-je.

Je vous rassure, la page admin fonctionne toujours… ce qui est d’ailleurs étrange puisqu’elle a le même type d’adresse : domain.tld/yunohost/admin/

Serait-il possible donc de pouvoir accéder à la page de connexion de l’espace utilisateur, sans avoir domain.tld comme domaine principal ? A l’instar de l’espace administrateur quoi.

Merci d’avance :heart:

I think the app Redirect is what you want. It let you configure a redirection from domain.tld to www.domain.tld

Hi @ljf ,

Do you mean this : https://github.com/YunoHost-Apps/redirect_ynh ?
Because it seems to only add a tile on my panel towards any page I would set. It is quite not my need…

Salut, je me permets de up. Je ne pense pas que ce problème soit insoluble… sûrement une histoire de bien configurer nginx, mais je ne m’y connais pas assez…

Salut!
ljf t’as bien indiqué le bon chemin: l’app Redirect permet de configurer Ngninx pour redirecter faire des redirections. L’ajout d’une icône est purement accessoire, et la redirection sera automatique pour tes utilisateurs.

Donc il te faut bien un domaine www.domain.tld configuré dans ton admin, quand tu configures Redirect:

1 Like

OK, bon du coup j’ai essayé, mais apparemment il y a un conflit avec Wordpress qui est intallé à la racine du sous-domaine en www.

Je sens que je vais devoir le faire a la mano dans le fichier de config nginx… Quelqu’un aurait un tutoriel ? :sweat_smile:

En fait je cherche à avoir le même résultat que pour la page d’admin. Je me demande si la solution n’est pas dans le fichier /etc/nginx/conf.d/yunohost_admin.conf.inc qui est semblerait-il appelé dans les fichiers de configuration de chaque sous-domaine.
Est-ce qu’on pourrait avoir un fichier yunohost_sso.conf.inc qui fonctionne sur le même principe ?

Alors, j’ai progressé un peu.

J’ai créé dans /etc/nginx/conf.d le fichier yunohost_sso.conf.inc avec le code suivant (copie adaptée de yunohost_admin.conf.inc) :

# Avoid the nginx path/alias traversal weakness ( #1037 )
rewrite ^/yunohost/sso$ /yunohost/sso/ permanent;

location /yunohost/sso/ {
    alias /usr/share/ssowat/;
    default_type text/html;
    index access.lua;

    # Short cache on handlebars templates
    location ~* \.(?:ms)$ {
      expires 5m;
      add_header Cache-Control "public";
    }
}

puis j’ai rajouté à www.domain.tld.conf la ligne suivante à la suite des autres include :
include /etc/nginx/conf.d/yunohost_sso.conf.inc;

Maintenant, quand je vais sur www.domain.tld/yunohost/sso/ je me retrouve bien sur la page de login ! :star_struck::muscle::100:

MAIS, je ne peux pas aller plus loin : quand je clique sur le bouton, je reviens sur la même page de login en boucle…

J’ai essayé de rajouter ce qui me semblait être une sorte de redirection dans www.domain.tld.conf pour aider à “avoir le bon chemin vers les pages après le login” (je vous avoue ne pas trop savoir ce que j’ai fait) :

location /yunohost/sso {
        return 301 https://$http_host$request_uri;
    }

Mais ça n’a rien changé. :slightly_frowning_face:

Des idées ?

C’est juste moi qui ai mal lu, pardon @Daz. Je t’ai indiqué pour faire www.robocoop.fr vers robocoop.fr, alors que tu veux l’inverse:

Domaine de redirection : robocoop.fr
Chemin de redirection : /
Emplacement de destination : https://www.robocoop.fr/
(pourquoi tu mettais le /yunohost/sso Ă  cet endroit?!)

Je t’invite à restaurer toute modification faite sur les fichiers nginx avant d’installer Redirect.

Ah oui, c’est une autre façon de résoudre le problème, sans mettre le www en domaine par défaut. Moi j’essayais de rendre le SSO accessible lorsque www.domain.tld était réglé comme domaine par défaut, et donc de renvoyer www.domain.tld/yunohost/sso vers domain.tld/yunohost/sso pour éviter le 404.
Malheureusement, pas possible non plus ^^ :

Je sais pas si il y a beaucoup de risque à réinstaller phpMyAdmin sur un autre sous-domaine ? Ça ne va pas toucher aux base de données en elle-mêmes, si ?

A choisir, je préfére quand même la solution que j’avais commencé à développer, basée sur le comportement de l’interface admin. Ce serait pratique de rajouter ça pour chaque sous-domaine… comme ça plus besoin de se soucier par où j’accède au SSO, c’est possible sur chaque sous-domaine.
Bonne idée ou pas ?

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.