en:user_advanced:remote_greenstone
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
en:user_advanced:remote_greenstone [2016/11/16 20:37] – kjdon | en:user_advanced:remote_greenstone [2022/03/30 01:20] – [Debugging gliserver.pl] kjdon | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <!-- mv:2 --> | + | ====== Remote Greenstone ====== |
- | ====== Remote Greenstone | + | |
- | This document is also available [[es: | + | |
- | =====Building | + | Remote |
- | Until now, using the GLI has required either | + | |
- | This new functionality keeps the collections on a remote Greenstone server, thus allowing users to collaborate on collections (at different times), and without a local Greenstone installation. | + | Client GLI vs applet - now deprecated. |
- | =====Installation===== | + | =====Setting up Remote Greenstone Functionality===== |
- | This section describes how to install the remote building functionality on server and client. | + | For installation instructions, please see [[en:user_advanced:remote_greenstone3|Setting up Remote |
- | + | ||
- | ====Server==== | + | |
- | + | ||
- | The server can be a Linux, Mac OS X or Windows machine. It must have the [[http:// | + | |
- | + | ||
- | To install the server-side functionality: | + | |
- | * [[http:// | + | |
- | * On Windows, edit your PATH environment variable to include imagemagick and ghostscript: | + | |
- | <!-- < | + | |
- | * Configure your webserver | + | |
- | * **Apache v2.0** | + | |
- | * Later Greenstone releases come with Apache. Or you can ([[http:// | + | |
- | * If installing Apache manually, configure Apache by editing the conf\httpd.conf file as described in the Greenstone | + | |
- | * Start Apache. | + | |
- | * **Apache v1.3** | + | |
- | * Apache v1.3 is not suitable for this application; | + | |
- | * **IIS** (Not recommended) | + | |
- | * See [[en: | + | |
- | * **IIS 6**: Edit the Greenstone " | + | |
- | On Windows: before running the apache web server, rename the Greenstone local library server file server.exe (located in your toplevel Greenstone directory) to something else. | + | |
- | + | ||
- | Check that your webserver and Greenstone are working correctly by visiting | + | |
- | < | + | |
- | + | ||
- | (For Greenstone 2.81 and older: | + | |
- | * use http:< | + | |
- | * and if on Linux, try just " | + | |
- | + | ||
- | The port will be the number you configured your Apache web server to listen on. This tends to be 8080 or 80, unless these are already in use. | + | |
- | + | ||
- | * Make sure you have edited the gsdlsite.cfg file to contain the appropriate values, such as for GSDLHOME. See [[en:developer:linux_source_install | + | |
- | + | ||
- | **Note:** In Greenstone | + | |
- | + | ||
- | Edit the first line of the Greenstone " | + | |
- | + | ||
- | On Unix it is likely to be: | + | |
- | < | + | |
- | On Windows this would be something like (if installed in the default location): | + | |
- | < | + | |
- | Note that when using Greenstone 2.82 on Windows, it has the path to perl slightly wrong, so do correct it: ...\bin\windows\perl\**bin\**perl | + | |
- | + | ||
- | * Visit http:< | + | |
- | in a web browser. (In Greenstone 2.81 and earlier, visit http:< | + | |
- | * If you get a message saying "Java failed", | + | |
- | * If you get "500 Internal Server Error", | + | |
- | + | ||
- | Otherwise, if you're on Linux, it may have to do with not having executable permissions on gliserver.pl. Open an x-term and cd into your greenstone installation folder' | + | |
- | < | + | |
- | If it returns a message like "bash: ./ | + | |
- | < | + | |
- | Now see if it works. | + | |
- | * Otherwise, check the error log of your webserver | + | |
- | + | ||
- | **Important: | + | |
- | * If your web server is running as a different user, make sure the collect directory has the right permissions. In such a case, make the Greenstone | + | |
- | + | ||
- | On Unix, use chmod. | + | |
- | + | ||
- | On Windows, if using the included Apache web server, it will run under your User Account and the following tends not to be necessary. Otherwise, you would run the following in a DOS prompt: | + | |
- | < | + | |
- | If you're working in a language other than English (say German or French), the word " | + | |
- | * In Greenstone versions earlier than 2.82, you will need to edit the Greenstone " | + | |
- | < | + | |
- | # Administration facility to be available. | + | |
- | status | + | |
- | </ | + | |
- | This will make the " | + | |
- | + | ||
- | * Add some user accounts by visiting the Greenstone home page and clicking the " | + | |
- | * Check that your Greenstone server side installation contains the GLIServer.jar file in your greenstone installation folder' | + | |
- | < | + | |
- | On Windows, you'd type the following in the DOS prompt: | + | |
- | < | + | |
- | This will create the GLIServer.jar file in the gli folder which you can manually copy into the bin/java folder. | + | |
- | + | ||
- | If your end users will use the stand-alone GLI client, this is all that is required on the server, and you can skip the next section. | + | |
- | + | ||
- | ===GLI Applet Additional Steps=== | + | |
- | + | ||
- | If your end users will be using the GLI applet, you also need to do the following four steps. These require the Java SDK -- if you don't already have this you can download it from [[http:// | + | |
- | + | ||
- | * In the Greenstone " | + | |
- | < | + | |
- | Enter the appropriate details for your organization. When it asks to enter the key password for < | + | |
- | * Run | + | |
- | < | + | |
- | When it prompts, enter the password you used above. | + | |
- | * Move the created SignedGatherer.jar file into the Greenstone " | + | |
- | * Edit the Greenstone " | + | |
- | + | ||
- | + | ||
- | ====Client==== | + | |
- | + | ||
- | The clients can be Linux, Mac OS X or Windows machines. | + | |
- | + | ||
- | **To use the stand-alone GLI client:** | + | |
- | * [[http:// | + | |
- | * Run " | + | |
- | The first time you run the GLI client on a machine it will ask for the Greenstone library and gliserver URLs. The first will be < | + | |
- | + | ||
- | **To use the GLI applet:** | + | |
- | * Follow the steps at the end of [[#Server]] first. | + | |
- | * Visit your Greenstone library homepage and click the "The Librarian Interface" | + | |
- | + | ||
- | You can now use the GLI to edit collections on the server or create new collections. The first time a collection is opened on a particular machine the GLI will read the plugin and classifier information from the server (this may take a minute or two). | + | |
=====Notes===== | =====Notes===== | ||
Line 126: | Line 17: | ||
====Authentication==== | ====Authentication==== | ||
- | The existing Greenstone user account system is used for authentication. User information is stored in the etc/ | + | The existing Greenstone user account system is used for authentication and the Administration pages (linked from your Greenstone library homepage) are used for adding, editing and removing users. |
- | Groups are used to control the actions that users are allowed to perform on collections. | + | Groups are used to control the actions that users are allowed to perform on collections. |
- | * **all-collections-editor**: | + | The possible group settings are: |
+ | * **all-collections-editor**: | ||
* **personal-collections-editor**: | * **personal-collections-editor**: | ||
- | * **< | + | * **< |
For example, a user who needs to create and edit their own collections, | For example, a user who needs to create and edit their own collections, | ||
+ | |||
====Collection locking==== | ====Collection locking==== | ||
Each collection may only be open by one person at a time, to prevent synchronization problems. When a request is sent to the server to perform an action on a collection, the server will check for a gli.lck file in the collection directory. This file contains the username of the person who has the collection locked. When the collection is closed, this lock file is deleted. | Each collection may only be open by one person at a time, to prevent synchronization problems. When a request is sent to the server to perform an action on a collection, the server will check for a gli.lck file in the collection directory. This file contains the username of the person who has the collection locked. When the collection is closed, this lock file is deleted. | ||
- | |||
- | |||
Line 146: | Line 37: | ||
====E-mail notifications==== | ====E-mail notifications==== | ||
- | The server can be configured to e-mail the system administrator whenever a collection finishes building. To enable this, edit the Greenstone " | + | The server can be configured to e-mail the system administrator whenever a collection finishes building. To enable this, edit the gliserver.pl file (in cgi-bin for Greenstone2; |
====Missing functionality==== | ====Missing functionality==== | ||
Line 153: | Line 44: | ||
- | * The Download pane | + | * The Download pane. If you are using Client GLI within a local Greenstone to talk to a remote server, then the Download pane will be available (and downloading will happen locally). Standalone GLI will not have downloading available. |
- | * The File & | + | * The File -> Write CD/DVD Image... menu item |
- | * The File & | + | * The File -> Export... menu item |
- | * The Rename option when right-clicking on a file or folder in the collection tree < | + | |
* The Replace option when right-clicking on a file or folder in the collection tree | * The Replace option when right-clicking on a file or folder in the collection tree | ||
- | |||
- | |||
- | |||
- | |||
This functionality may be added in the future. | This functionality may be added in the future. | ||
+ | ===== Debugging gliserver.pl ===== | ||
+ | The commands that gliserver.pl takes are: | ||
+ | ^Command^Other Arguments^Only GSx? | ||
+ | |cmd=check-installation| | |blah... Installation OK!| | ||
+ | |cmd=greenstone-server-version| | | Greenstone server version is: 3 | | ||
+ | |cmd=get-library-url-suffix| | |Greenstone library URL suffix is: / | ||
+ | |cmd=get-default-servlet-path |3 |/library| | ||
+ | |cmd=get-site-names | |3 |gateway-----localsite-----| | ||
+ | |cmd=user-validation|un=username& | ||
- | =====Troubleshooting===== | + | glierver.pl can be found in web/ |
- | + | ||
- | If you are experiencing problems or error messages when using the client/ | + | |
- | + | ||
- | + | ||
- | * Make sure you are using the latest version of Greenstone and have downloaded any patches on this page. | + | |
- | * Record any popup GLI error messages, and the last action you performed. | + | |
- | * Check for Java exceptions. If you're using the client version of the GLI, these will appear in the black GLI window (Windows) or in the terminal where you ran the GLI (Unix). If you're using the applet version of the GLI, these will appear in the Java Console (available from one of your browser menus -- for Firefox you may have to download [[https:// | + | |
- | * Check for errors at the bottom of the log files of your webserver. If you're using Apache (recommended), | + | |
- | * If you are having problems with the applet version, please check if you have the same problems with the client version. | + | |
- | + | ||
- | + | ||
- | If you think you have found a bug, or still can't get this functionality working, send a message to the Greenstone Users mailing list. Please include the following information: | + | |
- | + | ||
- | + | ||
- | * The operating system of the server machine | + | |
- | * The version of Greenstone installed on the server machine | + | |
- | * The version of Java installed on the server machine | + | |
- | * The operating system of the client machine | + | |
- | * Whether you are using the client or applet version of the GLI | + | |
- | * The actions you performed leading up to where the error or problem occurs | + | |
- | * The complete text of any popup GLI error messages, exceptions or errors in the webserver log file | + | |
- | + | ||
- | + | ||
- | ====Miscellaneous problems==== | + | |
- | + | ||
- | + | ||
- | * Errors such as "An error has occurred on the remote Greenstone server while performing this operation: Collection archives zip file / | + | |
- | * " | + | |
- | * "Stack Overflow Errors" | + | |
- | | + | |
- | Add **-Xss16M** after the -Xmx128M, which increases the stack size from 2 to 16M. | + | |
- | On Windows, in gli.bat, look for the lines starting | + | |
- | | + | |
- | and do the same thing. | + | |
- | + | ||
- | + | ||
- | =====Future Work===== | + | |
- | * When trying to load the dictionary (in Dictionary.java: | + | |
- | * Pressing the " | + | |
- | * When the GLI is quit with jobs still on the remote Greenstone server queue, it will wait until these are finished before exiting. A dialog telling the user what is happening would be nice. This should probably have a "force quit" button, even if this is not recommended. | + | |
- | * Loading the options for DBPlug.pm causes an exception when using a Windows server. If you need to use DBPlug then you must install the DBI and DBD modules that it requires. | + | |
- | + | ||
- | <!-- /mv:2 --> | + | |
- | + | ||
- | <!-- mv:3 --> | + | |
- | ======Building Greenstone collections remotely on Greenstone3====== | + | |
- | + | ||
- | =====Preliminary notes for those using the Greenstone 3.03 binary release===== | + | |
- | + | ||
- | * Make back-up copies of your gsdlCGI4gs3.pm and gliserver4gs3.pl | + | |
- | * Download the slightly modified versions of the two server-side files from SVN: | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * In order to later launch the client-GLI application successfully, | + | |
- | * If you' | + | |
- | < | + | |
- | change this to: | + | |
- | < | + | |
- | * If you're on Windows, open up greenstone3/ | + | |
- | < | + | |
- | Make sure it says: | + | |
- | < | + | |
- | * Follow the steps in the Installation section of this wiki page. | + | |
- | + | ||
- | =====Installation===== | + | |
- | + | ||
- | This section describes how to install the remote building functionality on server and client. | + | |
- | + | ||
- | ====Server==== | + | |
- | + | ||
- | The server can be a Linux, Mac OS X or Windows machine. It must have the [[http:// | + | |
- | + | ||
- | To install the server-side functionality: | + | |
- | * Download Greenstone v3 and install it. | + | |
- | * Enable the tomcat CGI | + | |
- | * a. If you're working with Java 1.4, Greenstone 3 would have set you up with Tomcat 5. In that case, you will need to rename the CGI jars supplied with (but disabled) in Tomcat | + | |
- | < | + | |
- | mv servlets-ssi.renametojar servlets-ssi.jar | + | |
- | mv servlets-cgi.renametojar servlets-cgi.jar</ | + | |
- | b. On Windows Vista, Tomcat 6 and hence Java 1.5 are required to get the Remote Greenstone server to work. If you're working with Java 5 (1.5) or higher, Greenstone 3 would have set you up with Tomcat 6. In such a case, you will need to adjust the file packages\tomcat\conf\Catalina\localhost\greenstone3.xml to include the line privileged=" | + | |
- | < | + | |
- | docBase=" | + | |
- | debug=" | + | |
- | allowLinking=" | + | |
- | privileged=" | + | |
- | </ | + | |
- | * Alter Tomcat' | + | |
- | + | ||
- | There' | + | |
- | + | ||
- | Code: | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | Please note the uppercase letter ' | + | |
- | + | ||
- | NOTE: Specify the full path of the Perl library for the parameter " | + | |
- | < | + | |
- | | + | |
- | < | + | |
- | </ | + | |
- | for Windows, it may look like: | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | Uncomment the mapping for the CGI servlet **(to uncomment a commented section of XML, remove the** | + | |
- | < | + | |
- | + | ||
- | Code: | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | Don't forget to type the ' | + | |
- | * If your Greenstone 3 server is not running yet, start it up: | + | |
- | < | + | |
- | Check that Tomcat and Greenstone3 are working correctly by visiting < | + | |
- | * Edit the " | + | |
- | On Linux, it may look like: | + | |
- | < | + | |
- | gsdlhome | + | |
- | On Windows, it may look like: | + | |
- | < | + | |
- | gsdlhome | + | |
- | * Edit the first line of the greenstone3/ | + | |
- | + | ||
- | On Unix it is likely to be: | + | |
- | < | + | |
- | On Windows this will be (if installed in the default location): | + | |
- | < | + | |
- | + | ||
- | * Restart Greenstone' | + | |
- | < | + | |
- | If you're on Linux and working with a binary release, make sure that the webserver user has executable permissions on gliserver.pl: | + | |
- | < | + | |
- | chmod a+rx gliserver.pl | + | |
- | (" | + | |
- | </ | + | |
- | Visit | + | |
- | < | + | |
- | in a web browser. (If you're using the Greenstone 3.03 binary release, then replace gliserver.pl in the URL string above with gliserver4gs3.pl.) You should get a message saying "Java found" and " | + | |
- | + | ||
- | If the web page that loads is empty, then try step 1b above. | + | |
- | + | ||
- | **Important: | + | |
- | + | ||
- | * Make the Greenstone " | + | |
- | + | ||
- | On Unix, use chmod. | + | |
- | + | ||
- | On Windows, run in a DOS prompt: | + | |
- | < | + | |
- | cacls " | + | |
- | </ | + | |
- | * Display an authentication link on the home page as follows. In the file greenstone3/ | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | * Add some user accounts by visiting the Greenstone default library page (http:// | + | |
- | * Open up the file global.properties in your greenstone' | + | |
- | < | + | |
- | # tomcat info | + | |
- | tomcat.server=your-server-computer-name | + | |
- | </ | + | |
- | Now images viewed from a browser on the client side will refer to the correct location on the remote machine. | + | |
- | + | ||
- | If your end users will use the stand-alone GLI client, this is all that is required on the server, and you can skip the next section. | + | |
- | + | ||
- | If your end users will be using the **GLI applet**, you also need to do the following four steps. These require the Java SDK -- if you don't already have this you can download it from [[http:// | + | |
- | * In the Greenstone " | + | |
- | < | + | |
- | keytool -genkey -alias privateKey -keystore appletstore -storepass greenstone | + | |
- | </ | + | |
- | Enter the appropriate details for your organization. When it asks to enter the key password for < | + | |
- | * Run | + | |
- | < | + | |
- | jarsigner -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey | + | |
- | </ | + | |
- | When it prompts, enter the password you used above. | + | |
- | * Move the created **SignedGatherer.jar** file into the Greenstone **" | + | |
- | * Edit the Greenstone3 " | + | |
- | < | + | |
- | <a href=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | ====Client==== | + | |
- | + | ||
- | The clients can be Linux, Mac OS X or Windows machines. To use the stand-alone GLI client: | + | |
- | * Download gli-client-3.zip and unzip it. | + | |
- | * If you're on Windows run client-gli.bat and if you're on Linux/Mac OS X, run client-gli.sh. | + | |
- | (If you're using the Greenstone 3.03 binary release, run " | + | |
- | * The following depends on the version of Greenstone 3 you are running: | + | |
- | * Each time you run the GLI client on a machine it will ask for the Greenstone3 gliserver URL. This will be | + | |
- | < | + | |
- | On subsequent times, you can use the drop down box to choose a gliserver URL entered earlier. | + | |
- | * However, if you're using the Greenstone 3.03 binary release things are a little different: | + | |
- | + | ||
- | + | ||
- | The first time you run the GLI client on a machine it will ask for the Greenstone3 library. It will be < | + | |
- | http://< | + | |
- | </ | + | |
- | If the URL of the Greenstone3 library is not given, it will ask for the Greenstone3 gliserver URL. The Greenstone3 gliserver URL will be | + | |
- | < | + | |
- | http://< | + | |
- | </ | + | |
- | + | ||
- | To use the GLI applet: | + | |
- | * Visit your Greenstone3 library homepage and click "The Librarian Interface", | + | |
- | + | ||
- | You can now use the GLI to edit collections | + | |
- | + | ||
- | + | ||
- | =====Notes===== | + | |
- | + | ||
- | ====General==== | + | |
- | + | ||
- | There can be a lot of data transferred between the client and the server. This can make using the client impractical if you don't have a high speed connection between it and the server. | + | |
- | + | ||
- | ====Authentication==== | + | |
- | The existing Greenstone3 user account system is used for authentication. User information is stored in / | + | |
- | + | ||
- | Groups are used to control the actions that users are allowed to perform on collections. The possible group settings are: | + | |
- | * **all-collections-editor**: | + | |
- | * **personal-collections-editor**: | + | |
- | * **< | + | |
- | + | ||
- | For example, users who need to create and edit their own collections, | + | |
- | + | ||
- | Note: After the greenstone3 environment has been set, use commands below to export the users table to text or import user records from a txt file. | + | |
- | * Export a users table | + | |
- | < | + | |
- | * Import user records from a text file to a users table | + | |
- | < | + | |
- | * config3Remote.xml stores configuration of the gli. On linux, it is located at: | + | |
- | < | + | |
- | On Windows, it is located at: | + | |
- | < | + | |
- | c: | + | |
- | </ | + | |
- | Check two arguments (" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | If you're using the Greenstone 3 binary release, look for gliserver4gs3.pl instead of gliserver.pl at the end of the first Argument above. | + | |
- | + | ||
- | + | ||
- | ====Collection locking==== | + | |
- | + | ||
- | Each collection may only be open by one person at a time, to prevent synchronization problems. When a request is sent to the server to perform an action on a collection, the server will check for a gli.lck file in the collection directory. This file contains the username of the person who has the collection locked. When the collection is closed, this lock file is deleted. | + | |
- | + | ||
- | If the collection is locked by someone other than the person making the request, the action fails. This is reported to the user on the client side, and this user is given the option of " | + | |
- | + | ||
- | ====E-mail notifications==== | + | |
- | The server can be configured to e-mail the system administrator whenever a collection finishes building. To enable this, edit the Greenstone " | + | |
- | + | ||
- | ====Things have to be done if GLI needs to be re-compiled==== | + | |
- | If some changes have been made on the source files of GLI, run makegli.sh and makejar.sh(Linux) (makegli.bat and makejar.bat for Windows) to recompile the GLI. And then, do remember to copy the GLIServer.jar file to Greenstone3/ | + | |
- | + | ||
- | < | + | |
- | There are a few items of functionality that are available in the standalone GLI but not in the client/ | + | |
- | * The Download pane | + | |
- | * The File & | + | |
- | * The File & | + | |
- | * The Rename option when right-clicking on a file or folder in the collection tree < | + | |
- | * The Replace option when right-clicking on a file or folder in the collection tree | + | |
- | This functionality may be added in the future. | + | |
- | --> | + | |
- | =====Troubleshooting===== | ||
- | If you are experiencing problems or error messages when using the client/server version of the GLI, please follow these steps: | + | ===== Debugging |
- | * Make sure you are using the latest version of Greenstone | + | Client-gli downloads collection skeletons from the remote server |
- | * Record any popup GLI error messages, and the last action you performed. | + | < |
- | * Check for Java exceptions. If you're using the client version of the GLI, these will appear | + | on Windows. And on unix systems at: |
- | * Check for errors at the bottom of the log files of your webserver. If you're using Apache (recommended), | + | < |
- | * If you are having problems with the applet version, please check if you have the same problems with the client version. | + | GLI configuration |
- | * If your Perl installation is not found or there is trouble finding JAVA_HOME, you can specify these in the file greenstone3/ | + | |
- | < | + | |
- | Similarly, if your JAVA_HOME | + | |
- | If you think you have found a bug, or still can't get this functionality working, send a message | + | If you have used client-gli |
- | * The operating system of the server | + | |
- | * The version of Greenstone installed on the server machine | + | |
- | * The version of Java installed on the server machine | + | |
- | * The operating system of the client machine | + | |
- | * Whether you are using the client | + | |
- | * The actions you performed leading up to where the error or problem occurs | + | |
- | * The complete text of any popup GLI error messages, exceptions or errors in the webserver log file | + | |
- | < | ||
- | * " | ||
- | --> | ||
- | <!-- /mv:3 --> |
en/user_advanced/remote_greenstone.txt · Last modified: 2023/03/13 01:46 by 127.0.0.1