Comunidade

Como armazenar os documentos do Liferay no Amazon S3?

Tenho um Liferay Community Edition 7.4 rodando e, por padrão, ele guarda os arquivos da Document Library no disco do servidor. Quero passar a usar um bucket do Amazon S3 para guardar esses que preciso configurar no portal e o que muda na versão 7.4?
thumbnail
Jessica Araujo
28/03/25

RE: Como armazenar os documentos do Liferay no Amazon S3?

Apontando a Document Library do Liferay para o Amazon S3

Se você quer tirar os arquivos do disco local e centralizar tudo num bucket S3 — seja para escalar, clusterizar ou simplificar o backup — este passo a passo resolve. A configuração é simples e, no Liferay 7.4, ganhou o campo de S3 endpoint.

Pré-requisitos
  • Um bucket S3 já criado.
  • Uma access key e uma secret key com permissão de leitura/escrita no bucket.
  • A região do bucket (ex.: us-east-1) e, no 7.4, o endpoint do S3.

Credenciais: guarde a access key e a secret key no Passbolt da SEA. Nunca coloque essas chaves em arquivos versionados nem em posts do fórum.


Passo a passo

1. Defina o store no portal-ext.properties
Adicione a propriedade que troca o armazenamento padrão pelo S3:

dl.store.impl=com.liferay.portal.store.s3.S3Store

2. Configure as credenciais no painel
No portal, navegue até:
Painel de Controle > Configurações > Configurações do Sistema > Armazenamento de arquivos > Armazenamento S3
Preencha os campos:
  • Nome do bucket
  • Chave de acesso (access key)
  • Chave secreta (secret key)
  • S3 endpoint (apenas a partir do Liferay 7.4)
  • Região do S3
  • Utilizar Estilo de Caminho (Path Style): habilitar


3. Reinicie o Liferay
Reinicie o portal para que o novo store entre em vigor:

/opt/liferay/tomcat-9.0.x/bin/shutdown.sh
/opt/liferay/tomcat-9.0.x/bin/startup.sh

Observações importantes
  • SAXParser: a documentação da Liferay menciona configurar um SAXParser, mas na prática isso costuma ser necessário apenas em ambiente clusterizado. Para um único nó, as configurações acima foram suficientes.
  • Migração de arquivos existentes: trocar o store não move sozinho os documentos que já estão no disco/NFS. Se você já tem conteúdo, é preciso migrar os arquivos para o bucket (a SEA tem procedimento próprio de migração de NFS para S3).
  • Cluster: com a Document Library no S3, todos os nós passam a enxergar os mesmos arquivos — é justamente o que viabiliza o cluster.


Como validar
  • Faça upload de um documento novo em Documentos e Mídias e confirme que ele aparece dentro do bucket no S3.
  • Se o upload falhar, revise a access/secret key, a região e o endpoint, e confirme que o "Estilo de Caminho" está habilitado.
  • Verifique no log do portal se há erros de conexão/permissão com o S3 logo após o restart.


Pronto! A partir daqui os novos arquivos da Document Library vão direto para o S3. Se aparecer algum erro durante a configuração, responda aqui no fórum com o trecho do log e a versão do Liferay.
Isaac de Moraes
04/05/23