web-dev-qa-db-fra.com

Utiliser nginx pour héberger roundcube sur le domaine racine, tout en hébergeant phpmyadmin depuis un sous-répertoire

J'ai bien configuré mon domaine pour héberger roundcube au domaine racine, en utilisant root/www/roundcube dans la configuration de vhost, mais lorsque j'essaie d'ajouter un autre emplacement pour phpmyadmin en utilisant root/www/phpmyadmin pour l'emplacement correspondant à la racine que j'ai eu quelques erreurs étranges. J'ai essayé de nombreuses configurations différentes, y compris alias, racine, racine avec réécriture, etc., mais je continue à obtenir soit 404, 403, juste un écran vide (pas de source) ou même me montrant l'installation du roundcube de domain.com/phpmyadmin . Voici un Pastebin de mon fichier vhost dans sa version actuelle, où le sous-répertoire phpmyadmin fonctionne, mais pas le roundcube sur le domaine racine. (Je suis sur mobile en ce moment donc c'était le mieux que je puisse faire)

Qu'est-ce que je fais de mal, ou mieux encore, quelle partie de l'emplacement/de la racine/du pseudonyme ai-je mal compris?

Mon fichier de configuration vhost

1
Greg

Lorsque vous ajoutez un autre paramètre root dans nginx, il le considère comme la racine littérale de cet emplacement spécifique. Par exemple:

location ^~ /phpmyadmin {
    root /www/phpmyadmin;
}

Lorsque vous demandez /phpmyadmin, nginx tente de charger /www/phpmyadmin/phpmyadmin.

Une manière qui fonctionnerait serait:

location ^~ /phpmyadmin {
    root /www;
}

Notez que quelqu'un ne peut pas parcourir d'autres répertoires que /www/phpmyadmin car nginx utilise uniquement /www comme racine lorsque l'emplacement commence par /phpmyadmin.

Si vous rencontrez toujours des problèmes, assurez-vous de demander index.php en incluant index index.php; dans votre bloc d'emplacement. Veillez également à consulter votre journal des erreurs nginx pour plus d'informations.

1
JorgenPhi