Virtualmin S3 Backup failed: Missing Perl Module S3::AWSAuthConnection
I was working on setting up a new Managed VPS for a client today. The setup was almost complete. I just needed to setup daily backups to S3 to finish it up. But I ran into following error when I tried to add my AWS access key and secret key to Virtualmin using the function located at Virtualmin > Backup and Restore > Backup Virtual Servers.
Backup failed : The Perl module S3::AWSAuthConnection needed to communicate with Amazon's S3 service is not installed.
So I started Googling and landed on 5-6 Virtualmin support tickets. Even though some of them were marked as "FIXED", none of them had a solution. So I started digging and found that Webmin suggested perl module Authen::Libwrap wasn't installed. I tried to install it using Webmin built in function at Webmin > Others > Perl Modules > Install Module and ran into this error.
Error: Function definition too short '/ * EOF * /' in Libwrap.xs, line 32
I SSH'd into VPS and installed Authen::Libwrap module manually with following commands.
apt install build-essential gcc libc6-dev libwrap0 libwrap0-dev
Doing so fixed the S3::AWSAuthConnection error and I was able to schedule backup to my S2 account. I then tried to run my first backup and hit another wall.
HTTP/1.0 500 Perl execution failed Server: MiniServ/1.900 Date: Thu, 11 Jul 2019 02:41:31 GMT Content-type: text/html; Charset=iso-8859-1 Connection: close
Error - Perl execution failed
File does not exist: LWP will support https URLs if the LWP::Protocol::https module is installed. at S3/ListBucketResponse.pm line 26.
But this was fairly simple as the error message was very specific. I needed to install LWP::Protocol::https module. I did so using following command.
This finally put an end to the whole backup problem.