Recherche…


Déploiement dans un environnement d'hébergement partagé

Déployer un modèle de projet avancé sur un hébergement partagé est un peu plus compliqué que celui de base, car il comporte deux sites Web, que les serveurs Web d’hébergement partagé ne prennent pas en charge. Nous devrons ajuster la structure du répertoire pour que l'URL frontale soit http: //site.local et que l'URL du serveur principal soit http: //site.local/admin .

Déplacer des scripts d'entrée en une seule webroot

Tout d'abord, nous avons besoin d'un répertoire webroot. Créez un nouveau répertoire et nommez-le pour qu'il corresponde à votre nom de site Web d'hébergement, par exemple www ou public_html ou similaire. Ensuite, créez la structure suivante où www est le répertoire d'hébergement Web que vous venez de créer:

www
    admin
backend
common
console
environments
frontend
...

www sera notre répertoire frontend afin de déplacer le contenu de frontend / web dans celui-ci. Déplacez le contenu du backend / web dans www / admin . Dans chaque cas, vous devrez ajuster les chemins dans index.php et index-test.php .

Ajuster les sessions et les cookies

A l'origine, le backend et le frontend sont destinés à fonctionner sur différents domaines. Lorsque nous déplaçons le tout dans le même domaine, le frontend et le backend partageront les mêmes cookies, créant ainsi un conflit. Pour résoudre ce problème, ajustez l'application backend / config / main.php comme suit:

'components' => [
    'request' => [
        'csrfParam' => '_csrf-backend',
        'csrfCookie' => [
            'httpOnly' => true,
            'path' => '/admin',
        ],
    ],
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => [
            'name' => '_identity-backend',
            'path' => '/admin',
            'httpOnly' => true,
        ],
    ],
    'session' => [
        // this is the name of the session cookie used for login on the backend
        'name' => 'advanced-backend',
        'cookieParams' => [
            'path' => '/admin',
        ],
    ],
],

J'espère que cela aide les utilisateurs d'hébergement partagé à déployer une application avancée.

crédits: https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md

Partage des fichiers téléchargés entre le frontend et le backend à l'aide de liens symboliques

Vous avez donc téléchargé vos fichiers dans un dossier, disons /backend/web/uploads/ et vous souhaitez que ces téléchargements soient également visibles sur le frontend. L'option la plus simple consiste à créer un lien symbolique dans le frontend qui se connecte au backend:

ln -s /path/to/backend/web/uploads/ /path/to/frontend/web/uploads

Dans vos vues, vous pouvez utiliser des liens relatifs vers les fichiers maintenant:

<img src='/uploads/<?= $model->image?>' alt='My Image goes here'>
<a href='/uploads/<?= $model->filename?>' target='_blank'>Download File</a>

Assurez-vous que votre serveur Web permet de suivre les liens symboliques.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow