I recently upgraded our library’s Koha installation to 19.11 (from 19.05), and at the
same time upgraded the operating system from Debian 8 to Debian 9. This created
a problem with the “Stage MARC records for import” feature in Koha. I could upload
the file, and using ssh I could see the file in
/tmp. But then Koha would complain
that the file did not exist when it tried to import it.
This problem turns out to be the result of two things:
First, Debian 9 uses the PrivateTmp feature of systemd to run the Apache web server,
This means that Apache has its own
/tmp directory in a private namespace, which
cannot be accessed by other processes.
Secondly, our Koha installation’s
koha-conf.xml configuration file was
tmp_path entry. This meant that by default, Koha uploaded MARC records to
but Apache could not see them there, because it had its own private
The solution was to add the missing
tmp_path entry to
koha-conf.xml, and point it to
somewhere other than
/tmp. Here is what the two related entries look like now:
Replace INSTANCE with your actual Koha instance name. Then reboot the server to make sure that Koha sees and uses the new paths correctly.