Connecting Fedora and Islandora between seperate servers

184 views
Skip to first unread message

Erik Beck

unread,
May 27, 2015, 8:59:15 PM5/27/15
to isla...@googlegroups.com
Hi Everybody,

I'm trying to set up an Islandora 7-1.5 / Fedora 3.8 system where Islandora runs on a separate server from Fedora. I've made it as far as getting everything installed and connected.  Fedora is up and running without errors.  Tuque Library is installed and properly configured.  And I've installed all the Islandora Essential Modules covered in Milestone 5 of the 7-1.5 documentation.  As you can see in the SuccessfulDatabaseConnection screen shot, the Fedora base url provided on Islandora's configuration page is finding an open REST connection, which I assume means the Drupal Servlet Filter is working.  But then when I go an try to run tests on each of the individual Islandora Essential Modules as called for in Milestone 5, I'm getting the error that you see in the error screenshot I've attached that says, "Drupal Filter Write Status: Drupal filter at http://lawit7.colorado.edu:8080/fedora/server/config/filter-drupal.xml is not writable by the server."

Well, this doesn't make any sense to me because i've granted full 777 permissions on that file.  But whatever the case Drupal testing isn't finding filter-drupal.xml.  When I try to run the "Repair Drupal Filter" operation I'm getting this error:

Warning
: file_get_contents(http://lawit7.colorado.edu:8080/fedora/server/config/filter-drupal.xml) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in islandora_repair_drupal_filter() (line 1905 of /data/web/htdocs/lawlibrary/sites/all/modules/islandora/islandora.module).


So maybe it's a path error?? But that path (http://lawit7.colorado.edu:8080/fedora/server/config/filter-drupal.xml) is perfectly correct and the file at the end of it is writable by all.  Does anybody have any ideas about what might be causing this.  I've gone back an double checked my install process and I don't think I botched any of the steps  Whatever is causing this broken connection seems to be affecting the all of Islandora since I'm not getting anything at in the islandora root https://lawlibrary.colorado.edu/islandora.  It's just a page not found error.

Thoughts?

Thanks to anybody who responds to this.  This is my first post to the Islandora user group.  First of many to come, I'm sure.

Erik Beck
University of Colorado Law Library
SuccessfulDatabaseConnection.png
error.png

Robin Dean

unread,
Jun 16, 2015, 6:06:11 PM6/16/15
to isla...@googlegroups.com

Hi Erik,

 

Did you ever resolve this issue?

 

We have two sites that are trying to install Islandora on two servers (Drupal on one, Fedora on another). They both followed the instructions from the latest version of the installation documentation, and they’re both seeing the same error as you are with the Drupal Filter permissions.

 

Hoping someone on the list can help answer your question (and then we can fix the documentation!)

 

Best,

Robin

--
For more information about using this group, please read our Listserv Guidelines: http://islandora.ca/content/welcome-islandora-listserv
---
You received this message because you are subscribed to the Google Groups "islandora" group.
To unsubscribe from this group and stop receiving emails from it, send an email to islandora+...@googlegroups.com.
Visit this group at http://groups.google.com/group/islandora.
For more options, visit https://groups.google.com/d/optout.

Diego Pino

unread,
Jun 17, 2015, 4:06:08 PM6/17/15
to isla...@googlegroups.com
Hi Guys, 

The drupal_filter.xml file is used by the Fedora part (fcrepo-drupalauthfilter-3.7.0.jar) to be able to authenticate against the Drupal's side Mysql DB and the allow access to Fedora based on roles. And there is no way that a file is going to be "writable" by islandora via a remote http call, even when using 777. So forget about the tests (Milestone 5) in this setup. In theory you could mount via NFS, samba or any other protocol the drupal_filter.xml, so islandora can access it, but i think this only makes sense for the test, no other use.

You can test your filter using this instead(not the islandora modules)

So what you basically need to do to make two machine conf. work is modify the drupal_filter.xml connection parameters on the Fedora's side. You need that fcrepo-drupalauthfilter is able to connect to the Drupal's (in this case remote) mysql.

The steps are fairly simple but could need some debugging:

1.- On the drupal's machine side: Make sure mysql is accessible from a remote machine. (Port 3306 by default).
2.- Check the user remote select permission. This is a combination of "user", "db" and "host" tables values and rows inside the mysql db, depending on how secure you wan't your connection settings. There are also handy sql queries that do the stuff. http://dev.mysql.com/doc/refman/5.0/en/user-account-management.html. If you end modifying any of those tables don't forget to run this sql query "flush privileges;"At the end
3.-On the fedora side, modify filter-drupal.xml (this line defines the connection)
<connection server="[remotehostIPorqualifiedname]" dbname="[drupal_database]" user="[drupal_db_user]" password="[drupla_db_password]" port="3306">
to suit your server, user, settings etc.
4.- test connection from Islandora by ingesting any object.

That is all

Good luck!

Diego Pino

Robin Dean

unread,
Jun 17, 2015, 5:49:56 PM6/17/15
to isla...@googlegroups.com

Thanks, Diego! We also figured out today that the Drupal Testing module instructions should be ignored in this step—everything else was installed fine and working perfectly with the Drupal filter. By ignoring the recommendation to test, we were able to move on to the next steps, install solution packs, and create objects without any issues.

 

I will recommend to the Documentation group that we remove the step of using the Drupal testing module after Milestone 5.

 

Robin

Daniel Aitken

unread,
Jun 18, 2015, 9:42:16 AM6/18/15
to isla...@googlegroups.com
I should probably chime in here since this is my code haha …

Making our tests work with a remote Fedora is something I’ve given some thought to; it may be implemented someday, but for now, the only way I know of writing to a remote file in PHP is via FTP with creds, and that could get hairy - and also requires some modification of the php.ini. I’ve ignored it for now, since it tends to be edge-case-y.

The documentation should perhaps, rather than have testing stripped out, be updated to point people to the Islandora administration page, where they can get a friendly message and a nice green checkmark if their connection to Fedora is copacetic. The core tests in the Islandora testing group are more for Travis-CI to know that we haven’t horribly screwed everything up.

I feel a bit differently, however, about the Solution Pack, Solr, and XML Forms tests. These are actual web tests that test the ingest, derivative generation, viewers, XML form association and usage, and so on - stuff that you would have to look at manually either way. These could certainly be useful to test things like ‘is ImageMagick creating JPGs properly’ or ‘is Tesseract generating proper OCR’, and tend to be my first line of defence on new installs.

Perhaps these things should be moved to the “Troubleshooting the Minimum Stack Installation” section as a pre-troubleshooting smoke test with proper instructions on how to configure the testing interface, test_config.ini and filter_drupal.xml permissions, as well as a caveat that the Drupal filter must exist on the same server as the webserver does.

If there’s anything y’all would like to see improved in tests though, give me a yell; that’s my baby haha.

- QA Dan
Reply all
Reply to author
Forward
0 new messages