export TMPDIR=/something/else
./Greenstone-3.08-linux
Use the following instead
TMPDIR=/something/else ./Greenstone-3.08-linux
During the installation process you will be presented with several options. For many, the default settings will be sufficient. Some important options are
* Folder where you want greenstone3 to be installed.
* Choosing which packages to install.
* Greenstone3 will install the Apache Tomcat webserver by default. You can choose not to install it, but then you will need to set up your own version of Tomcat to serve Greenstone. We recommend using Greenstone's Tomcat, at least initially while you get everything set up.
* ImageMagick is bundled with Greenstone for binary web releases for all platforms, and includes JPEG2000 support. You can choose not to install it if you already have ImageMagick previously installed.
* Ghostscript is now bundled with Greenstone for binary web releases for Windows and Mac. You can choose not to install it if you already have Ghostscript previously installed.
* Choosing a password for the administration pages. These pages allow the admin user to inspect and manage the list of registered Greenstone users. You can add new users, and change group settings for existing users. Greenstone user registration is needed if you want to use remote GLI login to the Greenstone server, or if you want to make collections/documents only accessible by certain groups of users. (//If the password is not set during installation, the default password for the 'admin' user is 'admin'. You can change the password any time after installation, by running the Greenstone 3 server and visiting the Administration pages. See [[#disabling_admin_access_in_installer| below]]//).
Once you have successfully installed Greenstone3, you can start up the server by choosing Grenstone3 Digital Library from the Start menu (Windows) or running gs3-server.sh/bat. This launches a small server program which starts up Tomcat and launches a browser. A small window pops up which allows you to change some settings for your library and restart the Tomcat server. Closing this program will stop Tomcat running. By default, your library will be available at localhost:8383/greenstone3/library. File->Settings in the Greenstone Server window gives you options to change the port number and which browser it uses by default.
More notes about running Greenstone can be found in the README.txt file in the top level Greenstone folder.
To build collections, run GLI from the Start menu (Windows) or by running gli/gli.sh/bat in the top level Greenstone3 folder. Tutorial exercises about building collections in Greenstone 3 can be found [[en:tutorials | here]]. Make sure you select the Greenstone3 tab at the top if it is not already selected.
=== Installing and running GS3.08 on Mac Maverick and Yosemite machines ===
From GS3.07rc**2** onwards, we're including a JRE with Mac Mountain Lion binaries, so that the **3.08 Mountain Lion binaries should work on Maverick and Yosemite machines out of the box.** (At present the source code still does not compile up on these newer Mac Operating Systems.)
==== Installing in text-only mode ====
* Refer to [[http://wiki.greenstone.org/doku.php?id=en:user_advanced:installation#running_the_installer_in_text-only_mode|Running the installer in text-only mode]]
==== Adding source code to a binary release ====
* [[http://wiki.greenstone.org/doku.php?id=en:user_advanced:installation#source_component|Windows: Source Component instructions]]
* [[http://wiki.greenstone.org/doku.php?id=en:user_advanced:installation#source_component1|Linux/Mac: Source Component instructions]]
==== Installing a source release ====
* [[http://wiki.greenstone.org/doku.php?id=en:user_advanced:installation#source_distribution|Windows: Source Distribution instructions]]
* [[http://wiki.greenstone.org/doku.php?id=en:user_advanced:installation#source_distribution1|Linux/Mac: Source Distribution instructions]]
===== Further instructions =====
====Changing the admin password====
Login to the administration page, 'edit' the admin account, and click 'change password'. Alternatively, you can login as admin via the login button at the top right of each page. Once you are logged in, this button will change to say 'admin'. Click this button and select 'account settings'. From there, you can select 'change password'.
==== Setting up your Greenstone OAI Server and using GLI to download over OAI from a Greenstone server ====
In Greenstone 3, collections should be available over OAI by default. Their collectionConfig.xml files already specify that each collection is OAI enabled, through use of an ''OAIPMH serviceRack'' element. If you want to disable a collection from being accessibile over OAI, comment out the ''OAIPMH serviceRack'' element in that collection's collectionConfig.xml. You would do so by embedding the entire element in '''' comment markers:
If you wish to validate the Greenstone 3 OAIServer, edit **resources/oai/OAIConfig.xml** to add in the **adminEmail** property to contain the email to where test results should be sent. Also set the **repositoryId** field to a ID name you want (e.g. to ''greenstone''), beware that there are some naming conventions that govern valid values for repositoryID. If testing the behaviour of the resumptionToken, set the **resumeAfter** element to a low value like 5. Then restart the Greenstone server.
To validate your OAI server, visit http://www.openarchives.org/Register/ValidateSite. Your server must be available over the internet to do this. The machine on which you're running the Greenstone 3 server will have to have its firewall and virtual server (port-forwarding) settings set up such that the Greenstone server can be made accessible to the outside world.
Setting up your Greenstone 3 OAI Server is covered in further detail in the tutorial http://wiki.greenstone.org/gsdoc/tutorial/gs3-current/en/GS_OAI_server.htm
For further information on your Greenstone OAI Server, please read through [[en:user_advanced:oai|OAI support]].
==== Setting up a remote Greenstone 3 server ====
This will allow remote client-GLI applications to connect to your Greenstone server, to remotely create and upload new collections to be built and hosted by your server machine.
**Remote Greenstone 3 Server**
To install the server-side functionality:
1. If you're on Windows, you will need to teach Greenstone where the perl executable is.
You can do this either manually, by editing a couple of Greenstone config files as explained just below, or you could run the Greenstone server once and press ''Enter Library'' button to visit your library home page. Doing so will automatically set up the perl path in various Greenstone files.
To do this manually on Windows,
a. Open Tomcat's conf/web.xml file for editing (found in greenstone3/packages/tomcat/conf folder, if installed in the default location), as you may need to specify the full path of the Perl library for the parameter "executable" of **CGIServlet**. This takes the form:
executable
C:\Program Files\greenstone3\gs2build\bin\windows\perl\bin\perl.exe
b. Edit the first line of the greenstone3/web/WEB-INF/cgi/gliserver.pl file and specify the full path of the perl binary.
On Windows this will be (if installed in the default location):
#!C:\Program Files\greenstone3\gs2build\bin\windows\perl\bin\perl -w
2. Make the Greenstone "collect" directory, located in web/sites/localsite, writeable by the webserver user.
On Unix, use //chmod//.
On Windows, run in a DOS prompt:
cacls "C:\Program Files\Greenstone3\web\sites\localsite\collect" /P Everyone:F
3. Open up the file build.properties located in your greenstone installation folder. Edit the //tomcat.server// property's value to refer to your server machine's hostname instead of leaving it at the default value of "localhost":
# tomcat info
tomcat.server=your-server-computer-name
Once the server is started up, this will update the same property in greenstone's web/WEB-INF/classes/global.properties file. Then images viewed from a browser on the client side will refer to the correct location on the remote machine.
(If you don't know what your machine's host name is and you're on Windows, then open a DOS prompt and type:
ipconfig /all
Scroll to the top of the output that gets printed to the screen and note what it mentions for //HOST NAME//. Also note the //DNS Suffix Search List//.
Put these two together with a period mark to separate them and use this as the value for your tomcat.server property.)
4. Set up your Greenstone environment if you've not already done so by running ''gs3-setup.bat'' in your Greenstone 3 installation folder (''source ./gs3-setup.bash'' on Linux and Mac machines). And then start up your Greenstone 3 server with:
ant start
(or ''ant restart'')
5. Check that Tomcat and Greenstone3 are working correctly by visiting
http://:/greenstone3/library
6. Add some user accounts by visiting the Greenstone 3 home page (http://YOURHOST:YOURPORT/greenstone3/library), clicking the ''admin'' link at the top right and logging in. The username is ''admin''. By default, the password is ''admin'' too, unless you already set this during the installation process or if you changed this afterwards.
Once logged in, go to the Administration page. You can access this via the link on the home page. (Or you can click the admin link, choose ''Account Settings'', and then click the ''Administration Page'' link on the top left. )
Add a new user by providing a new username, setting a password for the user that's a minimum of 3 characters long, and by using the drop-down provided for the ''Groups'' field to one or more of the available options, such as ''personal-collections-editor''.
Even if only the ''admin'' user wishes to use the client-gli, they will still need to log in to the Administration Page once after installation in order for the user database to be set up.
7. Finally, visit the following page in the web browser to test that your remote Greenstone server is set up properly:
http://:/greenstone3/cgi-bin/gliserver.pl?cmd=check-installation
You should get a message saying "Java found" and "Installation OK!" Important: You cannot continue until this is successful, as the Remote Greenstone 3 server will not work without it!
If you get a message saying "Java failed"
* check that the Java run-time is installed and on the webserver's path. If you get a "500 Internal Server Error", check the error log of your webserver for the cause (greenstone3/web/logs/greenstone.log).
* consult the more detailed instructions on the [[en:user_advanced:remote_greenstone|Remote Greenstone page]] for further steps that may be necessary to carry out.
**Client-GLI**
Assuming that the remote Greenstone server is accessible to the outside world and you're not behind a firewall, you can access the remote Greenstone server from a client-gli application installed on any other machine. To do so,
1. Run client-gli quite as you would GLI. It's accessible from the Windows Start menu, otherwise you can run the client-gli script (located at the toplevel of a Greenstone installation) from a terminal.
* NOTE: 3.08 client-gli.sh/bat scripts are missing a jar file reference in the classpath. If you are using 3.08 version of client-gli, please edit the appropriate script.
* Linux: client-gli.sh. Look for the two lines starting $javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar:lib/commons-codec-1.3.jar
Add in '':lib/rsyntaxtextarea.jar'' after ''lib/qfslib.jar'' on BOTH lines.
* Windows: client-gli.bat. Look for the two lines starting "%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg
Add in '';lib/rsyntaxtextarea.jar'' after ''qfslib.jar'' on BOTH lines.
2. You'll be asked for the gliserver.pl URL of the remote Greenstone 3 server that you wish to connect to. This is of the form
http://:/greenstone3/cgi-bin/gliserver.pl
It's the same URL as in Step 10 of setting up the remote GS3 server above.
===GLI Applet Additional Steps===
Many browsers have stopped supporting Java applets. Microsoft's Internet Explorer, and perhaps Microsoft Edge, still support it. So these next steps are for Windows machines using Internet Explorer.
If your end users will be using the GLI applet, you also need to do the following steps //in addition to// [[http://wiki.greenstone.org/doku.php?id=en:release:3.08_release_notes#setting_up_a_remote_greenstone_3_server|Setting up your remote Greenstone 3 server]]. These next steps require the Java SDK -- if you don't already have this you can download it from [[http://java.sun.com/j2se/1.4.2/download.html|here]]; make sure that the Java SDK's bin directory is included in the PATH environment variable, which may or may not have been done automatically upon installing Java.
* In the Greenstone "gli" directory, run
keytool -genkey -alias privateKey -keystore appletstore -storepass greenstone
Enter the appropriate details for your organization. When it asks to enter the key password for jarsigner -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey
When it prompts, enter the password you used above.
* For GS3, move the created ''SignedGatherer.jar'' file from gli into GS3's ''web/applet'' subdirectory.
* The following won't be necessary for future releases of GS3. However, for GS3.08, download the following files and put them into your GS3's ''web/interfaces/default/transform'' folder:
* [[http://trac.greenstone.org/browser/main/trunk/greenstone3/web/interfaces/default/transform/gli4gs3.xsl?rev=32127&format=txt|gli4gs3.xsl]]
* [[http://trac.greenstone.org/browser/main/trunk/greenstone3/web/interfaces/default/transform/style.xsl?rev=32127&format=txt|style.xsl]]
* [[http://trac.greenstone.org/browser/main/trunk/greenstone3/web/interfaces/default/transform/icons.xsl?rev=32127&format=txt|icons.xsl]]
* Open ''web/interfaces/default/transform/pages/home.xsl'' for editing, find the line
and add the line
before it.
* An optional step is to open ''web/interfaces/default/transform/gslib.xsl'' for editing, locate ''
sites/localsite/collect/
/index/assoc/ /
Add
/sites/localsite
/collect/ /index/assoc/
/
=== SIGPIPE errors when building a collection ===
- **If your indexer is set to ''solr''**, a newer version of the solr extension has been fixed to circumvent a SIGPIPE error caused by a problem in one of Java's HttpURLConnection related classes. You can try one of the following:
* You could grab a newer version of Greenstone 3. Greenstone 3.09 (still to be released at the time of writing) will contain this fix, as do nightly binaries from http://www.greenstone.org/caveat-emptor/?latest=latest
* Get a newer version of the solr extension from SVN that contains the fix from http://trac.greenstone.org/browser/gs3-extensions/solr/trunk/src?rev=32088. SVN checkout this folder into the GS3 ''ext'' subfolder as ''solr'', after removing the old ''ext/solr'' folder. Then use a terminal to go into the ''ext/solr'' folder and run ''ant del-service add-service''.
* Or you can update just the affected files in your solr extension, by following the instructions in the sequence of Greenstone mailing list exchanges with Martín Williman under the subject "SolR bugs".
- **If your indexer is not solr or if updating the solr extension didn't fix the problem and if your collection is using ''jdbm'' as the database type** and the error messages surrounding the SIGPIPE mention issues with "transaction commit", then either
* change the database type to ''gdbm''
* or leave the database type at jdbm and move your GS3's bundled JRE (the GS3.08's ''packages/jre'' subfolder) outside your GS3 installation. Next install a newer Java on your system so that GS3.08 can find that. If on Linux, ensure you open a new terminal before running GLI or command line building your collection.
Many thanks to Martín Williman for 1 and Mariana Pichinini for solution 2.
=== Ubuntu/Linux perl errors about Bibtex/Latex/MediaWiki plugins or other perl files ===
This can happen when running GLI or the command line building scripts.
The errors can look like:
Running the Greenstone Librarian Interface...
Version: 2.87
User cache dir: /root/.gli/cache/
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/(/.*){ <-- HERE ,41}/ at /usr/local/Greenstone/perllib/plugins/DirectoryPlugin.pm line 199.
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^(\s*)body(\s*){ <-- HERE (\s*)$/ at /usr/local/Greenstone/perllib/plugins/MediaWikiPlugin.pm line 280.
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/_content_(\s*){ <-- HERE / at /usr/local/Greenstone/perllib/plugins/MediaWikiPlugin.pm line 506.
...
They're caused by the newer version of perl (that comes installed with newer versions Ubuntu) no longer accepting some older perl syntax.
If you would like to continue using GS3.08, we've patched the affected plugins. The instructions to use the patch are:
0. Exit GLI in the proper manner if it's running.
1. Optional: Back up your GS3.08's ''gs2build/perllib/plugins'' and ''gs2build/perllib/cpan/'' folders (so you can restore these folders if the patches below don't work for you).
2. Download the ''GS308PluginsForNewerPerlUbuntu.tar.gz'' tarball, which contains the patched up files, from [[http://trac.greenstone.org/browser/patches|the patches page]] and extract the tarball's contents.\\ If you're on a Windows machine, you may want to download the ''GS308PluginsForNewerPerlUbuntu.zip'' ZIP file instead and extract that.
3. Five files should have been extracted:
* Put the 3 plugin files into your GS3.08's ''gs2build/perllib/plugins'' folder.
* put Escape.pm into the ''gs2build/perllib/cpan/URI'' folder.
* put PP.pm into into the ''gs2build/perllib/cpan/JSON'' folder.
4. Use a //new terminal// to launch GLI or any commands that previously failed with errors. Hopefully GLI will launch successfully now.
=== Mac Installer fails ===
If running the Mac installer results in a message about having failed to copy to ''/var/folders/zz/'' ''permission denied''), then restarting the Mac followed by running the installer once again worked for us, resulting in a successful installation.
=== Using the command line to reset the admin password when it isn't recognised ===
If at any stage, your admin password is no longer recognised from the Greenstone Reader interface (the Greenstone pages that you view through the web browser), then you can try to reset your admin password through the command line.
1. On Linux and Mac, open a terminal and use it to navigate to your Greenstone 3 installation folder.
On Windows, you can either [[http://wiki.greenstone.org/doku.php?id=old:miscellaneous_questions&s[]=dos#how_do_i_open_a_terminal_called_dos_console_in_windows | open a DOS terminal the usual way]] and then likewise use it to navigate to your Greenstone 3 installation folder (using the ''cd'' command). Or, you could open a Windows File Explorer first and use it to navigate to your Greenstone 3 installation. Then you could easily get a DOS prompt at that File Explorer location, as explained at [[https://stackoverflow.com/questions/378319/windows-explorer-command-prompt-here/379804 | stackoverflow]]:
> Hold Shift while Right-Clicking a blank space in the desired folder to bring up a more verbose context menu. One of the options is //Open Command Window Here//. This works in Windows Vista, 7, 8, and 10.
2. Now that your terminal is at the GS3 installation folder, you can type the following command in the terminal:
ant config-admin
4. It will ask for a new admin password. Type the new password and hit enter.
5. Once you restart the server, try out your new password.
==== Useful information ====
When you've built a collection of documents, you may discover that there appears to be a copy of all these documents in the collection's //import//, //archives// and //index// subfolders and wonder whether Greenstone could really be so inefficient with space as to keep 3 copies to everything. As it happens though, Greenstone uses **hard-links** both on Linux and **Windows**, in order to keep just one set of your documents. Then it simply hardlinks to these, instead of making copies.
By default, Windows doesn't show you when files on your filesystem are hard-linked. If you choose to install the Windows extension program [[http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html|Link Shell Extension (LSE)]], it will put red arrows on files that are hard linked.
====Known Issues====
=== Changes to Tomcat port affects Solr collections ===
Currently when you change your tomcat port (either in build.properties, or using File->Settings in the Server program) the changes won't propagate to Solr which will still try to use the old port number.
If you make changes to Tomcat port, please shutdown and restart the server from the Start Menu.
If you are starting from within a terminal, you will need to shut down Greenstone and restart it from a fresh terminal.
=== Web document editor requires perl CGI module ===
Editing documents through the web interface requires your system perl to have CGI installed. Without CGI, you can edit metadata and save, but your changes won't have been applied. You can tell this is the case by looking at the build log files in the collection, e.g. //greenstone3/web/sites/localsite/collect/
Document Editor Build
Command = /bin/perl -S /greenstone/pei-jones/web/WEB-INF/cgi/metadata-server.pl
Content-type:text/plain
ERROR: Can't locate CGI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./gsdlCGI.pm line 9.
BEGIN failed--compilation aborted at ./gsdlCGI.pm line 9.
Compilation failed in require at (eval 1) line 1.
If you get this error, then please install the CGI module for your system perl.
====Work Arounds====
===Filenames in collections should not contain &, < and >===
In order to have better handling of different file and filename encodings, a [[http://trac.greenstone.org/changeset/29793|sacrifice]] [[http://trac.greenstone.org/timeline?from=19.03.2015&daysback=30&ticket=on&changeset=on&milestone=on&wiki=on&update=Update|was made]] of being unable to support &, < and > characters in filenames. Filenames with such characters will make metadata.xml invalid, as a result of which, GLI won't be able to reload the metadata therein.
A workaround is to use "and" in place of "&" in filenames. And either use different characters for < and >, such as [ and ] or ( and ), or leave them out from filenames.
===Greenstone applets (Phind, Collage) crash Firefox===
See [[https://bugzilla.redhat.com/show_bug.cgi?id=789959|bugzilla report]].
If attempting to view a java applet (like Collage or Phind phrase classifiers) crashes Firefox, then make sure you have the Java Applet plugin installed. If it is installed and Firefox is still crashing, then open firefox and visit the page
about:config
Scroll down to the property:
dom.ipc.plugins.java.enabled
Set it to true (rightclick and choose //toggle//).
===PDF to image conversion error on Linux===
If you've configured a PDFPlugin to convert PDFs to images, increase the verbosity in Import Options and Build Options to 5 in GLI's Create panel.
When rebuilding the collection, check to see if you encounter the following error message mentioning that 'memory allocation failed', a 'corrupt image' at 'ReadPNGImage' and 'PostScript delegate failed':
import.pl> Converting pdf05-notext.pdf to pagedimg_jpg format
import.pl> calling cmd "/usr/bin/perl" -S gsConvert.pl -verbose 5 -pdf_zoom 2 -errlog "/research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/err.log" -output pagedimg_jpg "/research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext.pdf"
import.pl> Error executing pdfpstoimg.pl
import.pl> pdfpstoimg error log:
import.pl> convert: memory allocation failed `/tmp/magick-31829ofGIFuaNZ1xy1' @ error/png.c/ReadOnePNGImage/2160.
import.pl> convert: corrupt image `/tmp/magick-31829ofGIFuaNZ1xy1' @ error/png.c/ReadPNGImage/3794.
import.pl> convert: Postscript delegate failed `/research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/681.
import.pl> convert: no images defined `/research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext/pdf05-notext.jpg' @ error/convert.c/ConvertImageCommand/3068.
import.pl> Convert error for /research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext.pdf
import.pl> Could not convert pdf05-notext.pdf to pagedimg_jpg format
import.pl> convert: memory allocation failed `/tmp/magick-31829ofGIFuaNZ1xy1' @ error/png.c/ReadOnePNGImage/2160.
import.pl> convert: corrupt image `/tmp/magick-31829ofGIFuaNZ1xy1' @ error/png.c/ReadPNGImage/3794.
import.pl> convert: Postscript delegate failed `/research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/681.
import.pl> convert: no images defined `/research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext/pdf05-notext.jpg' @ error/convert.c/ConvertImageCommand/3068.
import.pl> Convert error for /research/myfolder/gs3-svn-12Sep2013/web/sites/localsite/collect/Enhanced-PDF/tmp/1378957949/pdf05-notext.pdf
import.pl> Converting pdf05-notext.pdf to html format
If you see the above error message, then:
1. Use a text editor to open your Greenstone 3's gs2build/ext/imagemagick/linux/etc/ImageMagick/delegates.xml
2. Find the line that would say:
The above specifies the PostScript delegate for PNG images. It has the sDEVICE set to **pngalpha**.
3. Change the line to:
The above changes the sDevice to **pnmraw**.
4. Save the file and re-run the build now.
===== Updated Translations =====
Thanks to the following people for new and updated translations since 3.07:
* Yvan Arnaud and Emmanuel Ngoi for French translations
* Tomáš Fiala for Slovak translations
* Yamaguchi Gaku for Japanese translations
* Maciej Jaros for Polish translations
* Georgy Litvinov for Russian translations
* Diego Spano for Spanish translations
* Lavji Zala for Gujarati translations