Linux 托管的 Web 应用程序的配置文件的最佳位置是什么?

Linux 托管的 Web 应用程序的配置文件的最佳位置是什么?

由于我是一名程序员而不是管理员,我希望你能帮助我:

当前,我正在编写一个使用 (XML) 配置文件的 Web 应用程序,用户也可以通过应用程序本身(在 Web 界面中)编辑这些文件。
因此,应用程序需要对它们具有读写权限。

当应用程序包在系统上更新时,它当然应该使用旧版本已经在使用的预先存在的配置文件。(由于配置文件的格式可能因版本不同而略有不同,因此更新过程也可能会修改/更新配置文件)

那么这些文件的官方(Debian)和高度官方(LSB/FHS)位置在哪里?

  • /etc/myWebApp/config/(带有符号链接WEBROOT/myWebApp/config -> /etc/myWebApp/config/)?
  • WEBROOT/myWebApp/config/
  • 别的地方?

更新过程应该如何组织?只需将旧配置文件重命名为config_*.xml.160207并将其内容转换为新格式config_*.xml?还是为每个版本使用一个配置目录?
应该如何处理软件包的降级(例如,当为 beta 测试人员创建 PPA 并且用户想要退出 beta 测试并恢复到稳定版本时)?自动反向重命名还是让用户自己修复?

注意:在这种情况下,“用户”是 Web 应用程序的管理员。因此,他拥有更改配置文件的所有权力。(但不需要具备很多 Linux 知识,而且通常不是 root 用户)。“最终用户”将是应用程序及其配置内容的真正用户。

答案1

这取决于您的项目。配置文件可能位于、、,/etc/但不应该位于、、.../var/www/opt/usr//sys/

如果配置文件在 /etc 中,包管理器将询问您在更新时要做什么。

通常软件包中的配置文件有后缀.sample(例如/etc/project/config.xml.sample)。用户必须将其复制到config.xml并进行自定义。这样,它们就不会在更新时被重写。

相关内容