Umlaut Installation
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
- [Download 1.8.4>http://rubyforge.org/frs/download.php/7858/ruby-1.8.7.tar.gz]
- tar -zxvf ruby-1.8.7.tar.gz
- cd ruby-1.8.7
- sudo ./configure
- sudo make
- 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:
- [Download here>http://rubyforge.org/frs/?group_id=126]
- tar -zxvf rubygems-x.x.x.tar.gz
- cd rubygems-x.x.x
- 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.