Bring trunk README into line with reality (version number, PostgreSQL versions)
[working/Evergreen.git] / README
1 README for Evergreen 2.0
2
3 Installing prerequisites:
4 ========================
5 Evergreen has a number of prerequisite packages that must be installed
6 before you can successfully configure, compile, and install Evergreen.
7
8 1. Begin by installing the most recent version of OpenSRF (1.0 or later).
9 You can download OpenSRF 1.0.2 from
10 http://evergreen-ils.org/downloads/OpenSRF-1.0.2.tar.gz
11
12 2. On Debian and Ubuntu, the easiest way to install the rest of the
13 prerequisites for Evergreen is to use the Makefile.install prerequisite
14 installer.
15
16 Issue the following commands as the root user to install prerequisites
17 using the Makefile.install prerequisite installer, substituting
18 "debian-etch", "debian-lenny", "ubunty-hardy", or "ubuntu-intrepid"
19 for <osname> below:
20
21 make -f Open-ILS/src/extras/Makefile.install <osname>
22
23 Note: You may also be able to use "centos" to install the Evergreen 
24 prerequisites for CentOS 5 and RHEL 5, or "gentoo" for Gentoo - but
25 these are less tested distributions. Your patches and suggestions for
26 improvement are welcome!
27
28 Configuration and compilation instructions:
29 ==========================================
30
31 For the time being, we are still installing everything in the /openils/
32 directory (with the exception of the Perl modules, which are installed
33 into system directories). Issue the following commands to configure and
34 build Evergreen:
35
36 ./configure --prefix=/openils --sysconfdir=/openils/conf
37 make
38
39 Installation instructions:
40 =========================
41
42 Once you have configured and compiled Evergreen, issue the following
43 command as the root user to install Evergreen:
44
45 make STAFF_CLIENT_BUILD_ID=rel_2_0_0_0 install
46
47 This will install Evergreen, including example configuration files in
48 /openils/conf/ that you can use as templates for your own configuration files.
49 The STAFF_CLIENT_BUILD_ID variable stamps the server-side and client-side files
50 for the staff client to ensure that they match.
51
52 Change ownership of the Evergreen files:
53 =======================================
54
55 All files in the /openils/ directory and subdirectories must be owned by the
56 "opensrf" user. Issue the following command as the root user to change the
57 ownership on the files:
58
59 chown -R opensrf:opensrf /openils
60
61 Configure the Apache Web server:
62 ===============================
63
64 Use the example configuration files in Open-ILS/examples/apache/ to configure
65 your Web server for the Evergreen catalog, staff client, Web services, and
66 administration interfaces.
67
68 Configure OpenSRF for the Evergreen application:
69 ===============================================
70
71 There are a number of example OpenSRF configuration files in /openils/conf/ that
72 you can use as a template for your Evergreen installation.
73
74 cp /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml
75 cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml
76
77 When you installed OpenSRF, you will have created four Jabber users on two
78 separate domains and edited the opensrf_core.xml file accordingly. Please
79 refer back to the OpenSRF README and edit the Evergreen version of the
80 opensrf_core.xml file using the same Jabber users and domains as you used
81 while installing and testing OpenSRF.
82
83 eg_db_config.pl, described in the following section, will set the database
84 connection information in opensrf.xml for you.
85
86 Creating the Evergreen database:
87 ===============================
88
89 PostgreSQL 8.2 or 8.3 will be installed on your system by the Makefile.install
90 prerequisite installer if packages are available for your distribution, or
91 you will have to compile PostgreSQL 8.2 or 8.3 from source and install it (which
92 is beyond the scope of this document).
93
94 Once the PostgreSQL database server has been installed, you will need to
95 create the database and add the appropriate languages and extensions to
96 support Evergreen. Issue the following commands as the "postgres" user to set
97 up a database called "evergreen". Note that the location of the PostgreSQL
98 "contrib" packages may vary depending on your distribution. In the following
99 commands, we assume that you are working with PostgreSQL 8.3 on a Debian-based
100 system:
101
102 createdb -E UNICODE evergreen
103 createlang plperl evergreen
104 createlang plperlu evergreen
105 createlang plpgsql evergreen
106 psql -f /usr/share/postgresql/8.3/contrib/tablefunc.sql -d evergreen
107 psql -f /usr/share/postgresql/8.3/contrib/tsearch2.sql -d evergreen
108 psql -f /usr/share/postgresql/8.3/contrib/pgxml.sql -d evergreen
109
110 Once you have created the Evergreen database, you need to create a PostgreSQL
111 user to access the database. Issue the following command as the "postgres"
112 user to create a new PostgreSQL user named "evergreen". When prompted, enter
113 the new user's password and answer "yes" to make the new role a superuser:
114
115 createuser -P evergreen
116
117 Once you have created the Evergreen database, you also need to create the
118 database schema and configure your configuration files to point at the
119 database server. Issue the following command as root from inside the Evergreen
120 source directory, replacing <user>, <password>, <hostname>, <port>, and <dbname>
121 with the appropriate values for your PostgreSQL database:
122
123 perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \
124        --service all --create-schema --create-bootstrap --create-offline \
125        --user <user> --password <password> --hostname <hostname> --port <port> \
126        --database <dbname>
127
128 This will create the database schema and configure all of the services in
129 your /openils/conf/opensrf.xml configuration file to point to that database.
130 It also creates the configuration files required by the Evergreen cgi-bin
131 administration scripts.
132
133 Getting help:
134 ============
135
136 Need help installing or using Evergreen? Join the mailing lists at
137 http://evergreen-ils.org/listserv.php or contact us on the Freenode
138 IRC network on the #evergreen channel.