Download failed.: cURL error 60: SSL certificate problem: unable to get local issuer certificate

SYSTEM INFORMATION
OS type and version Rocky Linux 8.10
Usermin version 2.102
Virtualmin version 7.30.3

Trying to move a Wordpress site over to a new server, however the new server has a newer version of PHP so the version of Wordpress does not work. I have two options, I can either install an older version of PHP, or upgrade Wordpress before the move. I tried upgrading Wordpress from the UI, but I get Download failed.: cURL error 60: SSL certificate problem: unable to get local issuer certificate.

Looking into this the Wordpress forums say:

The curl error 60 can be caused by one of two things:

  1. the site from where curl is attempting to download has an invalid certificate
  2. the CA root certificate used by curl is invalid or has expired

I have deleted and re-created the letsencrypt cert for the domain (and it all works fine in browser/email etc) however I am still getting the error.

Any idea what could be the issue?
Any idea which CA root certificate is being used by curl?

Is the user you are trying to download with in a chroot jail?

Not as far as I know Joe:

$ ls -id /
2 /

If you are not in a chroot and the root filesystem is ext2/ext3/ext4, the inode for / will always be 2.

Just in case it wasn’t clear from my last post I am trying to use the UI upgrade option from within Wordpress:

Which gives me:

Downloading update from http://downloads.wordpress.org/release/wordpress-6.7.1-new-bundled.zip…

Download failed.: cURL error 60: SSL certificate problem: unable to get local issuer certificate

Installation Failed

Normally, any public website with TLS would be verified via the CA bundle of your OS (found in the ca-certificates packages on all of our supported operating systems). Assuming that package is up to date, and you are running a supported operating system, you should never have a CA certificate problem connecting to a website that is properly configured.

I asked if you’re using a chroot for this user because if the CA bundle is not available inside the chroot, outgoing TLS connections won’t work. But, if you have not put this user in a chroot jail, you would be using the system CA bundle, and it would be as up to date as your OS ca-certificates bundle.

This has nothing to do with your certificates.

1 Like

Thanks Joe. I just updated yum update ca-certificates however I still get the same issue - any idea what else it could be?

Perhaps it may be better/easier to just install PHP 7 on the new server (it’s currently with 8) - is it still easy enough/advised to install multiple version of PHP on Virtualmin or should I try to avoid that?

I can’t imagine any way that would be a solution to this problem, or even related to this problem.

And, PHP 7 has been EOL for some time. Installing unmaintained software is a recipe for disaster.

When I try to fetch that URL, I get this:

Which doesn’t seem like a useful thing. I don’t get a TLS certificate error, though. So, I see something that seems broken, but a completely different kind of brokenness than you see.

Maybe you want to try updating WordPress from the command line using wp-cli or in Virtualmin or even just manually downloading it? Even if it doesn’t work, it might give you a different shaped error and maybe we can suss out what’s going on.

I’ll note that I was able to upgrade my WordPress sites to 6.7.1 without issue.

What OS/version are you using? (Please always include this info your posts, it really matters in a case like this.)

Sorry Joe, I’ve added it to the first post:

SYSTEM INFORMATION
OS type and version Rocky Linux 8.10
Usermin version 2.102
Virtualmin version 7.30.3

I don’t think it shows the full ULR as it ends with an ellipsis (…)

Just checked and the WP version I have is 5.1.19. It’s an old blog which I installed manually many years ago and have simply moved it from server to server via the virtualmin backup/restore route. it did used to update itself automatically, so I wonder if it stopped when I moved to this server.

Can I use Virtualmin to upgrade it? If I go to Domain > Manage Web Apps, Wordpress is there but it only shows an install version. My DB is listed in Database for WordPress tables but I guess this will overwrite with a new/fresh install rather than upgrade? Or will it upgrade if it detects an existing WP DB?

Edit: Just tried via virtualmin and it said:

Failed to install web app : WordPress appears to be already installed in the selected directory

If it wasn’t installed with Virtualmin, you cannot upgrade it with Virtualmin (and you shouldn’t even try, that’s potentially dangerous, I’m glad it protected you from overwriting it).

You’ll need to do it manually or maybe wp-cli can do it. That’s really old, so I would expect trouble. I guess that explains why it’s trying to use a bogus URL to download. Paths have probably changed.

1 Like

Do a manually upgrade of wordpress if you are getting stuck.

You download the file and then upload the contents. But please backup and check these instructions online.

1 Like