source: gsdl/trunk/GSI-Makefile@ 18764

Last change on this file since 18764 was 18764, checked in by ak19, 15 years ago

Apache configure prefix has been adjusted in the configure file in the runtime-src/packages folder, so that the apache subfolders are extracted inside the GSDLOS folder. Needed to take this into account in the httpd.conf file that is generated, where GSDLOS placeholders were added. The GSI-Makefile now resolves these.

File size: 4.7 KB
Line 
1###########################################################################
2#
3# GSI-Makefile -- Greenstone Server Interface makefile
4# A component of the Greenstone digital library software
5# from the New Zealand Digital Library Project at the
6# University of Waikato, New Zealand.
7#
8# Copyright (C) 1999 The New Zealand Digital Library Project
9#
10#
11# This program is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not, write to the Free Software
23# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24#
25###########################################################################
26
27test-gsdlhome:
28 @ if test -z "${GSDLHOME}" ; then \
29 echo "" ; \
30 echo "Environment variable GSDLHOME not set." ; \
31 echo " This needs to be set to run this Makefile target." ; \
32 echo " Have you run 'source setup.bash'?" ; \
33 echo "" ; \
34 exit 1; \
35 else \
36 echo "Using: " ; \
37 echo " GSDLHOME = ${GSDLHOME}" ; \
38 echo " GSDLOS = ${GSDLOS}" ; \
39 fi
40
41configure-cgi: test-gsdlhome
42 @ if test ! -e ${GSDLHOME}/cgi-bin/gsdlsite.cfg ; then \
43 echo "Configuring cgi-bin/gsdlsite.cfg" ; \
44 sed "s@\*\*GSDLHOME\*\*@${GSDLHOME}@g" cgi-bin/gsdlsite.cfg.in > cgi-bin/gsdlsite.cfg ; \
45 else \
46 echo "WARNING: Nothing done for make configure-cgi." ; \
47 echo " If you wish to regenerate the file " ; \
48 echo " ${GSDLHOME}/cgi-bin/gsdlsite.cfg" ; \
49 echo " from scratch, delete the existing file first." ; \
50 fi
51
52configure-admin: test-gsdlhome
53 @echo "" ;
54 @echo "Configuring admin user password:" ;
55 @ (encrypted_password=`getpw` ; \
56 if [ $$? = "0" ] ; then \
57 echo -e "[admin]\n<enabled>true\n<groups>administrator,colbuilder,all-collections-editor\n<password>$$encrypted_password\n<username>admin" \
58 | txt2db -append "${GSDLHOME}/etc/users.db" ; \
59 else \
60 echo "Did not set password" ; \
61 fi)
62 @echo ""
63
64configure-port: test-gsdlhome
65 @ echo "Enter port number to use:"
66 @ ( read port ; \
67 if test ! -z $$port ; then \
68 echo "Port: $$port" ; \
69 echo "Stopping web server (if running)" ; \
70 make -f GSI-Makefile web-stop-tested ; \
71 echo "Setting config file to use port $$port"; \
72 cat "${GSDLHOME}/apache-httpd/${GSDLOS}/conf/httpd.conf.in" \
73 | sed "s@\*\*PORT\*\*@$$port@g" \
74 | sed "s@\*\*GSDLHOME\*\*@${GSDLHOME}@g" \
75 | sed "s@\*\*GSDLOS\*\*@${GSDLOS}@g" \
76 > "${GSDLHOME}/apache-httpd/${GSDLOS}/conf/httpd.conf" ; \
77 if test -e Makefile ; then \
78 echo "Type 'make web-start' to start the web server running on port $$port" ; \
79 else \
80 echo "Type 'make -f GSI-Makefile web-start' to start the web server running on port $$port" ; \
81 fi ; \
82 fi ; \
83 echo "Done" ; )
84
85
86
87MONITOR_SUCCESS="MAKE SUCCESSFUL"
88MONITOR_FAILED="MAKE FAILED"
89MONITOR_FINISHED="MAKE DONE"
90
91configure-apache: test-gsdlhome
92 @ echo "Configuring the apache webserver..." ;
93 @ ( port=`egrep "^apache.port" ${GSDLHOME}/lib/java/build.properties | awk -F= '{print $$2}'` ; \
94 echo $$port | make -f GSI-Makefile configure-port ; )
95 @ if test -e "${GSDLHOME}/apache-httpd/${GSDLOS}/conf/httpd.conf" ; then \
96 echo $(MONITOR_SUCCESS); \
97 else \
98 echo $(MONITOR_FAILED); \
99 fi
100 @ echo $(MONITOR_FINISHED)
101
102
103configure-web: configure-cgi configure-apache
104
105web-status: test-gsdlhome
106 ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl status
107
108web-start: test-gsdlhome
109 ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl start
110 @ echo $(MONITOR_SUCCESS)
111 @ echo $(MONITOR_FINISHED)
112
113web-restart: test-gsdlhome
114 ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl restart
115 @ echo $(MONITOR_SUCCESS)
116 @ echo $(MONITOR_FINISHED)
117
118web-graceful: test-gsdlhome
119 ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl graceful
120 @ echo $(MONITOR_SUCCESS)
121 @ echo $(MONITOR_FINISHED)
122
123web-stop-tested:
124 @# This version runs without testing for GSDLHOME
125 @# Useful to be run as a target when we know test-gsdlhome has already
126 @# been done. This avoids a unnecessary repetition of printing
127 @# out the values of GSDLHOME and GSDLOS
128 @ if test -e "${GSDLHOME}/apache-httpd/${GSDLOS}/conf/httpd.conf" ; then \
129 ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl stop ; \
130 fi
131
132web-stop: test-gsdlhome web-stop-tested
133 @ echo $(MONITOR_SUCCESS)
134 @ echo $(MONITOR_FINISHED)
Note: See TracBrowser for help on using the repository browser.