Page 1 of 1

Allow http loopback

Posted: Fri Jul 12, 2013 3:09 pm
by biggles
I'm trying to get BackupBuddy to work on customers WP sites. It used to work on my old main server but the new one just get stuck in what is called "an endless ping" in BackupBuddy circles. iThemes, the company behind BackupBuddy says this is due to http loopback connections being disabled in some way. I'm trying to google it but cannot find any sources explaining what really is needed or what is happening. If I try to wget the site from the server it works. I really don't understand where the problem is. Might it be firewall related?

Re: Allow http loopback

Posted: Fri Jul 12, 2013 3:44 pm
by mikeshinn
ASL doesnt block anything to/from loopback, and since you can wget loopback then no its not firewall related.

Re: Allow http loopback

Posted: Fri Jul 12, 2013 4:08 pm
by biggles
One less source of error to try then. Thanks!

Re: Allow http loopback

Posted: Fri Jul 12, 2013 4:47 pm
by faris
According to the FAQ at: http://ithemes.com/codex/page/BackupBud ... s_Disabled
it just uses Curl (to access www.wp-domain.tld/wp-cron.php). This is a standard WP thing, I think.

Does your WP Server Information page say anything about loopback being disabled?

More practically, since it does use Curl, try Curling instead of wgetting (and ideally as the correct user). I believe Curling is some sort of Canadian tradition or something? ;-) Maybe your server has lost its passport? Could safe mode or php command restrictions be responsible? Is there nothing in the httpd logs to give more of a clue as to what's really failing?

Re: Allow http loopback

Posted: Fri Jul 12, 2013 11:39 pm
by prupert
I'm not familiar with their software, but I suggest you look at the following possible sources of the problem (in order of likelihood):

If the curl command is executed via a cronjob in the system user's crontab:
- Verify that the cronjob shell has access to the curl command. Note that Plesk (10.4 and 11.0.9) sets a chrooted shell by default which does not include the curl command.

If the curl command is executed via the PHP cURL library:
- Check the error log.
- You might need to have the curl_exec PHP function enabled. Note that the curl functions are disabled by default by ASL to protect your server against attacks that involve remote URL's.
- First confirm that you actually need this PHP function enabled before you do.

If the curl command is directly executed via PHP as a shell command:
- Check the error log.
- You might need to enable risky PHP functions that allow arbitrary shell commands to be executed. There are multiple functions that do sort of the same and are all disabled by default by ASL for a good reason.
- By the way, if this were the case, that would be terribly bad design of their software.
- Even if you believe you absolutely need this I recommend taking this up with the plug-in vendor before enabling such PHP functions which make your server significantly more vulnerable to attacks.

Additionally, confirm wether or not your firewall allows the connection the curl command is making. A default setup of the ASL firewall does not prohibit such a connection though.