Centos: Apache precisa ler arquivos criados pelo Tomcat

0

Depois de tentar várias soluções diferentes, vim aqui para ajudar.

Eu tenho um aplicativo da web no apache HTTPD que atende o front-end e um aplicativo Java no Tomcat no mesmo servidor.

O problema é que os arquivos criados pelo Tomcat não são legíveis pelo Apache. Quer dizer, os usuários podem fazer upload de arquivos no servidor appache, enviar os arquivos para o servidor Tomcat que processam algumas informações e armazenar os arquivos em uma pasta pública para que o Apache possa lê-lo. A coisa é que o Apache obtém 403 nesses arquivos.

Se eu executo o chmod -R 777 no diretório img / (onde os arquivos são armazenados) eu tenho acesso a esses arquivos, mas toda vez que eu carrego um novo arquivo, o HTTPD não tem acesso a ele até que eu corra o comando.

Eu criei um webusers de chamada em grupo e adicionei os usuários do tomcat e do apache a ele.

Se eu executar ln -l sobre esse diretório eu recebo (para os arquivos antigos)

drwsrwsrwx. 2 tomcat webusers 4096 Aug 16 08:50 337

Mas quando eu faço upload de um novo arquivo, obtenho:

drwxr-s---. 2 tomcat webusers 4096 Aug 16 14:44 33f

E se eu tentar abrir no navegador, obtenho

Proibido

Você não tem permissão para acessar /assets/img/cars/brands/33f1d3f1-0e4b-4924-acc1-11e28bed08a8/c_h_1.jpg neste servidor.

Eu tentei muitos chown -R / chmod -R 7777 sem sucesso, você poderia me ajudar a tornar legível pelo apache os arquivos criados pelo tomcat?

    
por Faabass 16.08.2017 / 21:52

1 resposta

1

Se o Apache for usado apenas como uma frente para o Tomcat, a resposta mais simples seria ter os processos-filhos do Apache executados como Tomcat. Eu não tenho certeza de sua versão do CentOS, mas olhando algumas coisas, parece que o pacote padrão do Apache2 criaria um arquivo de configuração em /etc/httpd/conf/httpd.conf . De lá, você deseja encontrar o parâmetro de configuração User . No meu ambiente eu tenho algo como:

User www-user
Group www

Mas é provável que sua configuração seja diferente. Altere o User para seu usuário do Tomcat e o Group para o mesmo grupo que o usuário do Tomcat possui. Novamente, eu não tenho certeza da localização do arquivo de configuração do Apache - você pode ter que procurar um pouco por isso. Depois de alterar essa configuração, você deve reiniciar o Apache para que ele entre em vigor.

    
por 16.08.2017 / 22:46