Commit | Line | Data |
---|---|---|
0155bbac JD |
1 | #!/bin/bash |
2 | # IMPORTANT! This script assumes you have already installed OpenSRF. | |
3 | ||
79b2efa0 | 4 | HOSTNAME="nonprod" |
0155bbac | 5 | DEFAULT_USER="sitkastaff" |
bd4a0e27 | 6 | INSTALL_USER="opensrf" |
bd4a0e27 | 7 | #EGRELEASE="Evergreen-ILS-2.12.beta" |
9bb70e10 | 8 | #BUILDDIR="/home/${INSTALL_USER}/${EGRELEASE}" |
9 | BUILDDIR="/home/${INSTALL_USER}/evergreen" | |
0155bbac | 10 | INSTALLDIR="/srv/openils" |
15641461 | 11 | BRANCH="production/sitka_2_12_tpac" |
f930a1d1 JD |
12 | STAMP_ID="rel_2_12_1" |
13 | ALT_STAMP_IDS="2_12_1 rel_2_12_0 2_12_0 rel_2_12_beta 2_12_beta" | |
14 | VERSION="2.12.1.sitka.0" | |
9bb70e10 | 15 | SITKACONF="/home/${DEFAULT_USER}/sysadmin" |
a42f2670 | 16 | SITKACONF_BRANCH="master" |
341cf34e | 17 | SITKATOOLS="/root/sitka-tools" |
0155bbac | 18 | |
605401cc JD |
19 | THISHOST=`hostname -s` |
20 | ||
e724d7db | 21 | suwrap() { |
e2ad4781 | 22 | su -s /bin/bash -c "source ~/.bashrc ; $1" $2 |
e724d7db JD |
23 | } |
24 | ||
47b1b144 | 25 | while getopts ":pecw" opt ; do |
24057702 JD |
26 | case $opt in |
27 | p ) PROD="prod";; | |
f3b555fc | 28 | e ) EDI="edi";; |
286e0b2b | 29 | c ) CRONTAB="crontab";; |
676b054f | 30 | w ) WEBCLIENT="webclient";; |
24057702 JD |
31 | esac |
32 | done | |
33 | shift $(($OPTIND - 1)) | |
34 | ||
35 | if [[ -n "$PROD" ]] ; then | |
36 | echo 'this is a production install' | |
34f86bbc | 37 | [ "$HOSTNAME" == "nonprod" ] && HOSTNAME="prod" |
24057702 JD |
38 | else |
39 | echo 'this is NOT a production install' | |
40 | fi | |
41 | ||
0155bbac JD |
42 | # as DEFAULT_USER |
43 | ||
44 | # grab Sitka config files | |
45 | if [ ! -d "${SITKACONF}" ] | |
46 | then | |
47 | # this will fail unless DEFAULT_USER has read access to the repo | |
9bb70e10 | 48 | suwrap "cd /home/${DEFAULT_USER} && git clone git+ssh://git@git.sitka.bclibraries.ca/sitka-infra/sysadmin" ${DEFAULT_USER} |
0155bbac | 49 | fi |
902a19b7 | 50 | suwrap "cd ${SITKACONF} && git fetch origin && git checkout ${SITKACONF_BRANCH} && git pull" ${DEFAULT_USER} |
0155bbac JD |
51 | |
52 | # checkout EG source | |
ae9cb412 JD |
53 | if [ ! -d "${BUILDDIR}" ] |
54 | then | |
9bb70e10 | 55 | suwrap "cd /home/${INSTALL_USER} && git clone git://git.sitka.bclibraries.ca/sitka/evergreen evergreen" ${INSTALL_USER} |
ae9cb412 | 56 | fi |
bd4a0e27 | 57 | suwrap "cd ${BUILDDIR} && git fetch origin && git checkout ${BRANCH} && git pull" ${INSTALL_USER} |
71f85432 JD |
58 | |
59 | # download and unpack EG release | |
ae9cb412 | 60 | #rm -rf ${BUILDDIR} |
9bb70e10 | 61 | #suwrap "cd /home/${INSTALL_USER} && wget http://open-ils.org/downloads/${EGRELEASE}.tar.gz && tar xzf ${EGRELEASE}.tar.gz" ${INSTALL_USER} |
0155bbac JD |
62 | |
63 | # as root | |
71f85432 | 64 | cd ${BUILDDIR} && make -f Open-ILS/src/extras/Makefile.install ubuntu-trusty |
676b054f JD |
65 | if [[ -n "$WEBCLIENT" ]] ; then |
66 | cd ${BUILDDIR} && make -f Open-ILS/src/extras/Makefile.install ubuntu-trusty-developer # required for web client | |
67 | fi | |
0155bbac JD |
68 | # by default, CPAN needs some manual input at this point; you can just accept all defaults |
69 | ||
a4d987d6 | 70 | # web client |
71 | if [[ -n "$WEBCLIENT" ]] ; then | |
72 | cd ${BUILDDIR}/Open-ILS/web/js/ui/default/staff/ | |
73 | suwrap "npm install" ${INSTALL_USER} | |
74 | suwrap "bower install" ${INSTALL_USER} | |
75 | suwrap "grunt all" ${INSTALL_USER} || { echo 'Could not install files for web-based staff client' ; exit 1; } | |
76 | fi | |
77 | ||
bd4a0e27 JD |
78 | # as INSTALL_USER |
79 | suwrap "cd ${BUILDDIR} && autoreconf -i" ${INSTALL_USER} # not required for release versions | |
80 | suwrap "PATH=${INSTALLDIR}/bin:\$PATH cd ${BUILDDIR} && PATH=${INSTALLDIR}/bin:\$PATH ./configure -C --prefix=${INSTALLDIR} --sysconfdir=${INSTALLDIR}/conf --with-opensrf-headers=${INSTALLDIR}/include/ --with-opensrf-libs=${INSTALLDIR}/lib/" ${INSTALL_USER} | |
81 | suwrap "cd ${BUILDDIR} && make" ${INSTALL_USER} | |
82 | suwrap "cd ${BUILDDIR}/build/i18n && make LOCALE=fr-CA install && make LOCALE=en-CA install" ${INSTALL_USER} | |
0155bbac JD |
83 | |
84 | # as root | |
4115cc36 | 85 | cd ${BUILDDIR} && make STAFF_CLIENT_VERSION=${VERSION} STAFF_CLIENT_STAMP_ID=${STAMP_ID} install |
ae9cb412 | 86 | mv ${INSTALLDIR}/var/web/reports/fm_IDL.xml ${INSTALLDIR}/var/web/reports/fm_IDL.xml.orig && cp ${INSTALLDIR}/conf/fm_IDL.xml ${INSTALLDIR}/var/web/reports/ |
0155bbac JD |
87 | |
88 | # Apache stuff (as root): | |
ef6f3a9f | 89 | APACHEFILES="/etc/apache2/mods-available/mpm_prefork.conf" |
0155bbac JD |
90 | for APACHEFILE in ${APACHEFILES} |
91 | do | |
a4d987d6 | 92 | [[ -e "${APACHEFILE}" ]] && mv ${APACHEFILE} ${APACHEFILE}.`date +%Y-%m-%d-%H%M%S` |
40ce1f36 | 93 | cp ${SITKACONF}/files/${APACHEFILE}/${HOSTNAME} ${APACHEFILE} |
0155bbac | 94 | done |
ef6f3a9f JD |
95 | cp ${BUILDDIR}/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup |
96 | sed -i 's/export APACHE_RUN_USER=www-data/export APACHE_RUN_USER=opensrf/' /etc/apache2/envvars | |
a4d987d6 | 97 | a2dismod mpm_event |
98 | a2enmod mpm_prefork | |
ef6f3a9f | 99 | a2enmod headers |
71f85432 JD |
100 | # ensure opensrf can run Apache |
101 | chown -R opensrf:opensrf /var/lock/apache2 | |
7d30f3bf | 102 | |
ef6f3a9f | 103 | # More Apache stuff for non-production sites |
605401cc | 104 | if [[ ! -n "$PROD" ]] ; then |
09cde232 JD |
105 | if [ ! -d "/etc/apache2/includes" ] ; then |
106 | mkdir /etc/apache2/includes | |
107 | fi | |
ef6f3a9f | 108 | SITECONFIGS="/etc/apache2/sites-available/test-server.conf" |
605401cc | 109 | for SITECONFIG in ${SITECONFIGS} ; do |
605401cc JD |
110 | cp ${SITKACONF}/files/${SITECONFIG}/${HOSTNAME} ${SITECONFIG} |
111 | sed -i "s|__NONPROD__|${THISHOST}|g" ${SITECONFIG} | |
3148afad | 112 | sed -i "s|__VERSION__|${VERSION}|g" ${SITECONFIG} |
605401cc | 113 | done |
ef6f3a9f JD |
114 | a2ensite test-server.conf |
115 | a2dissite 000-default | |
884250a7 JD |
116 | if [ ! -d "/etc/apache2/ssl/libraries.coop/star.catalogue.libraries.coop" ] |
117 | then | |
118 | mkdir -p /etc/apache2/ssl/libraries.coop/star.catalogue.libraries.coop | |
119 | cp ${SITKACONF}/files/etc/ssl/apache2/star.catalogue.libraries.coop/star.catalogue.libraries.coop.crt /etc/apache2/ssl/libraries.coop/star.catalogue.libraries.coop/star_catalogue_libraries_coop.crt | |
120 | cp ${SITKACONF}/files/etc/ssl/apache2/star.catalogue.libraries.coop/star.catalogue.libraries.coop.key /etc/apache2/ssl/libraries.coop/star.catalogue.libraries.coop/star_catalogue_libraries_coop.key | |
121 | cp ${SITKACONF}/files/etc/ssl/apache2/star.catalogue.libraries.coop/star.catalogue.libraries.coop.ca /etc/apache2/ssl/libraries.coop/star.catalogue.libraries.coop/star_catalogue_libraries_coop.ca | |
122 | fi | |
605401cc JD |
123 | fi |
124 | ||
7b2b5e72 JD |
125 | # websockets config |
126 | if [[ -n "$WEBCLIENT" ]] ; then | |
127 | # use nginx proxy for websockets traffic | |
128 | apt-get install -y nginx | |
cd706301 | 129 | cp -b ${SITKACONF}/files/etc/nginx/sites-available/osrf-ws-http-proxy/${HOSTNAME} /etc/nginx/sites-available/osrf-ws-http-proxy |
7b2b5e72 JD |
130 | ln -s /etc/nginx/sites-available/osrf-ws-http-proxy /etc/nginx/sites-enabled/osrf-ws-http-proxy |
131 | rm /etc/nginx/sites-enabled/default | |
132 | cp -b ${SITKACONF}/files/etc/apache2/ports.conf/${HOSTNAME} /etc/apache2/ports.conf | |
133 | WSJSFILES="opensrf_ws.js opensrf_ws_shared.js" | |
134 | for WSJSFILE in ${WSJSFILES} ; do | |
135 | # NOTE: this should be unnecessary if we installed OpenSRF with ./configure --with-websockets-port=443 | |
136 | sed -i 's/var WEBSOCKET_PORT_SSL = 7682;/var WEBSOCKET_PORT_SSL = 443;/g' ${INSTALLDIR}/lib/javascript/$WSJSFILE | |
137 | done | |
138 | # apache2-websockets | |
139 | if [[ ! -n "$PROD" ]] ; then | |
140 | if [ ! -d "/etc/apache2-websockets/ssl" ] ; then | |
141 | cd /etc/apache2-websockets/ && ln -s /etc/apache2/ssl | |
142 | fi | |
7b2b5e72 | 143 | fi |
e4d4fe00 | 144 | if [ ! -d "/etc/apache2-websockets/includes" ] ; then |
145 | mkdir /etc/apache2-websockets/includes | |
146 | fi | |
147 | for WSINCLUDE in `ls /etc/apache2/includes` ; do | |
148 | ln -s /etc/apache2/includes/${WSINCLUDE} /etc/apache2-websockets/includes/ | |
149 | done | |
150 | for WSSITE in `ls /etc/apache2/sites-available` ; do | |
151 | ln -s /etc/apache2/sites-available/${WSSITE} /etc/apache2-websockets/sites-available/ | |
e4d4fe00 | 152 | done |
f641a675 JD |
153 | for WSSITEENABLED in `ls /etc/apache2/sites-enabled` ; do |
154 | ln -s /etc/apache2-websockets/sites-available/${WSSITEENABLED} /etc/apache2-websockets/sites-enabled/ | |
155 | done | |
156 | if [[ -d "/etc/apache2-websockets/ssl" ]] ; then | |
157 | rm -rf /etc/apache2-websockets/ssl | |
158 | fi | |
159 | cd /etc/apache2-websockets && ln -s /etc/apache2/ssl | |
7b2b5e72 JD |
160 | fi |
161 | ||
286e0b2b JD |
162 | # install default crontab, if specified |
163 | if [[ -c "$CRONTAB" ]]; then | |
164 | if [ ! -f "/etc/cron.d/evergreen-dailies" ] ; then | |
165 | cp ${SITKACONF}/files/etc/cron.d/evergreen-dailies/${HOSTNAME} /etc/cron.d/evergreen-dailies | |
166 | fi | |
167 | fi | |
168 | ||
26b3ea66 | 169 | # set up log rotation |
702f0bd2 JD |
170 | if [[ ! -n "$PROD" ]] ; then |
171 | if [ ! -f "/etc/logrotate.d/evergreen" ] | |
172 | then | |
173 | cp ${SITKACONF}/files/etc/logrotate.d/evergreen/${HOSTNAME} /etc/logrotate.d/evergreen | |
174 | fi | |
26b3ea66 | 175 | fi |
bcd0a18c JD |
176 | |
177 | # action trigger filters (prod only) | |
178 | if [[ -n "$PROD" ]] ; then | |
179 | if [ -f "${INSTALLDIR}/conf/action_trigger_filters.json" ] ; then | |
180 | mv ${INSTALLDIR}/conf/action_trigger_filters.json ${INSTALLDIR}/conf/action_trigger_filters.json.`date +%Y-%m-%d-%H%M%S` | |
181 | fi | |
182 | cp ${SITKACONF}/files/${INSTALLDIR}/conf/action_trigger_filters.json/${HOSTNAME} ${INSTALLDIR}/conf/action_trigger_filters.json | |
183 | fi | |
0155bbac | 184 | |
0155bbac JD |
185 | # 0. osrf conf stuff |
186 | # FIXME: ensure osrf conf files point at a real, distinct db! | |
187 | OSRFCONFFILES="${INSTALLDIR}/conf/opensrf.xml ${INSTALLDIR}/conf/opensrf_core.xml" | |
188 | for OSRFCONFFILE in ${OSRFCONFFILES} | |
189 | do | |
40ce1f36 JD |
190 | mv ${OSRFCONFFILE} ${OSRFCONFFILE}.`date +%Y-%m-%d-%H%M%S` |
191 | cp ${SITKACONF}/files/${OSRFCONFFILE}/${HOSTNAME} ${OSRFCONFFILE} | |
192 | sed -i "s|__HOSTNAME__|${THISHOST}|g" ${OSRFCONFFILE} | |
0155bbac | 193 | done |
661d99f4 | 194 | if [ ! -f "/home/opensrf/.srfsh.xml" ] |
9d46f12d | 195 | then |
661d99f4 | 196 | cp ${SITKACONF}/files/home/opensrf/.srfsh.xml/${HOSTNAME} /home/opensrf/.srfsh.xml |
9d46f12d JD |
197 | fi |
198 | ||
0155bbac | 199 | # 1. install dojo |
abcafeff | 200 | if [ ! -f "/home/opensrf/dojo-release-1.3.3.tar.gz" ] |
51a4755a JD |
201 | then |
202 | cd /home/opensrf && wget http://download.dojotoolkit.org/release-1.3.3/dojo-release-1.3.3.tar.gz | |
203 | fi | |
0155bbac JD |
204 | tar -C ${INSTALLDIR}/var/web/js -xzf /home/opensrf/dojo-release-1.3.3.tar.gz |
205 | cp -r ${INSTALLDIR}/var/web/js/dojo-release-1.3.3/* ${INSTALLDIR}/var/web/js/dojo/. | |
4b074e2e JD |
206 | # FIXME stock dojo is probably superfluous when we use the following Evergreen-specific tarball... |
207 | if [ ! -f "/home/opensrf/dojo.tgz" ] ; then | |
208 | cd /home/opensrf && wget http://evergreen-ils.org/downloads/dojo.tgz | |
209 | fi | |
210 | tar -C ${INSTALLDIR}/var/web/js/dojo/ -zxf /home/opensrf/dojo.tgz | |
0155bbac JD |
211 | |
212 | # 2. set up staff client | |
9d46f12d | 213 | cd ${INSTALLDIR}/var/web/xul && rm server && rm current |
0155bbac | 214 | cd ${INSTALLDIR}/var/web/xul && ln -s ${STAMP_ID} current && ln -s current/server server |
03b5e41f JD |
215 | for ALT_STAMP_ID in ${ALT_STAMP_IDS} |
216 | do | |
217 | cd ${INSTALLDIR}/var/web/xul && ln -s current ${ALT_STAMP_ID} | |
218 | done | |
0155bbac | 219 | |
9d46f12d | 220 | # 3. install circ scripts and opac skins - DEPRECATED |
71f85432 | 221 | |
96b76bbb JD |
222 | # 4a. avoid 404s |
223 | touch ${INSTALLDIR}/var/web/css/skin/default/register_custom.css | |
224 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-CA/patron_custom.properties | |
225 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-CA/common_custom.properties | |
226 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-CA/offline_custom.properties | |
227 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-CA/auth_custom.properties | |
228 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-CA/cat_custom.properties | |
229 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-CA/circ_custom.properties | |
230 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-US/patron_custom.properties | |
231 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-US/common_custom.properties | |
232 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-US/offline_custom.properties | |
233 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-US/auth_custom.properties | |
234 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-US/cat_custom.properties | |
235 | touch ${INSTALLDIR}/var/web/xul/server/locale/en-US/circ_custom.properties | |
236 | touch ${INSTALLDIR}/var/web/xul/server/skin/custom.js | |
237 | ||
238 | # 4b. workaround for LP#1461683 | |
239 | cd ${INSTALLDIR}/var/web/xul/server/locale/en-CA && mv multiclass_search_help.html multiclass_search_help.html.orig && ln -s ../en-US/multiclass_search_help.html | |
71f85432 JD |
240 | |
241 | # 5. locale hack - XXX deprecated? | |
242 | #cd ${INSTALLDIR}/var/web/opac/locale && cp -fdr en-US en-US-bak && cp -fdr en-CA en-US | |
0155bbac JD |
243 | |
244 | # 6. deletepatron | |
245 | # ensure apache conf contains deletepatron config (location should be ${INSTALLDIR}/var/web/deletepatron) | |
437b75c1 JD |
246 | if [[ ! -d "${INSTALLDIR}/var/web/deletepatron" ]] ; then |
247 | NEW_DELETEPATRON_INSTALL="true" | |
248 | cd ${INSTALLDIR}/var/web && git clone https://github.com/twirlip/deletepatron.git | |
249 | fi | |
250 | cd ${INSTALLDIR}/var/web/deletepatron && git checkout eg22 | |
251 | if [[ -n "$NEW_DELETEPATRON_INSTALL" ]] ; then | |
252 | find ${INSTALLDIR}/var/web/deletepatron -name "*.pm" | xargs sed -i -e 's|/openils|/srv/openils|g' | |
253 | fi | |
ae9cb412 | 254 | apt-get install -y libcgi-session-perl libhtml-template-perl |
0155bbac | 255 | |
f3b555fc JD |
256 | # 7. support scripts |
257 | cp ${BUILDDIR}/Open-ILS/src/support-scripts/generate_circ_notices.pl ${INSTALLDIR}/bin | |
22b9d1ac | 258 | cp ${BUILDDIR}/Open-ILS/src/support-scripts/oils_header.pl ${INSTALLDIR}/bin |
9c35266e | 259 | cp ${BUILDDIR}/Open-ILS/src/support-scripts/badge_score_generator.pl ${INSTALLDIR}/bin |
f3b555fc JD |
260 | |
261 | # 7.5 EDI (optional) | |
262 | if [[ -n "$EDI" ]] ; then | |
263 | cp -r ${BUILDDIR}/Open-ILS/src/edi_translator ${INSTALLDIR}/var/edi | |
264 | cd ${INSTALLDIR}/var/edi && ./install.sh | |
265 | cp ${BUILDDIR}/Open-ILS/src/support-scripts/edi_pusher.pl ${INSTALLDIR}/bin | |
266 | cp ${BUILDDIR}/Open-ILS/src/support-scripts/edi_fetcher.pl ${INSTALLDIR}/bin | |
267 | cp ${SYSADMIN}/files/${INSTALLDIR}/bin/edi_per_account_fetcher.sh ${INSTALLDIR}/bin/edi_per_account_fetcher.sh | |
268 | fi | |
0155bbac | 269 | |
c05e3516 JD |
270 | # 8. setup start page |
271 | if [ ! -d "${INSTALLDIR}/var/web/news" ] | |
272 | then | |
273 | mkdir ${INSTALLDIR}/var/web/news | |
274 | fi | |
24057702 JD |
275 | if [ ! -d "${INSTALLDIR}/var/web/news/media" ] |
276 | then | |
277 | mkdir ${INSTALLDIR}/var/web/news/media | |
278 | fi | |
279 | NEWSFILES="index.html style.css media/logo.png media/book.png media/policy.png media/dash.png media/delete.png" | |
c05e3516 JD |
280 | for NEWSFILE in ${NEWSFILES} |
281 | do | |
282 | if [ -f "${SITKACONF}/files/${INSTALLDIR}/var/web/news/${NEWSFILE}/${HOSTNAME}" ] | |
283 | then | |
284 | cp ${SITKACONF}/files/${INSTALLDIR}/var/web/news/${NEWSFILE}/${HOSTNAME} ${INSTALLDIR}/var/web/news/${NEWSFILE} | |
285 | fi | |
286 | done | |
24057702 JD |
287 | if [[ -n "$PROD" ]] ; then |
288 | if [ ! -e "${INSTALLDIR}/var/web/news/wikipull.pl" ] ; then cp ${SITKACONF}/files/${INSTALLDIR}/var/web/news/wikipull.pl/${HOSTNAME} ${INSTALLDIR}/var/web/news/wikipull.pl ; fi | |
289 | if [ ! -e "/etc/cron.d/news" ] ; then cp ${SITKACONF}/files/etc/cron.d/news/${HOSTNAME} /etc/cron.d/news ; fi | |
5edb204e JD |
290 | else |
291 | # nonprod server, auto-update splash page with install info | |
5edb204e | 292 | TODAY=`date +'%A %d %B %Y'` |
605401cc JD |
293 | sed -i "s|__THISHOST__|${THISHOST}|g" ${INSTALLDIR}/var/web/news/index.html |
294 | sed -i "s|__TODAY__|${TODAY}|g" ${INSTALLDIR}/var/web/news/index.html | |
295 | sed -i "s|__VERSION__|${VERSION}|g" ${INSTALLDIR}/var/web/news/index.html | |
296 | sed -i "s|__BRANCH__|${BRANCH}|g" ${INSTALLDIR}/var/web/news/index.html | |
24057702 | 297 | fi |
c05e3516 | 298 | |
341cf34e | 299 | # 8.5 offline patron list |
24057702 JD |
300 | if [ ! -d "${INSTALLDIR}/var/data/offline/blocked" ] ; then |
301 | # TODO: handle prod - an NFS share should exist | |
302 | if [[ ! -n "$PROD" ]] ; then | |
303 | mkdir -p ${INSTALLDIR}/var/data/offline/blocked | |
304 | fi | |
305 | fi | |
437b75c1 | 306 | if [ ! -e "${INSTALLDIR}/var/web/standalone/list.txt" ] ; then ln -sf ${INSTALLDIR}/var/data/offline/blocked/patron-block-list.txt ${INSTALLDIR}/var/web/standalone/list.txt ; fi |
341cf34e JD |
307 | if [ ! -e "${INSTALLDIR}/bin/update-offline-blocked-list.sh" ] ; then cp ${SITKATOOLS}/maintenance/update-offline-blocked-list.sh ${INSTALLDIR}/bin/update-offline-blocked-list.sh ; fi |
308 | ||
f37d71da | 309 | cp ${SITKACONF}/files${INSTALLDIR}/var/data/zips.txt/${HOSTNAME} ${INSTALLDIR}/var/data/zips.txt |
661d99f4 | 310 | |
f5bb272b JD |
311 | # install legacy OverDrive API integration |
312 | cp -r ${SITKATOOLS}/overdrive-eg-opac/build/* ${INSTALLDIR}/var/web/js/ui/default/opac | |
313 | ODAPI_LIBS="bc mb" | |
314 | for ODAPI_LIB in ${ODAPI_LIBS} ; do | |
315 | cp ${SITKACONF}/files/${INSTALLDIR}/var/web/js/ui/default/opac/${ODAPI_LIB}/od_config.js ${INSTALLDIR}/var/web/js/ui/default/opac/${ODAPI_LIB}/od_config.js | |
316 | done | |
02bd66d5 | 317 | |
ea5fbaea JD |
318 | # install mobile PAC |
319 | cd ${INSTALLDIR}/var/web/opac/extras && git clone git://git.sitka.bclibraries.ca/sitka/mobile-evergreen-opac.git mobile | |
320 | ||
c05e3516 | 321 | # 9. make sure opensrf owns all the stuff we just did |
b7afc39d | 322 | echo 'managing file permissions...' |
af205db8 JD |
323 | if [[ ! -n "$PROD" ]] ; then |
324 | chown -R opensrf:opensrf ${INSTALLDIR} 2>/dev/null | |
325 | else | |
326 | for file in `ls -1 ${INSTALLDIR} | grep -v var` ; do chown -R opensrf:opensrf ${INSTALLDIR}/$file ; done | |
327 | chown opensrf:opensrf ${INSTALLDIR}/var | |
328 | for file in `ls -1 ${INSTALLDIR}/var | egrep -v '(data|tmp|web)'` ; do chown -R opensrf:opensrf ${INSTALLDIR}/var/$file ; done | |
329 | chown opensrf:opensrf ${INSTALLDIR}/var/data ${INSTALLDIR}/var/web | |
330 | for file in `ls -1 ${INSTALLDIR}/var/data | grep -v offline` ; do chown -R opensrf:opensrf ${INSTALLDIR}/var/data/$file ; done | |
331 | for file in `ls -1 ${INSTALLDIR}/var/web | grep -v reporter` ; do chown -R opensrf:opensrf ${INSTALLDIR}/var/web/$file ; done | |
332 | fi | |
d4e88b8a | 333 | chown -R opensrf:opensrf /home/opensrf |
7f126d3b JD |
334 | SKINDIRS="${INSTALLDIR}/var/skins ${INSTALLDIR}/var/web/css/skin" |
335 | for SKINDIR in ${SKINDIRS} ; do | |
336 | if [[ ! -d "${SKINDIR}" ]] ; then mkdir ${SKINDIR} ; fi | |
337 | chmod 777 ${SKINDIR} | |
bd4a0e27 | 338 | chown -R ${DEFAULT_USER}:${DEFAULT_USER} ${SKINDIR} |
7f126d3b | 339 | done |
bd4a0e27 | 340 | chown -R ${DEFAULT_USER}:${DEFAULT_USER} ${INSTALLDIR}/conf/kpac ${INSTALLDIR}/var/web/images/kpac |
0155bbac | 341 | |
d4e88b8a | 342 | # 10. staff client stuff |
ae9cb412 | 343 | apt-get install -y nsis unzip |
089f11fb JD |
344 | |
345 | # 11. integrity checker prereqs | |
ae9cb412 | 346 | apt-get install -y libconfig-simple-perl libgit-repository-perl libdate-manip-perl |
ee1de43f JD |
347 | |
348 | # 12. paper overdue prereqs | |
5e12a76f | 349 | apt-get install -y python-reportlab python-reportlab-accel unifont |
6298f1c5 | 350 | |
a4d987d6 | 351 | echo 'Evergreen is installed!' |
676b054f | 352 | if [[ -n "$WEBCLIENT" ]] ; then |
6298f1c5 JD |
353 | echo 'Remember to start the websockets service: /etc/init.d/apache2-websockets start' |
354 | fi | |
355 |