Evergreen Installation Notes - NOBLE

To install opensrf and evergreen, I pretty much followed step-by-step the instructions on the open-ils docuwiki. These are the notes I made along the way.

Helpful Links



  • Dell Precision 380
  • 80GB Hard Drive
  • 2GB Memory


  • Debian 5.0 (Lenny)
  • PostgreSQL 8.3
  • OpenSurf 1.2.0
  • Evergreen
  • Apache 2.2.9


1. Install Debian 5.0 with apache, postgreSQL.

2. Install OpenSurf 1.2.0.

#useradd -m -s /bin/bash opensrf
#passwd opensrf
su – opensrf
wget http://open-ils.org/downloads/OpenSRF-1.2.0.tar.gz
tar xzf OpenSRF-1.2.0.tar.gz
exit (back to root user)
#aptitude install make
#cd OpenSRF-1.2.0
#make -f src/extras/Makefile.install debian-lenny

apt-get install curl
apt-get install ncftp
apt-get install makepatch

su – opensrf
./configure --prefix=/openils --sysconfdir=/openils/conf

exit (back to root)
#make install

3. Add /openils/lib to the system dynamic library path and make sure your system recognizes the newly installed libraries:


4. /etc/hosts:	public.localhost	public	private.localhost	private

5. Change ownership of installed files:

#chown -R opensrf:opensrf /openils

6. Stop ejabberd and edit /etc/ejabberd/ejabberd.cfg as directed on docuwiki. Start ejabberd. Register router and opensrf ejabber users:

#/etc/init.d/ejabberd stop
(edit ejabberd.cfg)
#/etc/init.d/ejabberd start
#ejabberdctl register router private.localhost password 
#ejabberdctl register opensrf private.localhost password 
#ejabberdctl register router public.localhost password 
#ejabberdctl register opensrf public.localhost password 

7. Create /openils/conf/opensrf.xml and /openils/conf/opensrf_core.xml:

cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml
cp /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml
(Make changes as directed on docuwiki)
cp /openils/conf/srfsh.xml.example /home/sysadmin/.srfsh.xml
(Make changes as directed on docuwiki)

8. Set path of opensrf user's .bashrc:

echo "export PATH=/openils/bin:\$PATH" >> ~/.bashrc

9. Start opensrf.

su - opensrf
osrf_ctl.sh -l -a start_all
Starting OpenSRF Router
Starting OpenSRF Perl
* starting all services for localhost
* starting service pid=20836 opensrf.settings
* starting service pid=20845 opensrf.persist
Starting OpenSRF C (host=localhost)

10. Test opensrf:

su – sysadmin
srfsh#  request opensrf.math add 2 2

Received Data: 4

Request Completed Successfully
Request Time in seconds: 0.006592

11. Install Evergreen

#make -f Open-ILS/src/extras/Makefile.install debian-lenny
su - postgres
createdb -E UNICODE evergreen

createlang plperl   evergreen
createlang: language installation failed: ERROR:  could not access file "$libdir/plperl": No such file or directory

apt-get install postgresql-plperl-8.3

createlang plperlu  evergreen
createlang plpgsql  evergreen
psql -f /usr/share/postgresql/8.3/contrib/tablefunc.sql evergreen
psql -f /usr/share/postgresql/8.3/contrib/tsearch2.sql  evergreen
psql -f /usr/share/postgresql/8.3/contrib/pgxml.sql     evergreen

createuser -P -s evergreen
password for new role: evergreen

perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \
    --service all --create-schema --create-bootstrap --create-offline \
    --user evergreen --password evergreen --hostname localhost --port 5432 \
    --database evergreen

Start evergreen:
osrf_ctl.sh -l -a start_all

Apache Configuration

Config files are in /etc/apache2. Here is a diagram of where things are:
/etc/apache2/apache2.conf - main config file
/etc/apache2/eg_vhost.conf - included in eg.conf. Global Evergreen virtual host config.
/etc/apache2/sites-available/eg.conf - evergreen name virtual host container and settings

restart apache: /etc/init.d/apache2 restart
test config: apache2ctl configtest

Added more redirects to eg_vhost.conf so the directory in /opac would not appear:

RedirectMatch 301 ^/opac$ /opac/en-US/skin/craftsman/xml/index.xml
RedirectMatch 301 ^/opac/$ /opac/en-US/skin/craftsman/xml/index.xml

Make sure only the local network can browse to the config scripts in cgi-bin:

Alias /cgi-bin/ "/openils/var/cgi-bin/"

        AddHandler cgi-script .cgi .pl
        AllowOverride None
        Options None
        Order deny,allow
        Deny from all
        #Allow from
        Allow from
        Options FollowSymLinks ExecCGI Indexes

Syndicate content