Closed (fixed)
Project:
Drupal Remote Dashboard Server
Component:
Documentation
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
6 Jan 2010 at 04:21 UTC
Updated:
30 Nov 2010 at 09:30 UTC
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
Comment #1
jurgenhaasThat'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.
Comment #2
geerlingguy commentedMakes 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 (!).
Comment #3
jurgenhaasThat 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.
Comment #4
Benwick commentedActualy 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/drupal6i 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/drdi add new server with fhe following parameters:URL of the server:
mydomain.com/demo/drupal6Username: 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=2What i miss?
For me not clear perfecly the configuration of the DRDS's
site/site.phpon my drupal 6.xDoes 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
Comment #5
jurgenhaasThis 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.
Comment #6
jurgenhaas@Benwick, have you got any update on this for us please?
Comment #7
iantresman commentedIf 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?Comment #8
jurgenhaasYes, 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.
Comment #9
Lowell commentedI 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
Comment #10
jurgenhaasWhen 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.
Comment #11
Lowell commentedI'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.
Comment #12
jurgenhaasYes, 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?
Comment #13
Lowell commentedNo, 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
Comment #14
jurgenhaasWell, 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.
Comment #15
Lowell commentedYes, 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.
Comment #16
jurgenhaasThat 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
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.
Comment #17
Lowell commentedThere 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
)
)
Comment #18
jurgenhaasThat'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.
Comment #19
Lowell commentedhmmm, 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.
Comment #20
Lowell commentedI'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"
Comment #21
jurgenhaasWell, 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.
Comment #22
Lowell commentedok, so how can I dig in deeper? I am not familiar with the xmlrpc
Comment #23
jurgenhaasDon'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.
Comment #24
Lowell commentedwell I am using a plesk management system which has its own dns settings. Could that somehow be causing it to redirect to itself?
Comment #25
jurgenhaasIt 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.
Comment #26
jurgenhaasOh, 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.
Comment #27
Lowell commentedoh, 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]
Comment #28
jurgenhaasGood. 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?
Comment #29
Lowell commentedJust did a clean install with no extra modules, only the drd server module, and I got identical results
Comment #30
Lowell commentedohhh, 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
Comment #31
jurgenhaas- 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)?
Comment #32
Lowell commentedthere 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
Comment #33
Lowell commentedbtw, this is a dedicated server I have full access on
Comment #34
Lowell commenteddo you think the drd_ini.html file should be in a files/drd/ subdirectory or something similar maybe?
Comment #35
jurgenhaasI 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.
Comment #36
Lowell commentedok, 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.
Comment #37
Lowell commentedI'm thinking that warning is because I have one module out of date on that server.
I'll reload the clean install server next
Comment #38
Lowell commentedok, 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
Comment #39
jurgenhaasI 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.