NGINX + Drupal instalado na subpasta no servidor linux

1

Estou tentando configurar o servidor como este com esses endereços acessíveis:

domain.com/webmail (webmail app)
domain.com/app (node.js app)
domain.com/mailadmin (mail administration app)
domain.com/site (drupal website)

Meu diretório raiz é /var/www

que tem os seguintes diretórios:

/var/www/webmail
/var/www/app
/var/www/postfixadmin
/var/www/site

Eu tentei várias configurações e nenhuma delas funcionou (algumas funcionaram parcialmente, mostrando a página inicial ou mostrando todas as páginas, mas sem nenhum estilo CSS)

Felicidades

    
por Rafael Lourenço 12.01.2017 / 19:30

1 resposta

0

Depois de dois gastos todos os dias sobre isso. Eu finalmente encontrei uma solução totalmente funcional:

  1. Primeiro, você precisa alterar o location / (Catch all) para que não tente buscar subdiretórios
  2. Em seguida, você precisa criar um location /subfolder_name/ para cada aplicativo que deseja veicular
  3. Finalmente, você precisa configurar o local do drupal e uma reconfiguração para que ele capture as solicitações de /drupal_subfolder/ e as reescreva para o roteador do Drupal.

Então aqui está o código:

location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri =404;
    }

    location /app/ {
         // reverse proxy configuration of a node.js app
         ...
    }

    location /webmail/ {

    }

    location /mailadmin/ {

    }

    location @drupal_rewrite {
            rewrite ^/site/(.*)$ /site/index.php?$1;
    }

    location /site/ {
            try_files $uri @drupal_rewrite;
    }

Na minha configuração (acima), apenas os blocos location /app/ e location /site/ têm conteúdo.

Espero que ajude alguém. :)

(eu usei: ubuntu + nginx + drupal 8.2)

    
por 12.01.2017 / 19:43