Topic: Solaris 10: Installing Required Software
Topic type:
Details of installing the required software for Kete on Solaris 10 - Work in progress
Out of Date! Needs a maintainer? Can you help bring this up to current Kete release? Please contact us in comments below!
This section for Solaris 10 is still in the works for Kete 1.1 and any contributions by solaris users, in areas such as obtaining a working copy of Git, would be much appreciated.
Part of the Installation Guide
Install Required Software for Running Kete
These are notes made during the installation of the Kete dependent software on Solaris and will be refined as time permits.
The following requires root access (or a user with the equivalent privileges) unless otherwise specified.
All components that need to be compiled from src will be installed using /usr/local as a base so as not to conflict with other components installed as part of the standard Solaris package management process. It also makes it easier to remove it later if required.
Notes on Sun Complier Installation (required to compile native libraries for mongrel etc)
Download the Sun compiler collection from the Sun download site
bash# su -
root@host:# cd /var/tmp
root@host:# bunzip2 -dc /path/to/downloaded/file.tar.bz | tar xf -
root@host:# ./installer -nodisplay
Use the -nodisplay option if installing in a non-graphical environment. Follow the prompts and accept the defaults unless otherwise required. The installation process makes the compiler commands available via /usr/bin
Notes on Installing Ruby and Rails
Install the following packages from the Solaris Blastwave repository. This requires that the blastwave base package is installed and configured which is all detailed on the blastwave site. These all came from the unstable branch of the repository mirror in AUS:
- sudo
- subversion
- imagemagick
- mysql5
- libmhash
- memcached
- ruby
- rubygems
Add the kete user to the list of users able to sudo and update the gem installation and install rails
bash# su -
root@host:# vi /opt/csw/etc/sudoers
root@host:# export PATH=/opt/csw/bin:$PATH
root@host:# gem install rubygems-update
root@host:# gem update --system
root@host:# gem install rails
root@host:# gem install mongrel mongrel_cluster
root@host:# gem install memcache_client
Zoom GEM Installation
Note from Walter: Shouldn't this be after the YAZ installation?
When attemting to install the zoom gem it fails to complete due to some errors building the native extenstions. I can be built/installed using the following workarounds:
root@host:# gem install zoom
This will download the gem and attempt install it. It will most likely fail compaining about a missing header, cd into the src of the gem and make the following changes:
root@host:# export LD_LIBRARY_PATH=/usr/local/lib
root@host:# export PATH=/usr/ccs/bin:$PATH
root@host:# cd /opt/csw/lib/ruby/gems/1.8/gems/zoom-0.4.1
root@host:# rake clean
root@host:# rm src/gem_make_out
root@host:# vi src/extconf.rb
Comment out the following lines
#unless have_header('yaz/zoom.h')
# $stderr.puts 'yaz zoom header not available'
# break
#end
root@host:# vi Rakefile
Change the need_tar flag to false since the flags are different on default Solaris tar command
pkg.need_tar = false
root@host:# rake
root@host:# gem install pkg/zoom-0.4.1.gem
ImageMagick installation
The ruby gem for imagemagick requires a more recent version of imagemagick (v6.3.x) than is in the blastwave respository (currently v6.2.9), so it needs to be compiled from source. This requires removing the blastwave version (so that it does not conflict with the newer version), downloading the source and configuring/compiling (based on details on RMagick site):
bash# su -
root@host:# export PATH=/opt/csw/bin:/usr/ccs/bin:/usr/local/bin:$PATH
root@host:# export LD_LIBRARY_PATH=/usr/local/lib
root@host:# pkgrm CSWimagemagick
root@host:# mkdir /usr/local/src
root@host:# cd /usr/local/src
root@host:# wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.9-10.tar.bz2
root@host:# bunzip2 -dc ImageMagick-6.3.9-10.tar.bz2 | tar xf -
root@host:# cd ImageMagick-6.3.9
root@host:# ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8
root@host:# make
If everything has gone OK with the compile then the ImageMagick binaries and libraries can be installed (which by default will end up under /usr/local):
root@host:# make install
Now Install RMagick GEM
root@host:# cd ..
root@host:# wget http://ftp.iasi.roedu.net/mirrors/rubyforge.org/files/rmagick/RMagick-2.2.2.tar.gz
root@host:# gzip -dc RMagick-2.2.2.tar.gz | tar xf -
root@host:# cd RMagick-2.2.2
Run the setup command to configure and build RMagick
root@host:# export CFLAGS=-I/opt/csw/include
root@host:# ruby setup.rb setup
You may get some errors during interface testing, things are OK as long as it compiles. Next install RMagick
root@host:# ruby setup.rb install
Notes on YAZ and Zebra Installation
bash# su -
root@host:# export PATH=/opt/csw/bin:/usr/ccs/bin:$PATH
root@host:# cd /usr/local/src
root@host:# wget http://ftp.indexdata.dk/pub/yaz/yaz-2.1.54.tar.gz
root@host:# gzip -dc yaz-2.1.54.tar.gz | tar xf -
root@host:# cd yaz-2.1.54
root@host:# ./configure --prefix=/usr/local
root@host:# make
If everything has gone OK with the compile then the yaz binaries and libraries can be installed:
root@host:# make install
root@host:# cd ..
root@host:# wget http://ftp.indexdata.dk/pub/zebra/idzebra-2.0.6.tar.gz
root@host:# gzip -dc idzebra-2.0.6.tar.gz | tar xf -
root@host:# cd idzebra-2.0.6
root@host:# ./configure --prefix=/usr/local --with-yaz=../yaz-2.1.54
root@host:# make
If everything has gone OK with the compile then the yaz binaries and libraries can be installed:
root@host:# make install
Notes on Nginx Installation
Grab the latest tarball from http://sysoev.ru/nginx/download.html and do the following (adjust version numbers accordingly).
root@host: # cd /usr/local/src
root@host: # wget http://sysoev.ru/nginx/nginx-0.5.30.tar.gz
root@host: # tar xvfz nginx-0.5.35.tar.gz
root@host: # cd nginx-0.5.35
root@host: # export LD_LIBRARY_PATH=/opt/csw/lib
root@host: # export CC=cc
root@host: # ./configure --prefix=/usr/local/nginx
root@host: # make
root@host: # make install
Notes in MySQL configuration
As part of the blastwave package installation, the post install script creates an entry in the Solaris SMF database ready to be enabled:
## Executing postinstall script.
Configuring service in SMF
MySQL 5 is using Service Management Facility. The FMRI is:
svc:/network/cswmysql5:default
No database directory found in the default location.
If you need to build the initial database directory,
see /opt/csw/mysql5/share/mysql/quick_start-csw
If you are using a non-default database directory location,
please start mysql manually.
Build the MySQL database using the above mention script (changing default options as required) then enable the database to start automatically when Solaris boots:
root@host: # /opt/csw/mysql5/share/mysql/quick_start-csw
Kete Specific Setup - MySQL
Make utf8 the default by editing /opt/csw/mysql5/my.cnf and adding this in the [mysqld] section:
[client]
default-character-set=utf8
[mysqld]
init-connect = SET NAMES utf8
character-set-server = utf8
Start MySQL Server
root@host: # svcadm enable svc:/network/cswmysql5:default
You can confirm that required charset variables now point at utf8 by connecting to the mysql database as mysql root (remember you set that password above) and running:
SHOW VARIABLES LIKE 'character_set%';
Aside from file system and dir, everything else should be utf8.
Notes on a user to run the kete application
Create/edit a .profile file in the users home directory with the following details added:
PATH=/opt/csw/bin:/opt/csw/mysql5/bin:/usr/local/bin:/usr/sbin:/sbin/:/usr/bin:/opt/csw/mysql5/bin:/usr/sfw/bin:.
LD_LIBRARY_PATH=/usr/local/lib
export PATH
export LD_LIBRARY_PATH
Notes on settingup Memcached as a Solaris service
Complete details on setting up memcached as a Solaris service is described in following blog entry.
Notes on setting up Nginx as a Solaris service
Use the exmple from the following blog entry as the basis for the Nginx compiled and installed earlier.This requies that the paths be updated to reflect the path of the main nginx binary and configuration file.
Apache with Passenger/Mod_Rails and REE on Solaris as an alternative to Mongrel with Nginx
It is now possible to use Apache with Passenger and REE (the preferred Kete set up at this time) on Solaris. However, we don't have detailed instructions. Please add them if you have them. We're also looking for details on X-Sendfile on Solaris.
Next step:
Setting Up the Environment
Walter McGinnis
said Git on Solaris 10
You can find a version of git packaged for Solaris 10 on Sparc at http://sunfreeware.com/programlistsparc10.html#git. There is also a source link. Might be useful for non-Sparc machines.
Tags: Kete, Installation, git, downloads, Solaris 10