Issues with installing EPrints on RHEL / CentOS / Rocky 10

From EPrints Documentation
Jump to: navigation, search

No other known issues beyond those below if running at least EPrints 3.4.6.

mod_perl cannot handle dir_perms parameter

By default EPrints is configures its dir_perms parameter to 02775 in perl_lib/EPrints/SystemSettings.pm and lib/syscfg.d/core.pl. This is used when creating a new directory with EPrints::System::mkdir, which call CORE::mkdir. Previously this core Perl function has ignored the mask for the setuid/setgid/sticky bit so it did not matter^ if dir_perms was 02775 or 0775 but the version of mod_perl used on RHEL-based Linux 10 now gets confused by this and will fail to create directory. To fix this you will need to modify lib/syscfg.d/core.pl and set $c->{dir_perms} as follows:

$c->{dir_perms} = '0775';

In addition, to make sure that the setgid bit gets set the same as it would before, it is advised you make sure all the sub-directories in your archive have the setgid bit set:

find EPRINTS_PATH/archives/ARCHIVE_ID -type d -exec chmod g+s {} \;

Technically, it should not be necessary to do this to all directories, it might be sufficient to do this only to the html and documents directories, as well as their sub-directories but there should not be any problem updating all the archive's directories.

^This is why EPrints::System::mkdir would subsequently called CORE::chmod to update setuid/setgid/sticky bits on the newly created directories.