I’ve recently shifted /usr and /var onto bigger partitions of their own right. (I did this taking the server down to single user mode, moving all the files, remounting the appropriate mount points and then bringing the box back up).
Everything was running fine … until I tried to access Usermin - now it complains if I go to the read mail link (the one that our clients use all the time):
Perl execution failed
Undefined subroutine &mailbox::open_dbm_db called at ./mailbox-lib.pl line 1446.
I’m positive that I’ve slipped somewhere with the perl libraries or something - but I cannot for the life of me work out what’s wrong.
I’ve tried to completely remove and reinstall usermin (via apt-get remove --purge, then apt-get install usermin)
I’ve also tried to force a reinstall of perl and it’s associated libraries (obviously I can’t remove perl, as wemin is working properly).
2936 sub open_dbm_db
2937 {
2938 local ($hash, $file, $mode) = @_;
2939 eval “use SDBM_File”;
2940 dbmopen(%$hash, $file, $mode);
If I look at the openfiles on another virtualmin install i can see a bunch of perl libraries being opened, but I don’t see the same thing on this mail server (lsof | grep )
Sorry - forgot to mention, I can see tthe following errors in the error file - one with the same message as mentioned above and the others:
Error: Module mailbox does not exist
Failed to initialize SSL connection
I’ve found the source of the problem - there was a change to the permissions structure on the file system, and the group and other read permissions had been dropped off the /usr/share directories.
This is the reason that the system was unable to see the required subroutines.