So, if I'm reading this correctly, I would install this module (the server) on each drupal installation (6 or 7), then I can monitor all my sites in a Drupal 7 site with the drd dashboard module... does this mean I could run update.php and cron on individual/all sites (including drupal 6 sites) from that Drupal 7 site?

Comments

jurgenhaas’s picture

That's exactly what it means. One item to make this a bit more clear: ou install drd_server on each Drupal installation and enable it on each domain that's hosted on that installation.

geerlingguy’s picture

Status: Active » Closed (fixed)

Makes sense, then. I will likely be testing this module in a few weeks. I'm currently managing about 25 Drupal sites across three servers, all by hand (!).

jurgenhaas’s picture

That sounds very familiar and can be a nightmare. This is why I've started this project and I keep telling myself I should have done this long time ago. It's a very big timesafer.

Let me know what you think when you got a chance to test it.

Benwick’s picture

Title: Drupal 6 Integration? » Drupal 6 configuration?
Status: Closed (fixed) » Active

Actualy i tested these modules, so far without much success..

Drupal 6.15
Enabled: Drupal Remote Dashboard Server 6.x-1.x-dev (2010-jan-15)
on mydomain.com/demo/drupal6 i created an user grant "Administer site configuration"

Drupal 7.0-alpha1
Enabled: Drupal Remote Dashboard 7.x-1.x-dev (2010-jan-15)
on mydomain.com/demo/drupal7/drd#overlay=admin/drd i add new server with fhe following parameters:
URL of the server: mydomain.com/demo/drupal6
Username: user
Password: pass

OK

The DRD result:

Unknown mydomain.com/demo/drupal6
red: Info, Domains, SVN status

..and i get this error message:
Error of type Exception occured: [-101] Wrong API, please update your DRD_Server module. (http://mydomain.com/demo/drupal6/xmlrpc.php->Check API), drd_session(), /usr/sites/mydomain.com/www/demo/drupal7/sites/all/modules/drd/drd.dashboard.inc, 188
..the firebug console says:
POST drd_op=ServerDomains&drd_id=0&drd_domain=&drd_url=&drd_debug_id=6

..same happend with another D6 site..
Error of type Exception occured: [-101] Wrong API, please update your DRD_Server module. (http://anotherD6domain.com/xmlrpc.php->Check API), drd_session(), /usr/sites/mydomain.com/www/demo/drupal7/sites/all/modules/drd/drd.dashboard.inc, 188
..the firebug console says:
POST drd_op=ServerInfo&drd_id=2&drd_domain=&drd_url=&drd_debug_id=2

What i miss?

For me not clear perfecly the configuration of the DRDS's site/site.php on my drupal 6.x
Does it has to contain some kind of configuration only, if i want to setup for the DRDServer other related domains??

If i just want monitor my only one D6 site, the i don't have to make any D6 side configuration?

-----------------------------------------
[LIKE] one of the best module development

jurgenhaas’s picture

This is strange. Well, one step after the other:

The fact you get the API version error is not bad as it shows that your DRD on D7 is able to communicate with your D6 server and gets a response. That's positive. However, it says that the D6 server is running with an old version.

You're saying that your D6 server is running the latest DRD_Server module from Jan 15. May I suggest you cross-check that please? It has happened before that either the same module was available in two different directories or that some files weren't copied properly when upgrading.

What we should achieve at least is that in your DRD the "Unknown" should be replaced by the Domain-Name of your D6 site and the info icon should turn back to black. After that we then start looking into your site.php question.

BTW: it may also be that the result you see is from the DRD cache and it hasn't been updated yet. Just click on the red info icon to force retrieving info from the server and not from cache. Or click on "Flush DRD Cache" icon at the very top (second icon next to "Toolbar:"

Hope one of this is going to help.

jurgenhaas’s picture

Status: Active » Postponed (maintainer needs more info)

@Benwick, have you got any update on this for us please?

iantresman’s picture

If I do a Drupal 6 multisite installation, with single code base, I guess I can place this module in /sites/all/modules, and the drd_server will still treat each site separately?

jurgenhaas’s picture

Yes, it does. Just remember to create a sites.php file in your /sites directory (just like you do on Drupal 7 anyway), because this is where DRD is looking for available domains. This sites.php is not really used by Drupal 6, it's only necessary for DRD and I borrowed the idea from D7, as system administrators will get used to that technique soon anyway.

Lowell’s picture

I get the same errors, switched to most recent dev version of drd_server and got past error messages but only able to see status report. Nothing else works. Will keep trying different things to see if I can get better results.

I am running a new D7 install with module drd-7.x-1.x-dev (2010-Nov-07),
monitoring a new D6 install with module drd_server-6.x-1.x-dev (2010-Nov-07)

It doesn't seem to be affected by the sites.php file in the d6/sites folder. I changed settings, even deleted the sites.php file with no changes in drd behavior. Maybe my sites.php file is not configured properly

jurgenhaas’s picture

When you've made changes to your configuration please click the small little heart symbol in the top toolbar of the DRD Dashboard. That flushes the DRD cache and retries to contact your managed servers, otherwise it just reloads the dashboard from cache with most probably out-of-date information.

Lowell’s picture

I've certainly flushed the cache, thanks. My d7 is communicating with the d6 servers but when I click the little triangle to the right of the server name it opens a pane to the right and everything in there doesn't work. I don't know if it's relevant, but the pane turns pink when I open it.

jurgenhaas’s picture

Yes, the pink color indicates the currently selected server which is helpful if you had a long list of servers on the left.

When you open that list to the right: is there a list of domains visible which is hosted on that Drupal server?

Lowell’s picture

No, I don't get a list of domains on the right, before I open that box I do have the one domain name which is the server, right?

What I do get is the "Update all domains:" text
and a row of the following icons: Info, Flush Cache, Run Cron, List Available Updates, Run Update, Switch Maintenance-mode

jurgenhaas’s picture

Well, those icons hold functoins for domains in that list. But as there are no domains yet, those icons can't do anything.

To get DRD to update the list of domains on that server, use the "Domains" icon in the toolbar of that server (the little house right next to the info icon). This should read all available domains from the server and list them in the pink area.

If that doesn't work, we need to find out why.

Lowell’s picture

Yes, I like that.

So I put DRD in debug mode and clicked on the house and then checked the logs, here is the message from one of the log entries.

[1001] Start AJAX Call
op = ServerDomains
server-id = 8
domain-id =
url =

Hope this helps. Let me know anything else I can do or try. And thanks so much for your time.

jurgenhaas’s picture

That is the request from the server dashboard (DRD) to the Drupal server (DRD_Server). There should be more in the logs which indicates what the answer from the server has been. If you can't find anything, please patch your includes/common.inc file on the DRD Dashboard server and insert

  if (function_exists('drd_debug')) {
    $debug_text = str_replace('>', ']', str_replace('<', '[', $response));
    drd_debug(0, DRD_DEBUG_OUTPUT, $debug_text);
  }

near line 918 (right behind a line fclose($fp);.

That will write extended information into the logs and should help you find out what's going wrong.

Lowell’s picture

There was nothing else other than a few empty log messages. I applied the patch and posted some results here. Hope this helps

When I click on the house icon for Domains, I get a [1001]Start, seven [1003]Output, and a [1002]Finish log messages.
Here are 2 of the [1003]Output messages. They are repeated three times and then a [1003]Output Array

HTTP/1.1 301 Moved Permanently
Date: Mon, 15 Nov 2010 00:05:41 GMT
Server: Apache/2.2.3 (CentOS)
Location: http://www.domain-name.com/xmlrpc.php
Content-Length: 331
Connection: close
Content-Type: text/html; charset=iso-8859-1

[!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"]
[html][head]
[title]301 Moved Permanently[/title]
[/head][body]
[h1]Moved Permanently[/h1]
[p]The document has moved [a href="http://www.domain-name.com/xmlrpc.php"]here[/a].[/p]
[hr]
[address]Apache/2.2.3 (CentOS) Server at domain-name.com Port 80[/address]
[/body][/html]

HTTP/1.1 200 OK
Date: Mon, 15 Nov 2010 00:05:41 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.2.14
Set-Cookie: SESSstring=string; expires=Wed, 08-Dec-2010 03:39:01 GMT; path=/; domain=.domain-name.com
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Mon, 15 Nov 2010 00:05:41 GMT
Cache-Control: store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Connection: close
Content-Length: 193
Content-Type: text/xml

[?xml version="1.0"?]

[methodResponse]
[params]
[param]
[value][string]{"is_error":false,"message":true}[/string][/value]
[/param]
[/params]
[/methodResponse]

[1003] Output
Array
(
[0] => Array
(
[cmd] => modContent
[selector] => #drd-dashboard #server-domain-details #id8.server .server-domains
[content] =>
)

[1] => Array
(
[cmd] => removeClass
[selector] => #drd-dashboard #servers #id8.server .server-toolbar .domains
[value] => updating
)

[2] => Array
(
[cmd] => removeClass
[selector] => #drd-dashboard #servers #id8.server .server-info-box .domains
[value] => updating
)

[3] => Array
(
[cmd] => modContent
[selector] => #drd-dashboard #server-details #id8.server .server-info-box .domains ~ .last-updated
[content] => 11/14/2010 - 18:05
)

[4] => Array
(
[cmd] => modContent
[selector] => #drd-dashboard #servers #id8.server .last-updated
[content] => 11/14/2010 - 18:05
)

[5] => Array
(
[cmd] => updateSelected
[selector] => #drd-dashboard #server-details #id8.server .server-domains
)

)

jurgenhaas’s picture

That's good news. Now we know that your server returns a redirect message. E.g. you're calling http://domain.com/xmlrpc.php but it should be http://www.domain.com/xmlrpc.com or something similar.

Please make sure that you provide the correct server url in the drd dashboard so that xmlrpc.php is reachable without a redirect.

Lowell’s picture

hmmm, I will look around my server for that issue.

In DRD I had specified www.domain.com. Tried with and without the www and both seem to return the domain.com without the www. Maybe my dns setings or htaccess file.

Lowell’s picture

I've ruled out any .htaccess rewrite issues, however today I am not getting the "301 Moved Permanently" log messages, even before I made any changes to anything.

In the "200 OK" log messages I see the "domain=.domain-name.com" Is this string beginning with a dot correct?

btw, I translated my domain name into "domain-name"

jurgenhaas’s picture

Well, the leading period (dot) in front of the domain in the cookie information seems to be common. At least in my available cookies of my local browsers, they all have it there as well. I wasn't aware of that before and thought, this mus be a mistake, but it doesn't seem so anymore.

With regard to the redirect I'm a bit confused when looking into it again: it looks like it redirects from http://www.domain-name.com/xmlrpc.php to http://www.domain-name.com/xmlrpc.php, the very same URL again. That's a bit strange, unless I'm reading the log message wrong.

Anyway, this feedback is indicating at least that xmlrpc from the D6 server is not responding as expected at that's where you should be digging deeper.

Lowell’s picture

ok, so how can I dig in deeper? I am not familiar with the xmlrpc

jurgenhaas’s picture

Don't think this is xmlrpc specific. Somehow your server is responding with a redirect and that's the problem you should get rid of. If your server does not respond with a redirect anymore and you still don't see any domains in the right list, please let me know what else you find in the logs.

Lowell’s picture

well I am using a plesk management system which has its own dns settings. Could that somehow be causing it to redirect to itself?

jurgenhaas’s picture

It shouldn't do but you'll never know until you find out.

Again, please give us an update on what's in the logs now when you call the "Domain" function from DRD as you mentioned that you don't get redirects anymore.

jurgenhaas’s picture

Oh, and also another tip: there could be a Drupal module which doesn a simple drupal_goto() for some reason which would also cause a redirect feedback.

Lowell’s picture

oh, wait a minute. I am not getting the redirect messages today, only these... Well, three of these inside a start and a finish message

[1003] Output
HTTP/1.1 200 OK
Date: Mon, 15 Nov 2010 17:13:35 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.2.14
Set-Cookie: SESS941eaf742e8592a8f6a7ee96452ac5c1=7a50fib0o5rrmrpa77i2mb1cu5; expires=Wed, 08-Dec-2010 20:46:55 GMT; path=/; domain=.domain-name.com
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Mon, 15 Nov 2010 17:13:35 GMT
Cache-Control: store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Connection: close
Content-Length: 191
Content-Type: text/xml

[?xml version="1.0"?]

[methodResponse]
[params]
[param]
[value][string]{"is_error":false,"message":[]}[/string][/value]
[/param]
[/params]
[/methodResponse]

jurgenhaas’s picture

Good. That means you're getting a propper response which indicates that there are no domains on your D6 server that could be recognized by DRD. Possible reasons:

- either the sites.php is not available or is not configured properly

- or php is not able to write a file called drd_id.html into the Drupal root directory

- or the user has no sufficient permissions in Drupal

Is there anything in the logs of the D6 domain that could help us finding out?

Lowell’s picture

Just did a clean install with no extra modules, only the drd server module, and I got identical results

Lowell’s picture

ohhh, good. sounds like I am getting close.

I tried the using the sites.php file but that didn't change anything.
my drupal root has 750 permission settings
using user/1

jurgenhaas’s picture

- so where is the sites.php and how does it look like?

- 750 for the Drupal root doesn't say much as we don't know which user your web server is running as. Is there a file called drd_id.html in your Drupal root?

- is there anything in the logs of your D6 site(s)?

Lowell’s picture

there you go, changed to 777 and now it's doing stuff. yippeee

can't leave those permission settings so what's the best way to resolve this?

my webserver runs as user:apache and group:apache
the drupal root has user:domain-name and group:psacln

this is a lamp setup with plesk managed domains

Lowell’s picture

btw, this is a dedicated server I have full access on

Lowell’s picture

do you think the drd_ini.html file should be in a files/drd/ subdirectory or something similar maybe?

jurgenhaas’s picture

I should probably change the location for the drd_id.html file to the sites/domain/files directory I guess. That directory should be writable anyway, so that would be the better choice. Let me think about it - I may implement that in a later version.

However, now that you're having your domains read in, this won't be required anymore until you added another domain. So you should be fine for now and can continue using DRD.

Lowell’s picture

ok, good news. so when I add or remove domains in drd I need to allow temorary write permissions on my drupal root. ok

I have a domain now listing in the box on the right side but I can't get any of the features to work. The available updates link for example. Also I have a warning exclamation point in a yellow triangle sign that shows up.

Lowell’s picture

I'm thinking that warning is because I have one module out of date on that server.

I'll reload the clean install server next

Lowell’s picture

ok, managed to get rid of the errors, and found the little triangle to open the drop down box so I can see the lists of stuff. Even tested the maintenance mode and the update function. I can't tell if the update actually did anything though. I did get a message in the lower window that updates were attempted and there were no error messages below, but I did get another warning icon.

Otherwise, all seems to be working now. Thanks again for your help, hope to see this module move to stable release

jurgenhaas’s picture

Status: Postponed (maintainer needs more info) » Fixed

I have just submitted the change to the location of the drd_id.html file and the problem you were facing should now be gone.

Regarding the information for each domain in the right panel, I'm glad you found the triangle to open the extra information. With regard to the update, you find the update message in the top info box of the domain exactly as you would see it if you were running the update on the domain by calling the update.php there. DRD is grabbing that information and collects it in the dashboard for all domains in a central place.

Regarding the warning (yellow) and error (red) triangles they indicate warnings and errors as they are reported through Drupal's status report. You find the output of the status report also in the domain details and a yellow warning could probably cause from a cron run that hasn't been executed for too long.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.