Melhor localização dos arquivos de configuração para o aplicativo da web hospedado no Linux?

1

Como sou programador e não administrador, espero que você possa me ajudar:

Atualmente, estou escrevendo um aplicativo da Web que usa arquivos de configuração (XML) que o usuário também poderá editá-los por meio do aplicativo (em uma interface da Web).
Portanto, o aplicativo precisa ler e gravar permissões neles.

E quando o pacote de aplicativos for atualizado no sistema, ele deve, é claro, usar os arquivos de configuração preexistentes que a versão mais antiga já estava usando. (Como o formato dos arquivos de configuração pode mudar um pouco de versão para versão, o processo de atualização também pode modificar / atualizar os arquivos de configuração)

Então, onde está o local oficial (Debian) e altamente oficial (LSB / FHS) para esses arquivos?

  • /etc/myWebApp/config/ (com um link simbólico WEBROOT/myWebApp/config -> /etc/myWebApp/config/ )?
  • WEBROOT/myWebApp/config/ ?
  • em outro lugar?

E como o processo de atualização deve ser organizado? Basta renomear os arquivos de configuração antigos para config_*.xml.160207 e traduzir o conteúdo para o novo formato em config_*.xml ? Ou use um diretório de configuração para cada versão?
Como deve ser tratado um downgrade do pacote (por exemplo, quando um PPA é criado para os testadores beta e o usuário deseja abandonar o teste beta e reverter para as versões estáveis)? Renomeação inversa automática ou deixar que o usuário conserte ele mesmo?

Nota: Um "usuário" é, neste caso, o administrador do aplicativo da web. Então ele tem todo o poder de mudar os arquivos de configuração. (Mas não é necessário muito Linux saber como e muitas vezes não é root). O "usuário final" seria, então, o usuário real do aplicativo e seu conteúdo configurado.

    
por Chris 07.02.2016 / 11:38

1 resposta

2

Depende do seu projeto. Os arquivos de configuração podem estar em /etc/ , /var/www , /opt , mas eles não devem estar em /usr/ , /sys/ , ...

Se os arquivos de configuração estiverem em / etc, o gerenciador de pacotes perguntará o que fazer na atualização.

Normalmente, os arquivos de configuração do pacote têm o postfix .sample (por exemplo, /etc/project/config.xml.sample ). E o usuário deve copiá-lo para config.xml e personalizar. Desta forma, eles não serão reescritos na atualização.

    
por 07.02.2016 / 12:47

Tags