[
https://issues.apache.org/jira/browse/JENA-1101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15061727#comment-15061727
]
Andy Seaborne edited comment on JENA-1101 at 12/17/15 9:10 AM:
---------------------------------------------------------------
{{FUSEKI_BASE}} is quite close to what you describe. {{FUSEKI_HOME}} is read
only.
{noformat}
/etc/fuseki/
backups/
config.ttl
configuration/
databases/
logs/
shiro.ini
system/
system_files/
templates/
{noformat}
If the user installs the Fuseki distribution at {{/usr/share/fuseki}}, then it
will be quite close to what you describe.
There are two issues here: the binary distribution, a single file hierarchy in
the zip or tar.gz file; and the layout for a specific environment. Not all
Linux distro use an identical layout. (e.g. Ubuntu uses `tomcat8` and has some
jars in `/usr/share/java/`). Packaging for the distro is done by that distro
and there are different packaging tool sets. The packaging is not done by
Apache Tomcat.
What you are asking for is an RPM for Fuseki, a dpkg for Debain/Ubuntu etc It
would be great if someone would create and maintain such a thing for each
distro, or provide and maintain automation tooling to integrate with the
project build process.
Do you have some specific, concrete suggestions for changes we can make easily
that work for everyone? Maybe in the form of a set of example files for
different distros that the user can install in `/etc/default/fuseki` that the
project can ship with the Apache binaries?
was (Author: andy.seaborne):
`/etc/fuseki` is quite close to what you describe.
{noformat}
/etc/fuseki/
backups/
config.ttl
configuration/
databases/
logs/
shiro.ini
system/
system_files/
templates/
{noformat}
These are all the per-installation files.
The FUSEKI_HOME area (the binary distribution) is read-only. If the user
installs the Fuseki distribution at `/usr/share/fuseki`, then it will be quite
close to what you describe.
There are two issues here: the binary distribution, a single file hierarchy in
the zip or tar.gz file; and the layout for a specific environment. Not all
Linux distro use an identical layout. (e.g. Ubuntu uses `tomcat8` and has some
jars in `/usr/share/java/`); packaging for the distro is done by that distro
and there are different packaging tool sets.
What you are asking for is an RPM for Fuseki, and a dpkg for Debain/Ubuntu. It
would be great if someone would create and maintain such a thing for each
distro, or provide and maintain automation tooling to integrate with the
project build process.
Do you have some specific, concrete suggestions for changes we can make easily
that work for everyone? Maybe in the form of a set of example files for
different distros that the user can install in `/etc/default/fuseki` that the
project can ship with the Apache binaries?
> Fuseki filesystem layout and Linux FHS
> --------------------------------------
>
> Key: JENA-1101
> URL: https://issues.apache.org/jira/browse/JENA-1101
> Project: Apache Jena
> Issue Type: Improvement
> Affects Versions: Fuseki 2.3.1
> Reporter: Joachim Neubert
>
> When it comes to filesystem layout, the Java/Tomcat/Webapps world differs
> quite fundamentally from the Linux world: Whereas for Tomcat or Fuseki it is
> quite normal to have all files under a common root directory, the [Linux
> Filesystem Hierarchy
> Standard|https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard] (which
> is followed by most distributions) provides multiple roots for application
> files:
> Configuration goes to /etc, read-only files to /usr, variable files to /var
> (./log, ./cache etc.). To give you a better idea what this means in practice,
> I add the layout of the tomcat installation by Centos 7 RPM as an example.
> From a linux sysadmins point of view, this makes it easy to know where to
> find stuff without any special knowledge of the application, and to
> generalize tasks like backup (e.g. exclude all application cache files on the
> system).
> On the other hand, this means considerable more work, if you have to cover
> systems outside the Linux world too. Things may get even more complicated by
> remaining differeces between distributions and SElinux policies.
> So I don't suppose FHS compatibility is an realistic option for Fuseki.
> Yet, the current handling of mapping $FUSEKI_HOME/run to /etc/fuseki, with
> the whole bunch of assorted runtime files, feels profundly wrong. According
> to FHS, I would expect something like
> {noformat}
> etc/
> fuseki/
> config.ttl
> shiro.ttl
> conf.d/
> service1.ttl
> ...
> {noformat}
> and all the other stuff elsewhere.
> So I wonder if it would be possible to put the config hierarchy above under
> a, say, $FUSEKI_CONF root, which defaults to /etc/fuseki in the .war
> installation, and to $FUSEKI/conf otherwise.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)