You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2004/08/27 09:55:02 UTC
cvs commit: ws-axis/c/deploy/bin deploy_apache2.sh deploy_apache.sh
damitha 2004/08/27 00:55:02
Modified: c mkinstalldirs configure.ac build.sh_sample INSTALL
c/deploy/bin deploy_apache2.sh deploy_apache.sh
Log:
Install process is now like complete for the moment. Updated the INSTALL
to reflect this.
Revision Changes Path
1.2 +15 -0 ws-axis/c/mkinstalldirs
Index: mkinstalldirs
===================================================================
RCS file: /home/cvs/ws-axis/c/mkinstalldirs,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mkinstalldirs 16 Aug 2004 11:16:57 -0000 1.1
+++ mkinstalldirs 27 Aug 2004 07:55:01 -0000 1.2
@@ -7,6 +7,19 @@
errstatus=0
dirmode=""
+if ! test -d '${AXISCPP_DEPLOY}/docs'; then
+ cp -rf ./docs ${AXISCPP_DEPLOY}
+fi
+if ! test -d '${AXISCPP_DEPLOY}/samples'; then
+ cp -rf ./samples ${AXISCPP_DEPLOY}
+fi
+if ! test -d '${AXISCPP_DEPLOY}/tests'; then
+ cp -rf ./tests ${AXISCPP_DEPLOY}
+fi
+if ! test -d '${AXISCPP_DEPLOY}/log'; then
+ mkdir ${AXISCPP_DEPLOY}/log
+ chmod 777 ${AXISCPP_DEPLOY}/log
+fi
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
@@ -89,6 +102,8 @@
pathcomp="$pathcomp/"
done
done
+#if !(test -d '${AXISCPP_DEPLOY}/docs')
+# cp -rf docs ${AXISCPP_DEPLOY}/
exit $errstatus
1.47 +1 -1 ws-axis/c/configure.ac
Index: configure.ac
===================================================================
RCS file: /home/cvs/ws-axis/c/configure.ac,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- configure.ac 17 Aug 2004 13:05:48 -0000 1.46
+++ configure.ac 27 Aug 2004 07:55:01 -0000 1.47
@@ -193,7 +193,7 @@
CFLAGS="-Wall -Wshadow ${ENABLELOGGING}"
CPPFLAGS="-Wall -Wshadow ${ENABLELOGGING}"
-LDFLAGS="-s -lstdc++"
+LDFLAGS="-lstdc++"
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
1.5 +18 -3 ws-axis/c/build.sh_sample
Index: build.sh_sample
===================================================================
RCS file: /home/cvs/ws-axis/c/build.sh_sample,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- build.sh_sample 17 Aug 2004 08:25:05 -0000 1.4
+++ build.sh_sample 27 Aug 2004 07:55:01 -0000 1.5
@@ -1,15 +1,30 @@
#!/bin/bash
+#
+# Copyright 2003-2004 The Apache Software Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# @author Damitha Kumarage (damitha@opensource.lk, damitha@jkcsworld.com)
+#
echo "----------------------------------"
echo "build server, client and samples"
echo "----------------------------------"
-#sh autogen.sh
echo "run configure"
./configure --prefix=/usr/local/axiscpp_deploy \
--with-apache2=/usr/local/apache2 \
--with-expat=/usr/local/expat1957
echo "make"
make 2> build_errors
-echo "make install"
-make install
1.21 +179 -10 ws-axis/c/INSTALL
Index: INSTALL
===================================================================
RCS file: /home/cvs/ws-axis/c/INSTALL,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- INSTALL 2 Aug 2004 04:20:29 -0000 1.20
+++ INSTALL 27 Aug 2004 07:55:01 -0000 1.21
@@ -34,10 +34,12 @@
httpd-2.0.48(source)
apache_1.3.27(source)
-Note: In my environment I have
-autoconf 2.57, automake 1.6.3, libtool 1.4.3, gcc 3.2.2
-
-If you use the generated configure script
+Note:
+If you are using provided configure and Makefile.in's you don't
+need to run autogen.sh script to generate them for your platform.
+In any case if you need to run it then following versions are recommended
+to be installed in your environment.
+autoconf 2.57, automake 1.6.3, libtool 1.4.3, gcc 3.2.2
You can download the Axis C++ source or binary from one of the apache mirror sites
@@ -47,15 +49,20 @@
You can get xercesc from the uri http://www.xml.apache.org/xerces-c/download.cgi
+Source distribution installation
+================================
+
+Unzip and untar the tgz ball.
You must define some environment variables in order to build.
AXISCPP_HOME is where you checkout Axis C++
-
------------------------------------------------------------
AXISCPP_HOME="/usr/local/axiscpp"
AXISCPP_DEPLOY="/usr/local/axiscpp_deploy"
-LD_LIBRARY_PATH="$AXISCPP_DEPLOY/lib:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$AXISCPP_DEPLOY/lib:<path to parser library you use>"
export AXISCPP_HOME AXISCPP_DEPLOY LD_LIBRARY_PATH
------------------------------------------------------------
+AXISCPP_HOME is where you extracted the source distribution.
+AXISCPP_DEPLOY is where Axis C++ will be deployed
Axis C++ core is independant of the parser layer and transport layer.
You can write your own transport or parser library according to the APIs provided. Currently Axis C++
@@ -77,12 +84,14 @@
with Xerces parser support only
with both parser support
-You can choose these selections on when you configure
+You can choose these selections when you configure
The build process
cd $AXISCPP_HOME
-================
+
+Following step is optional. If you need to generate configure and Makefile.in's instead
+of the provided one's you need to run autogen.sh
sh autogen.sh
@@ -120,7 +129,7 @@
--enable-libwww : By default libwww client transport library is built. If you don't need it
say no to this.
-You may rename and edit build.sh_sample for one step builing and installing.
+You may rename and edit build.sh_sample for one step configureing and building
Once you finished, have a look at $AXISCPP_HOME/build_errors. Most probably you will see many warnings.
Just ignore them. But if you see any errors it means that build was
@@ -230,10 +239,170 @@
* Check whether you have necessary permissions to create the deploy folder which
you give in configure option prefix.
eg: configure --prefix=/usr/local/axiscpp_deploy you need permission to write in
- /usr/local/
+ /usr/local/. Otherwise if you type make install you will get permission problems
* Check whether paths in server.wsdd are pointing correctly to service or hanlder libraries
* Check whether axiscpp.conf is containing correct entries
* Check whether Axis C++ can write to log folder($AXISCPP_DEPLOY/log)
+
+
+Binary distribution installation
+================================
+
+Unzip and untar the tgz ball.
+
+You must define some environment variables first.
+------------------------------------------------------------
+AXISCPP_DEPLOY="/usr/local/axiscpp_deploy"
+LD_LIBRARY_PATH="$AXISCPP_DEPLOY/lib:<path to parser library you use>"
+export AXISCPP_DEPLOY LD_LIBRARY_PATH
+------------------------------------------------------------
+AXISCPP_DEPLOY is where you extracted the binary distribution
+
+Have a look at the folder $AXISCPP_DEPLOY/lib to see what is there
+
+libaxiscpp_mod.so is apache module which is loaded when apache loads
+libaxiscpp_mod2.so is apache2 module which is loaded when apache2 loads
+libserver_engine.so is the Axis C++ server engine which is loaded by libaxis_mod(2).so module
+libaxiscpp_client.so is Axis C++ client library
+libaxis_transport.so is the Axis C++ client transport library
+libaxis_expat.so is the expat parser library implementation for Axis C++
+libaxis_xercesc.so is the xercesc parser library implmentation for Axis C++
+
+Also server samples are in
+$AXISCPP_DEPLOY/lib
+
+Client samples are in $AXISCPP_DEPLOY/bin
+
+Axis C++ core is independant of the parser layer and transport layer.
+You can write your own transport or parser library according to the APIs provided. Currently Axis C++
+provides API implementations for Xerces-c and Expat. It also provides it's own client side transport
+library implementation. In the server side deployment, Axis C++ provides two modules that can be loaded
+into apache1.3 and apache 2 as shared libraries.
+So this sums upto two posibilities.
+You can deploy Axis C++ server
+ on Apache2 with xercesc parser or expat parser(Only one parser at a time)
+ on Apache1.3 with xercesc parer or expat parser
+
+This binary comes with libraries built for apache1.3 and apache2 support and
+parser libraries both for expat and xercesc
+
+It also comes with all the sample libraries and sample executables and prebuilt tests.
+But If you need to build the samples and tests for yourself from the sample and test source
+do the following
+
+Sample and Test build process
+
+cd $AXISCPP_DEPLOY
+
+Following step is optional. If you need to generate configure and Makefile.in's instead
+of the provided one's you need to run autogen.sh
+
+sh autogen.sh
+
+./configure --prefix=$AXISCPP_DEPLOY
+
+make
+
+make install
+
+This will put sample libraries into $AXISCPP_DEPLOY/lib and
+sample executables into $AXISCPP_DEPLOY/bin
+
+Now you need to add to $<apache install directory>/conf/httpd.conf
+$ vi <apache install directory>/conf/httpd.conf
+
+At the bottom of the file you have to include following lines and save it.
+-------------------------------------------------
+LoadModule axis_module modules/libaxiscpp_mod2.so (in apache1.3 replace modules with libexec and libaxiscpp_mod2.so with libaxiscpp_mod.so)
+
+<Location /axis>
+
+SetHandler axis
+
+</Location>
+---------------------------------------------------
+
+Now you need the deployment descripter(server.wsdd) to deploy server samples you built.
+By default there is a deployment descripter in $AXISCPP_DEPLOY/conf to
+deploy samples
+
+In $AXISCPP_DEPLOY/etc/axiscpp.conf file you can give paths to
+your log files, configuration files libraries etc.
+------------------------------------------------------------------------------------------
+# The comment character is '#'
+#Available directives are as follows
+#(Some of these directives may not be implemented yet)
+#
+#WSDDFilePath:The path to the server wsdd
+#LogPath:The path to the axis log
+#ClientLogPath:The path to the axis client log
+#ClientWSDDFilePath:The path to the client wsdd
+#Transport_http:The HTTP transport library
+#Transport_smtp:The SMTP transport library
+#XMLParser:The xml parser library
+
+LogPath:/usr/local/axiscpp_deploy/log/AxisLog
+WSDDFilePath:/usr/local/axiscpp_deploy/etc/server.wsdd
+ClientLogPath:/usr/local/axiscpp_deploy/log/AxisClientLog
+XMLParser:/usr/local/axiscpp_deploy/lib/libaxis_xmlparser.so
+Transport_http:/usr/local/axiscpp_deploy/lib/libaxis_transport.so
+
+-----------------------------------------------------------------------------------------
+Now we need to copy apache module(libaxiscpp_mod2.so for apache2 and libaxiscpp_mod.so for apache)
+to the correct places and start apache. To
+do that you can find scripts written in $AXISCPP_DEPLOY/bin.
+cd $AXISCPP_DEPLOY/bin
+
+To deploy on apache2
+sh deploy_apache2.sh
+
+To deploy on apache
+sh deploy_apache.sh
+
+When you run the above script,
+libaxiscpp_mod2.so is copied to <your apache home>/modules folder.
+libaxis_expat.so is renamed to libaxis_xmlparser.so. Also apache is started and libaxiscpp_mod2.so is loaded into apache.
+libaxiscpp_mod2.so is the apache module for Axis C++. This will in term load Axis C++ server engine
+(libserver_engine.so).
+Note that libaxis_xmlparser.so is loaded by the engine dynamically as parsing is required from the
+engine.
+
+Note that somewhere in the script above it change
+the name libaxis_expat.so to libaxis_xmlparser.so.
+If we use xerces we need to change
+libaxis_xercesc.so to libaxis_xmlparser.so.
+
+If you have done installation successfully it will display the Axis C++ welcome page when you point to URI http://localhost/axis .
+Note: In the axis welcome page all the services in $AXISCPP_DEPLOY/conf/server.wsdd are listed. This does not mean
+that the libraries corresponding to these services are deployed yet. It merely list whatever in the server.wsdd.
+
+To run interop samples
+cd $AXISCPP_DEPLOY/bin
+./base localhost 80 etc.
+
+(Check whether there is a script run_interoptests.sh in that folder which
+ can be used to run all the interop tests)
+
+If you don't get it right check with the following list
+
+
+* Check whether AXISCPP_DEPLOY and LD_LIBRARY_PATH is set where you start apache
+ build axis c++ and run clients by
+ echo $AXISCPP_DEPLOY
+ echo $LD_LIBRARY_PATH
+
+* Check whether you have necessary permissions to create the deploy folder which
+ you give in configure option prefix.
+ eg: configure --prefix=/usr/local/axiscpp_deploy you need permission to write in
+ /usr/local/. Otherwise if you type make install you will get permission problems
+
+* Check whether paths in server.wsdd are pointing correctly to service or hanlder libraries
+
+* Check whether axiscpp.conf is containing correct entries
+
+* Check whether Axis C++ can write to log folder($AXISCPP_DEPLOY/log)
+
+
1.3 +18 -6 ws-axis/c/deploy/bin/deploy_apache2.sh
Index: deploy_apache2.sh
===================================================================
RCS file: /home/cvs/ws-axis/c/deploy/bin/deploy_apache2.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- deploy_apache2.sh 29 Jul 2004 12:37:50 -0000 1.2
+++ deploy_apache2.sh 27 Aug 2004 07:55:01 -0000 1.3
@@ -1,15 +1,27 @@
#!/bin/bash
+#
+# Copyright 2003-2004 The Apache Software Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# @author Damitha Kumarage (damitha@opensource.lk, damitha@jkcsworld.com)
+#
rm /usr/local/apache2/modules/libaxiscpp_mod2.so
rm ../lib/libaxis_xmlparser.so
cp -f ../lib/libaxiscpp_mod2.so /usr/local/apache2/modules/
cp -f ../lib/libaxis_expat.so ../lib/libaxis_xmlparser.so
-if test -d ../log; then
- echo "Checking log folder..."
-else
- mkdir ../log
-fi
-chmod 777 ../log
cp -f ../etc/server.wsdd_linux ../etc/server.wsdd
cp -f ../etc/client.wsdd_linux ../etc/client.wsdd
cp -f ../etc/axiscpp.conf_linux ../etc/axiscpp.conf
1.3 +19 -6 ws-axis/c/deploy/bin/deploy_apache.sh
Index: deploy_apache.sh
===================================================================
RCS file: /home/cvs/ws-axis/c/deploy/bin/deploy_apache.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- deploy_apache.sh 29 Jul 2004 12:37:50 -0000 1.2
+++ deploy_apache.sh 27 Aug 2004 07:55:01 -0000 1.3
@@ -1,15 +1,28 @@
#!/bin/bash
+#
+# Copyright 2003-2004 The Apache Software Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# @author Damitha Kumarage (damitha@opensource.lk, damitha@jkcsworld.com)
+#
+
rm /usr/local/apache/libexec/libaxiscpp_mod.so
rm ../lib/libaxis_xmlparser.so
cp -f ../lib/libaxiscpp_mod.so /usr/local/apache/libexec/
cp -f ../lib/libaxis_expat.so ../lib/libaxis_xmlparser.so
-if test -d ../log; then
- echo "Checking log folder..."
-else
- mkdir ../log
-fi
-chmod 777 ../log
cp -f ../etc/server.wsdd_linux ../etc/server.wsdd
cp -f ../etc/client.wsdd_linux ../etc/client.wsdd
cp -f ../etc/axiscpp.conf_linux ../etc/axiscpp.conf