Difference between revisions of "Umlaut Installation"

From Code4Lib
Jump to: navigation, search
(2. Install RubyGems)
 
(42 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
[[Category:Umlaut]]
 
[[Category:Umlaut]]
 +
 +
=WARNING: This is Outdated Documentation!!!!=
 +
 +
'''THIS IS OUTDATED DOCUMENTATION''' See new Umlaut documentation at http://github.com/team-umlaut/umlaut/wiki
 +
---------
  
 
To install Umlaut
 
To install Umlaut
Line 6: Line 11:
 
== 1. Make sure you have a modern Ruby ==
 
== 1. Make sure you have a modern Ruby ==
  
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1. Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:
+
Install a 1.8.x version of ruby, ruby 1.9 is still considered experimental. The Rails web page says "We recommend Ruby 1.8.7 for use with Rails. Ruby 1.8.6, 1.8.5, 1.8.4 and 1.8.2 are still usable too, but version 1.8.3 is not."
 +
The ''marc'' gem (referred to below) needs Ruby 1.8.6 or greater to install. (http://rubyonrails.org/download)  Try installing Ruby with your package manager of choice. If not, try installing from source, eg
  
# [Download 1.8.4>http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]
+
# [Download 1.8.4>http://rubyforge.org/frs/download.php/7858/ruby-1.8.7.tar.gz]
# tar -zxvf ruby-1.8.4.tar.gz
+
# tar -zxvf ruby-1.8.7.tar.gz
# cd ruby-1.8.4
+
# cd ruby-1.8.7
 
# sudo ./configure
 
# sudo ./configure
 
# sudo make
 
# sudo make
 
# sudo make install
 
# sudo make install
 +
 +
( jrochkind is currently running ruby 1.8.6 as of Dec 08 )
  
 
== 2. Install RubyGems ==
 
== 2. Install RubyGems ==
Line 23: Line 31:
 
# cd rubygems-x.x.x
 
# cd rubygems-x.x.x
 
# sudo ruby setup.rb
 
# sudo ruby setup.rb
# sudo gem update
+
( actually don't do this, to be safe # sudo gem update) (I don't know what this means, jrochkind 14 May 09!)
 
+
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]
+
  
 
== 3. Install Rails ==
 
== 3. Install Rails ==
  
Umlaut is currently tested with Rails 1.2.1, and bound to it in the default environment.rb. So install the 1.2.1 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.0
+
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)
  
"sudo gem install rails -v 1.2.1"  (say yes to any dependencies)
+
"sudo gem install rails -v 2.1.2"  (say yes to any dependencies)
  
You could change the environment.rb to accept a more recent version, but don't accidentally commit that! At some point, we should test and ensure it with a more recent version (2.x?), and bump it up.
 
  
 
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.
 
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.
Line 41: Line 46:
 
Right now, the best (only) way to install Umlaut is from it's SVN store.
 
Right now, the best (only) way to install Umlaut is from it's SVN store.
  
For a read-only checkout:
+
For a read-only checkout of Umlaut 2.10.0 (If there is a more recent version, hopefully I'll remember to update it here, or ask me, or look around in the svn repo. 1 July 09):
  
svn checkout http://umlaut.rubyforge.org/svn/U2/  ./Umlaut
+
<pre>
 +
svn checkout http://umlaut.rubyforge.org/svn/tags/2.10.0 ./Umlaut
 +
</pre>
 +
 
 +
Or instead of "./Umlaut", whatever local path you want to put the thing in.
  
 
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:
 
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:
  
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut
+
<pre>
 +
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/tags/2.10.0 ./Umlaut
 +
</pre>
  
Umlaut comes with a number of Ruby gems and Rails plugins "frozen" into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: ferret; oai; ruby-json; sru; xisbn; acts_as_ferret; enumerations_mixin ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities http://htmlentities.rubyforge.org/
+
If you are a developer who wants the latest in-progress version of umlaut, check out /trunk instead of /tags/2.10.0.
 +
 
 +
 
 +
Umlaut comes with a number of Ruby gems and Rails plugins "frozen" into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn; enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)
  
 
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...
 
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...
Line 57: Line 71:
 
=== mongrel ===  
 
=== mongrel ===  
  
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. )
+
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )
  
 
sudo gem install mongrel
 
sudo gem install mongrel
Line 63: Line 77:
 
=== hpricot ===
 
=== hpricot ===
  
(hpricot is compiled C code, so you are best off installing it yourself)
+
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )
  
sudo gem install hpricot
+
sudo gem install hpricot -v 0.6
 +
 
 +
=== json ===
 +
 
 +
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3
 +
 
 +
sudo gem install json -v 1.1.3
 +
 
 +
=== marc ===
 +
 
 +
A rubygem necessary for the generate script. Provides a ruby library for processing Machine Readable Cataloging (MARC) bibliographic data.
 +
 
 +
sudo gem install marc
  
 
=== mysql ===
 
=== mysql ===
  
(not neccesarily required, but mysql is the reccomended db. Umlaut won't usually run with SQLite3 due to threading issues.)
+
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.
 +
 
 +
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it.
 +
 
  
 
sudo gem install msyql
 
sudo gem install msyql
 +
 +
Except some additional configuration arguments may be neccesary to compile on your machine.
 +
 +
===== redhat =====
 +
 +
On RedHat and CentOS machines, you will need to have the mysql-devel packages installed.
 +
 +
On a RedHat machine, this works:
 +
 +
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config
 +
 +
===== ubuntu =====
 +
 +
On Ubuntu you will also need to:
 +
 +
sudo apt-get install libmysqlclient15-dev
 +
 +
Then you can:
 +
 +
sudo gem install mysql
 +
 +
Ubuntu also packages the mysql library, if you'd rather use that version you can try:
 +
 +
sudo apt-get install libmysql-ruby
 +
 +
===== Solaris 10 (sparc) =====
 +
 +
This has been reported to work on Solaris 10 (sparc)
 +
 +
gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/
 +
\ --with-mysql-lib=/opt/pkgs/mysql/lib
  
 
=== More optional gems ===
 
=== More optional gems ===
  
* If you have a google API key and want to use google services, you may want [http://www.caliban.org/ruby/ruby-google.shtml Ruby/Google]
+
 
* There are some untested services that use Connotea and require [http://www.connotea.org/wiki/WWWConnoteaRuby ConnoteaRuby], although Umlaut at present does not have stable Connotea integration.
+
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut.[http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]
+
 
 +
== 5. Configure SFX API to be used ==
 +
 
 +
On the SFX server that umlaut will be using as a datasource, make sure that the sfx api is turned on in the web-based admin tool (http://sfx.xxx.xxx.edu/sfxadmin/instance-name). This option can be found under the '''SFX API''' in the Menu Configuration Tool.  Make sure that the '''Include availability info in text format''' and  '''Include availability info in structured XML format''' options are checked.  Once these options have been checked, the sfx web server instance needs to be restarted.
  
 
== Now You Need to Setup Umlaut ==
 
== Now You Need to Setup Umlaut ==
  
 
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].
 
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].

Latest revision as of 16:20, 19 June 2012


WARNING: This is Outdated Documentation!!!!

THIS IS OUTDATED DOCUMENTATION See new Umlaut documentation at http://github.com/team-umlaut/umlaut/wiki


To install Umlaut


1. Make sure you have a modern Ruby

Install a 1.8.x version of ruby, ruby 1.9 is still considered experimental. The Rails web page says "We recommend Ruby 1.8.7 for use with Rails. Ruby 1.8.6, 1.8.5, 1.8.4 and 1.8.2 are still usable too, but version 1.8.3 is not." The marc gem (referred to below) needs Ruby 1.8.6 or greater to install. (http://rubyonrails.org/download) Try installing Ruby with your package manager of choice. If not, try installing from source, eg

  1. [Download 1.8.4>http://rubyforge.org/frs/download.php/7858/ruby-1.8.7.tar.gz]
  2. tar -zxvf ruby-1.8.7.tar.gz
  3. cd ruby-1.8.7
  4. sudo ./configure
  5. sudo make
  6. sudo make install

( jrochkind is currently running ruby 1.8.6 as of Dec 08 )

2. Install RubyGems

Again, your package manager may be able to supply this (for example "yum install rubygems), but if not, you could again install from source:

  1. [Download here>http://rubyforge.org/frs/?group_id=126]
  2. tar -zxvf rubygems-x.x.x.tar.gz
  3. cd rubygems-x.x.x
  4. sudo ruby setup.rb

( actually don't do this, to be safe # sudo gem update) (I don't know what this means, jrochkind 14 May 09!)

3. Install Rails

Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)

"sudo gem install rails -v 2.1.2" (say yes to any dependencies)


Note: There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.

4. Install Umlaut

Right now, the best (only) way to install Umlaut is from it's SVN store.

For a read-only checkout of Umlaut 2.10.0 (If there is a more recent version, hopefully I'll remember to update it here, or ask me, or look around in the svn repo. 1 July 09):

svn checkout http://umlaut.rubyforge.org/svn/tags/2.10.0  ./Umlaut

Or instead of "./Umlaut", whatever local path you want to put the thing in.

For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:

svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/tags/2.10.0 ./Umlaut

If you are a developer who wants the latest in-progress version of umlaut, check out /trunk instead of /tags/2.10.0.


Umlaut comes with a number of Ruby gems and Rails plugins "frozen" into it's distribution, in vendor/plugins. You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn; enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)

However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...

5. Install Umlaut's gem dependencies

mongrel

(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )

sudo gem install mongrel

hpricot

(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )

sudo gem install hpricot -v 0.6

json

A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3

sudo gem install json -v 1.1.3

marc

A rubygem necessary for the generate script. Provides a ruby library for processing Machine Readable Cataloging (MARC) bibliographic data.

sudo gem install marc

mysql

MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.

Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it.


sudo gem install msyql

Except some additional configuration arguments may be neccesary to compile on your machine.

redhat

On RedHat and CentOS machines, you will need to have the mysql-devel packages installed.

On a RedHat machine, this works:

sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config
ubuntu

On Ubuntu you will also need to:

sudo apt-get install libmysqlclient15-dev

Then you can:

sudo gem install mysql

Ubuntu also packages the mysql library, if you'd rather use that version you can try:

sudo apt-get install libmysql-ruby
Solaris 10 (sparc)

This has been reported to work on Solaris 10 (sparc)

gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/ 
\ --with-mysql-lib=/opt/pkgs/mysql/lib

More optional gems

  • Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) Oracle OCI8 Oracle Instant Client

5. Configure SFX API to be used

On the SFX server that umlaut will be using as a datasource, make sure that the sfx api is turned on in the web-based admin tool (http://sfx.xxx.xxx.edu/sfxadmin/instance-name). This option can be found under the SFX API in the Menu Configuration Tool. Make sure that the Include availability info in text format and Include availability info in structured XML format options are checked. Once these options have been checked, the sfx web server instance needs to be restarted.

Now You Need to Setup Umlaut

Good job, you've got all software installed, now you need to do some setup. See Umlaut Setup.