This shows you the differences between two versions of the page.
|
server:1.6.0:install [2010/03/19 15:14] dbs Clarify who copies the files and changes ownership |
server:1.6.0:install [2010/09/01 16:06] (current) aatre |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======Installing Evergreen 1.6.0.3 on Ubuntu or Debian ====== | + | ======Installing Evergreen 1.6.0.8 on Ubuntu or Debian ====== |
| The following steps have been tested on the x86 (32-bit) and x86-64 (64-bit) architectures. There may be differences between the Desktop and Server editions of Ubuntu. These instructions assume the Server edition. | The following steps have been tested on the x86 (32-bit) and x86-64 (64-bit) architectures. There may be differences between the Desktop and Server editions of Ubuntu. These instructions assume the Server edition. | ||
| Line 6: | Line 6: | ||
| - [[opensrf:1.2:install|Install the latest version of OpenSRF 1.2.x]]. Follow the steps and run the test to ensure that OpenSRF is properly installed before continuing with any further Evergreen installation steps. Evergreen is an application that has been built on top of the Open Service Request Framework (OpenSRF), so if OpenSRF doesn't work, Evergreen isn't going to work. | - [[opensrf:1.2:install|Install the latest version of OpenSRF 1.2.x]]. Follow the steps and run the test to ensure that OpenSRF is properly installed before continuing with any further Evergreen installation steps. Evergreen is an application that has been built on top of the Open Service Request Framework (OpenSRF), so if OpenSRF doesn't work, Evergreen isn't going to work. | ||
| - Download and build Evergreen: | - Download and build Evergreen: | ||
| - | - As the **opensrf** user, download and extract the latest version of Evergreen (http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.3.tar.gz):<code bash> | + | - As the **opensrf** user, download and extract the latest version of Evergreen (http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.8.tar.gz):<code bash> |
| - | wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.3.tar.gz | + | wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.8.tar.gz |
| - | tar xzf Evergreen-ILS-1.6.0.3.tar.gz | + | tar xzf Evergreen-ILS-1.6.0.8.tar.gz |
| </code> | </code> | ||
| - As the **root** user, install the prerequisites. Replace <distribution> below with one of these values for your actual distribution: | - As the **root** user, install the prerequisites. Replace <distribution> below with one of these values for your actual distribution: | ||
| * ''debian-etch'' for Debian Etch (4.0) | * ''debian-etch'' for Debian Etch (4.0) | ||
| - | * ''debian-lenny'' for Debian Lenny | + | * ''debian-lenny'' for Debian Lenny (5.0) |
| - | * ''ubuntu-hardy'' for Ubuntu Hardy Heron (8.04) | + | * ''ubuntu-hardy'' for Ubuntu Hardy (8.04) |
| - | * ''ubuntu-intrepid'' for Ubuntu Intrepid Ibex (8.10)<code bash> | + | * ''ubuntu-karmic'' for Ubuntu Karmic (9.10) and Ubuntu Lucid (10.04)<code bash> |
| - | cd /home/opensrf/Evergreen-ILS-1.6.0.3 | + | cd /home/opensrf/Evergreen-ILS-1.6.0.8 |
| make -f Open-ILS/src/extras/Makefile.install <distribution></code> | make -f Open-ILS/src/extras/Makefile.install <distribution></code> | ||
| - **Note**: As the PostgreSQL server is usually a standalone server in multi-server production systems, the prerequisite installer Makefile does not install the PostgreSQL server by default. You must install the PostgreSQL server yourself prior to running the prerequisite installer Makefile ('''Makefile.install'''); either on the same system as Evergreen itself, or on another system on the network. On Debian or Ubuntu you can install the required PostgreSQL server packages using '''Makefile.install''' as the **root** user:<code bash> | - **Note**: As the PostgreSQL server is usually a standalone server in multi-server production systems, the prerequisite installer Makefile does not install the PostgreSQL server by default. You must install the PostgreSQL server yourself prior to running the prerequisite installer Makefile ('''Makefile.install'''); either on the same system as Evergreen itself, or on another system on the network. On Debian or Ubuntu you can install the required PostgreSQL server packages using '''Makefile.install''' as the **root** user:<code bash> | ||
| - | # Debian Lenny, Ubuntu Hardy (8.04), Ubuntu Intrepid (8.10), and Jaunty (9.04) | + | # Debian Lenny and Ubuntu Hardy (8.04) |
| make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_83 | make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_83 | ||
| + | |||
| + | # Ubuntu Karmic (9.10) and Ubuntu Lucid (10.04) | ||
| + | make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_84 | ||
| </code> You also need to install several Perl modules on your PostgreSQL server to support some functions. If PostgreSQL is running on the same server as the rest of Evergreen, these prerequisites will automatically be available to PostgreSQL. For a standalone PostgreSQL server, you must ensure that the following Perl modules are installed as the **root** user:<code bash> | </code> You also need to install several Perl modules on your PostgreSQL server to support some functions. If PostgreSQL is running on the same server as the rest of Evergreen, these prerequisites will automatically be available to PostgreSQL. For a standalone PostgreSQL server, you must ensure that the following Perl modules are installed as the **root** user:<code bash> | ||
| aptitude install gcc | aptitude install gcc | ||
| Line 32: | Line 35: | ||
| - Run the following commands:<code bash> | - Run the following commands:<code bash> | ||
| ldconfig | ldconfig | ||
| - | /etc/init.d/postgresql-8.3 restart</code> | + | /etc/init.d/postgresql-<pgsql_version> restart</code> |
| - As the **opensrf** user, configure and compile Evergreen:<code bash> | - As the **opensrf** user, configure and compile Evergreen:<code bash> | ||
| - | cd /home/opensrf/Evergreen-ILS-1.6.0.3 | + | cd /home/opensrf/Evergreen-ILS-1.6.0.8 |
| ./configure --prefix=/openils --sysconfdir=/openils/conf | ./configure --prefix=/openils --sysconfdir=/openils/conf | ||
| make</code> | make</code> | ||
| - As the **root** user, install the code. Set the ''STAFF_CLIENT_BUILD_ID'' variable to match the version of the staff client you will use to connect to the Evergreen server. Create a symbolic link named ''server'' in ''/openils/var/web/xul/'' to the ''/server/'' subdirectory of your staff client build.<code bash> | - As the **root** user, install the code. Set the ''STAFF_CLIENT_BUILD_ID'' variable to match the version of the staff client you will use to connect to the Evergreen server. Create a symbolic link named ''server'' in ''/openils/var/web/xul/'' to the ''/server/'' subdirectory of your staff client build.<code bash> | ||
| - | cd /home/opensrf/Evergreen-ILS-1.6.0.3 | + | cd /home/opensrf/Evergreen-ILS-1.6.0.8 |
| - | make STAFF_CLIENT_BUILD_ID=rel_1_6_0_3 install | + | make STAFF_CLIENT_BUILD_ID=rel_1_6_0_8 install |
| cd /openils/var/web/xul | cd /openils/var/web/xul | ||
| - | ln -sf rel_1_6_0_3/server server</code> | + | ln -sf rel_1_6_0_8/server server</code> |
| - As the **root** user, copy the example OpenSRF configuration files into place. This will replace the OpenSRF configuration files that you set up while installing and testing OpenSRF; you might want to backup the old files for troubleshooting purposes. Finally, change the ownership on the installed files to the **opensrf** user:<code bash> | - As the **root** user, copy the example OpenSRF configuration files into place. This will replace the OpenSRF configuration files that you set up while installing and testing OpenSRF; you might want to backup the old files for troubleshooting purposes. Finally, change the ownership on the installed files to the **opensrf** user:<code bash> | ||
| cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml | cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml | ||
| Line 48: | Line 51: | ||
| chown -R opensrf:opensrf /openils/</code> | chown -R opensrf:opensrf /openils/</code> | ||
| - As the **postgres** user on your PostgreSQL server, create the Evergreen database. | - As the **postgres** user on your PostgreSQL server, create the Evergreen database. | ||
| - | - Issue the following commands on your PostgreSQL server, adjusting the path for the contrib repository to match your PostgreSQL server layout. For example, if you built PostgreSQL from source following the cheat sheet, the contrib directory will be located at ''/usr/local/share/contrib''; if you installed the PostgreSQL 8.3 server packages on Ubuntu 8.04, the contrib directory will be at ''/usr/share/postgresql/8.3/contrib/''.<code bash> | + | - Issue the following commands on your PostgreSQL server, adjusting the path for the contrib repository to match your PostgreSQL server layout. For example, if you built PostgreSQL from source following the cheat sheet, the contrib directory will be located at ''/usr/local/share/contrib''; if you installed the PostgreSQL 8.3 server packages on Ubuntu 8.04, the contrib directory will be at ''/usr/share/postgresql/<pgsql_version>/contrib/''.<code bash> |
| createdb -E UNICODE evergreen | createdb -E UNICODE evergreen | ||
| createlang plperl evergreen | createlang plperl evergreen | ||
| createlang plperlu evergreen | createlang plperlu evergreen | ||
| createlang plpgsql evergreen | createlang plpgsql evergreen | ||
| - | psql -f /usr/share/postgresql/8.3/contrib/tablefunc.sql evergreen | + | psql -f /usr/share/postgresql/<pgsql_version>/contrib/tablefunc.sql evergreen |
| - | psql -f /usr/share/postgresql/8.3/contrib/tsearch2.sql evergreen | + | psql -f /usr/share/postgresql/<pgsql_version>/contrib/tsearch2.sql evergreen |
| - | psql -f /usr/share/postgresql/8.3/contrib/pgxml.sql evergreen | + | psql -f /usr/share/postgresql/<pgsql_version>/contrib/pgxml.sql evergreen |
| </code> | </code> | ||
| - As the **postgres** user on the PostgreSQL server, create a PostgreSQL user named ''evergreen'' for the database cluster:<code bash> | - As the **postgres** user on the PostgreSQL server, create a PostgreSQL user named ''evergreen'' for the database cluster:<code bash> | ||
| - | createuser -P -s evergreen | + | createuser -P -s evergreen</code> |
| - | exit</code> | + | |
| - Enter the password for the new PostgreSQL superuser ("evergreen") | - Enter the password for the new PostgreSQL superuser ("evergreen") | ||
| - As the **root** user, create the database schema and configure your system with the corresponding database authentication details for the database user that you just created; on most systems, //<hostname>// will be ''localhost'' and //<port>// will be ''5432'':<code bash> | - As the **root** user, create the database schema and configure your system with the corresponding database authentication details for the database user that you just created; on most systems, //<hostname>// will be ''localhost'' and //<port>// will be ''5432'':<code bash> | ||
| - | cd /home/opensrf/Evergreen-ILS-1.6.0.3 | + | cd /home/opensrf/Evergreen-ILS-1.6.0.8 |
| perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \ | perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \ | ||
| --service all --create-schema --create-bootstrap --create-offline \ | --service all --create-schema --create-bootstrap --create-offline \ | ||
| --user <user> --password <password> --hostname <hostname> --port <port> \ | --user <user> --password <password> --hostname <hostname> --port <port> \ | ||
| --database <dbname> | --database <dbname> | ||
| - | </code> | + | </code> **NOTE**: If you are entering this command on a single line, do not include the ''\'' characters. These should only be used at the end of a line at a bash prompt to indicate that the command is continued on the next line. |
| - As the **root** user, set up Apache:<code> | - As the **root** user, set up Apache:<code> | ||
| a2enmod ssl # enable mod_ssl | a2enmod ssl # enable mod_ssl | ||
| a2enmod rewrite # enable mod_rewrite | a2enmod rewrite # enable mod_rewrite | ||
| a2enmod expires # enable mod_expires | a2enmod expires # enable mod_expires | ||
| - | cd /home/opensrf/Evergreen-ILS-1.6.0.3 | + | cd /home/opensrf/Evergreen-ILS-1.6.0.8 |
| cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/ | cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/ | ||
| cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/ | cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/ | ||
| Line 87: | Line 89: | ||
| - The last code line opens ''/etc/apache2/sites-available/eg.conf'' for editing: | - The last code line opens ''/etc/apache2/sites-available/eg.conf'' for editing: | ||
| - Comment out ''Allow from 10.0.0.0/8'' and uncomment ''Allow from all'' (to enable access to the configuration CGI scripts from any workstation on any network - note that you must secure this for a production instance, preferably by locking down the allowed IP addresses and adding authentication, because you don't want just anyone adding and deleting libraries from your Evergreen instance!) | - Comment out ''Allow from 10.0.0.0/8'' and uncomment ''Allow from all'' (to enable access to the configuration CGI scripts from any workstation on any network - note that you must secure this for a production instance, preferably by locking down the allowed IP addresses and adding authentication, because you don't want just anyone adding and deleting libraries from your Evergreen instance!) | ||
| - | - Delete the line ''Listen 443'' as it conflicts with the same declaration in ''/etc/apache2/ports.conf''. **Debian etch users - do not do this!** | + | - Comment the line ''Listen 443'' as it conflicts with the same declaration in ''/etc/apache2/ports.conf''. **Debian Etch users - do not do this!** |
| - This step is still necessary to keep the logs functioning, but may break other Apache applications on your server. We hope to make this unnecessary soon. Change the user for the Apache server: | - This step is still necessary to keep the logs functioning, but may break other Apache applications on your server. We hope to make this unnecessary soon. Change the user for the Apache server: | ||
| - //Ubuntu Hardy/Debian Etch//: As the **root** user, edit ''/etc/apache2/apache2.conf'': | - //Ubuntu Hardy/Debian Etch//: As the **root** user, edit ''/etc/apache2/apache2.conf'': | ||
| - Change ''User www-data'' to ''User opensrf'' | - Change ''User www-data'' to ''User opensrf'' | ||
| - | - //Ubuntu Intrepid/Debian Lenny//: As the **root** user, edit ''/etc/apache2/envvars'': | + | - //Ubuntu Karmic/Ubuntu Lucid/Debian Lenny//: As the **root** user, edit ''/etc/apache2/envvars'': |
| - Change ''export APACHE_RUN_USER=www-data'' to ''export APACHE_RUN_USER=opensrf'' | - Change ''export APACHE_RUN_USER=www-data'' to ''export APACHE_RUN_USER=opensrf'' | ||
| - As the **root** user, edit ''/etc/apache2/apache2.conf'': | - As the **root** user, edit ''/etc/apache2/apache2.conf'': | ||
| Line 197: | Line 199: | ||
| You can run the staff client on Linux using a XULRunner 1.9; this is installed by default with Firefox version 3.0 and later on Debian and Ubuntu distributions. | You can run the staff client on Linux using a XULRunner 1.9; this is installed by default with Firefox version 3.0 and later on Debian and Ubuntu distributions. | ||
| - | - Start up the staff client by passing the full path to the ''application.ini'' file for the source files of the local build of the Evergreen staff client. For example, if the source files for your Evergreen installation are in the ''/home/opensrf/Evergreen-ILS-1.6.0.3/'' directory, you would issue the following command:<code bash>xulrunner /home/opensrf/Evergreen-ILS-1.6.0.3/Open-ILS/xul/staff_client/build/application.ini | + | - Start up the staff client by passing the full path to the ''application.ini'' file for the source files of the local build of the Evergreen staff client. For example, if the source files for your Evergreen installation are in the ''/home/opensrf/Evergreen-ILS-1.6.0.8/'' directory, you would issue the following command:<code bash>xulrunner /home/opensrf/Evergreen-ILS-1.6.0.8/Open-ILS/xul/staff_client/build/application.ini |
| </code> | </code> | ||
| Line 231: | Line 233: | ||
| rm /tmp/reporter-LOCK | rm /tmp/reporter-LOCK | ||
| </code> | </code> | ||
| + | |||