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 ro...@apache.org on 2004/08/17 06:43:20 UTC
cvs commit: ws-axis/c/docs/linux/cpp lininstall-guide.html
roshan 2004/08/16 21:43:19
Modified: c/docs/linux/cpp lininstall-guide.html
Log:
Edited instructions in the Linux Installation Guide for relelase 1.3 alpha. Changed by Rangika
Revision Changes Path
1.9 +106 -131 ws-axis/c/docs/linux/cpp/lininstall-guide.html
Index: lininstall-guide.html
===================================================================
RCS file: /home/cvs/ws-axis/c/docs/linux/cpp/lininstall-guide.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- lininstall-guide.html 20 Jul 2004 09:15:03 -0000 1.8
+++ lininstall-guide.html 17 Aug 2004 04:43:19 -0000 1.9
@@ -48,28 +48,18 @@
libtool 1.4.3 <br>
gcc 3.2.2</b></p>
<p> You can download the Axis C++ source or binary from one of the apache mirror sites <br>
- http://ws.apache.org/axis/cpp/download.html<br> <br>
-You can get expat from the uri http://sourceforge.net/projects/expat/<br> <br>
+ <a href="http://ws.apache.org/axis/cpp/download.html">http://ws.apache.org/axis/cpp/download.html</a><br> <br>
+You can get expat from the uri <a href="http://sourceforge.net/projects/expat/">http://sourceforge.net/projects/expat/</a><br> <br>
-You can get xercesc from the uri http://www.xml.apache.org/xerces-c/download.cgi<br> <br>
+You can get xercesc from the uri <a href="http://xml.apache.org/xerces-c/download.cgi">http://xml.apache.org/xerces-c/download.cgi</a><br> <br>
-You must define some environment variables in order to build.AXISCPP_HOME is where you checkout Axis C++</p>
+You must define some environment variables in order to build. <br>
+AXISCPP_HOME is where you checkout Axis C++</p>
<br>
-<p><b>AXISCPP_HOME="/home/damitha/projects/axiscpp"</b><br>
-<b>AXIS_HOME="/usr/local/Axis"</b><br>
-<b>EXPAT_HOME="/usr/local/expat1957"</b><br>
-<b>XERCESC_HOME="/usr/local/xerces-c"</b><br>
-<b>LD_LIBRARY_PATH="$XERCESC_HOME/lib:$EXPAT_HOME/lib:$AXISCPP_HOME/bin:$AXIS_HOME/libs:$LD_LIBRARY_PATH"</b><br>
-<b>export AXISCPP_HOME AXIS_HOME XERCESC_HOME EXPAT_HOME LD_LIBRARY_PATH</b></p>
-
-<p><b>A note about AXIS_HOME</b></p>
-<p>Copy $AXISCPP_HOME/deploy folder to a place of your choice and define AXIS_HOME pointing to it.<br>
-<b>cp -rf $AXISCPP_HOME/deploy /usr/local/</b><br>
-<b>mv /usr/local/deploy /usr/local/Axis</b><br>
-Give read write permissions to /usr/local/Axis<br><br>
-
-<p>EXPAT_HOME points to the place where expat is installed <br>
-XERCESC_HOME points to the place where xereces-c is installed </p>
+<p><b>AXISCPP_HOME="/usr/local/axiscpp"</b><br>
+<b>AXISCPP_DEPLOY="/usr/local/axiscpp_deploy"</b><br>
+<b>LD_LIBRARY_PATH="$AXISCPP_DEPLOY/lib:$LD_LIBRARY_PATH"</b><br>
+<b>export AXISCPP_HOME AXISCPP_DEPLOY LD_LIBRARY_PATH</b><br> </p>
<p>Axis C++ core is independant of the parser layer and transport layer.</p>
<p>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.</p>
@@ -77,7 +67,7 @@
You can deploy Axis C++ server <br>
    On Apache2 with xercesc parser or expat parser(Only one parser at a time)<br>
    On Apache1.3 with xercesc parser or expat parser<br>
-So if you use only Expat you don't have to define XERCESC_HOME vice versa.</p>
+</p>
<p><b>When you build Axis C++ you can give options</b></p>
<p><b>1) Build for Apache2</b><br>
@@ -88,100 +78,69 @@
With Expat parser support only<br>
With Xerces parser support only<br>
With both parser support</p>
-<p>You can choose these selections on $AXISCPP_HOME/configure.ac</p>
-
-<p>#<b>{apache2 block starts</p>
-<p>#if you use apache2 <br>
-#if you need to build both axis_expat and axis_xerces libraries</b><br>
-
-
-<p>AC_OUTPUT(Makefile src/Makefile src/common/Makefile src/soap/Makefile src/wsdd/Makefile src/xml/Makefile<br> src/transport/Makefile src/transport/axis/Makefile src/engine/Makefile src/engine/server/Makefile src/engine/client/Makefile <br> src/server/Makefile src/server/apache2/Makefile src/server/simple_axis_server/Makefile src/server/adminservice/Makefile<br> src/client/Makefile src/client/adminclient/Makefile src/xml/expat/Makefile src/xml/xerces/Makefile)</p>
-
-<p><b>#if you need to build only axis_expat</b></p>
-<p>#AC_OUTPUT(Makefile src/Makefile src/common/Makefile src/soap/Makefile src/wsdd/Makefile src/xml/Makefile<br> src/transport/Makefile src/transport/axis/Makefile src/engine/Makefile src/engine/server/Makefile src/engine/client/Makefile<br> src/server/Makefile src/server/apache2/Makefile src/server/simple_axis_server/Makefile src/server/adminservice/Makefile<br> src/client/Makefile src/client/adminclient/Makefile src/xml/expat/Makefile)</p>
-
-<p><b>#if you need to build only axis_xerces</b></p>
-<p>#AC_OUTPUT(Makefile src/Makefile src/common/Makefile src/soap/Makefile src/wsdd/Makefile src/xml/Makefile<br> src/transport/Makefile src/transport/axis/Makefile src/engine/Makefile src/engine/server/Makefile src/engine/client/Makefile<br> src/server/Makefile src/server/apache2/Makefile src/server/simple_axis_server/Makefile src/server/adminservice/Makefile<br> src/client/Makefile src/client/adminclient/Makefile src/xml/xerces/Makefile)</p>
-
-<p><b>#apache2 block ends</b><br> <br>
-
-#<b>{apache1.3 block starts</b><br>
-<p><b>#if you use apache1.3 and you need to build both axis_expat and axis_xerces libraries</b></p>
-<p>#AC_OUTPUT(Makefile src/Makefile src/common/Makefile src/soap/Makefile src/wsdd/Makefile src/xml/Makefile<br> src/transport/Makefile src/transport/axis/Makefile src/engine/Makefile src/engine/server/Makefile src/engine/client/Makefile<br> src/server/Makefile src/server/apache/Makefile src/server/simple_axis_server/Makefile src/server/adminservice/Makefile<br> src/client/Makefile src/client/adminclient/Makefile src/xml/expat/Makefile src/xml/xerces/Makefile)</p>
+<p>You can choose these selections when you configure</p>
-<p><b>#if you need to build only axis_expat</b></p>
-<p>#AC_OUTPUT(Makefile src/Makefile src/common/Makefile src/soap/Makefile src/wsdd/Makefile src/xml/Makefile<br> src/transport/Makefile src/transport/axis/Makefile src/engine/Makefile src/engine/server/Makefile src/engine/client/Makefile<br> src/server/Makefile src/server/apache/Makefile src/server/simple_axis_server/Makefile src/server/adminservice/Makefile<br> src/client/Makefile src/client/adminclient/Makefile src/xml/expat/Makefile)</p>
-
-<p><b>#if you need to build only axis_xerces</b></p>
-<p>#AC_OUTPUT(Makefile src/Makefile src/common/Makefile src/soap/Makefile src/wsdd/Makefile src/xml/Makefile<br> src/transport/Makefile src/transport/axis/Makefile src/engine/Makefile src/engine/server/Makefile src/engine/client/Makefile<br> src/server/Makefile src/server/apache/Makefile src/server/simple_axis_server/Makefile src/server/adminservice/Makefile<br> src/client/Makefile src/client/adminclient/Makefile src/xml/xerces/Makefile)</p>
-
-<p><b>#}apache1.3 block ends</b></p>
<br>
-<p>You also need to do a selection at $AXISCPP_HOME/src/xml/Makefile.am</p>
-<p><b>SUBDIRS = expat xerces #Here I build both expat and xerces libraries</b><br>
-<b>#SUBDIRS = expat</b><br>
-<b>#SUBDIRS = xerces</b></p>
-<p>And again in $AXISCPP_HOME/src/server/Makefile.am</p>
-
-<p><b>#if you use apache2</b><br>
-<b>SUBDIRS = apache2 adminservice #Here I build for Apache2</b><br>
-
-<b>#if you use apache1.3</b><br>
-<b>#SUBDIRS = apache adminservice</b></p>
+<p> <b>The build process</b> </p>
+<p> <b>cd $AXISCPP_HOME</b></p>
+<p> <b>sh autogen.sh </b> <br> <br>
+<b>./configure --prefix=<Where you need to deploy axis c++> \</b><br>
+<b>--with-apache2=<path to apache2> \</b> <br>
+<b> --with-expat=/usr/local/expat1957</b> <br>
+<br>
+<b>make</b> <br>
+<b>make install</b> </p>
-<p>Now you need to copy header files from apache and parser that you use</p>
-<p>I have installed xercesc at /usr/local/xerces-c <br>
-    expat at /usr/local/expat1957 <br>
-    apache2 at /usr/local/apache2 <br>
-    apache1.3 at /usr/local/apache </p>
+<p>This will deploy Axis C++ into your folder of choice.<br>
+Following are some of the options available with configure <br> <br>
+<b>--with-apache2 : </b>To use apache2 as server transport library <br> <br>
+<b>--with-apache : </b>To use apache as server transport library<br> <br>
+<b>--with-expat : </b>To build expat parser library <br> <br>
+<b>--with-xercesc :</b>To build xercesc parser library<br> <br>
+<b>--enable-samples : </b>Whether you need to build samples(server and client)<br>
+        By default samples are built. If you don't want to build
+ the samples then you need to specifically say no <br> <br>
+<b>--enable-testcases : </b>Whether you need to build testcases <br>
+        By default test cases are built. If you don't want to build the test cases then you need to specifically say no <br> <br>
+<b>--enable-log : </b>Whether to enable log facility. By dafault this is enabled. If you don't need it say no to this <br> <br>
+<b>--enable-libwww : </b>By default libwww client transport library is built. If you don't need it say no to this. <br> </p>
+
+<p> You may rename and edit build.sh_sample for one step building and installing.</p>
+<p>Once you have finished , have a look at <b>$AXISCPP_HOME/build_errors.</b> Most probably you will see many warnings.
+Just ignore them. But if you see any errors it means that build was not successful and check whether you have followed the instructions
+carefully. </p>
+<p>You can see the folder <b>$AXISCPP_DEPLOY/lib </b>to see what are created</p>
-<p>I'm going to build Axis C++ for apache2 and for both xercesc and expat(But I'm going to<br>
-use only one parser. But anyway I can give instructions to build both as you've seen earlier)<br></p>
-<p><b>cp -rf /usr/local/xerces-c/include/xercesc/* $AXISCPP_HOME/include/xercesc/</b><br>
-<b>cp -f /usr/local/expat1957/include/expat.h $AXISCPP_HOME/include/expat/</b><br>
-<b>cp -f /usr/local/apache2/include/* $AXISCPP_HOME/include/apache2_0/</b></p>
+<p> <b>libaxiscpp_mod.so is apache module which is loaded when apache loads <br>
+libaxiscpp_mod2.so is apache2 module which is loaded when apache2 loads <br>
+libserver_engine.so is the Axis C++ server engine which is loaded by libaxis_mod(2).so module <br>
+libaxiscpp_client.so is Axis C++ client library <br>
+libaxis_transport.so is the Axis C++ client transport library <br>
+libaxis_expat.so is the expat parser library implementation for Axis C++ <br>
+libaxis_xercesc.so is the xercesc parser library implmentation for Axis C++ </b> </p>
-<p>Then I can build Axis C++ server, client,parser libraries, transport library and server/client samples by,<br>
-<b>cd $AXISCPP_HOME</b><br>
-<b>sh build.sh</b></p>
+<p>Also $AXISCPP_HOME/samples/server samples are built and installed in $AXISCPP_DEPLOY/lib </p>
-<p>Once you have finished, have a look at $AXISCPP_HOME/build_errors,<br>
-$AXISCPP_HOME/samples/server/sample_server_build_errors and <br>
-$AXISCPP_HOME/samples/client/sample_client_build_errors to identify any warnings and errors. Most probably you will see many warnings.
-Just ignore them. But if you see any errors it means that build was not successful and check whether you followed the instructions
-carefully. <br> <br>
-<b> Note that if you see errors on build_errors file then client samples will also fail since it depends on libaxiscpp_client.so.</b></p>
-
-<p>You can see the folder $AXISCPP_HOME/bin to see what are created</p>
-<p>libaxiscpp_mod.so is apache module which is loaded when apache loads <br>
-libaxiscpp_mod2.so is apache2 module which is loaded when apache2 loads <br>
-libserver_engine.so is the Axis C++ server engine which is loaded by libaxis_mod(2).so module<br>
-libaxiscpp_client.so is Axis C++ client library<br>
-libaxis_transport.so is the Axis C++ client transport library<br>
-libaxis_expat.so is the expat parser library implementation for Axis C++<br>
-libaxis_xercesc.so is the xercesc parser library implmentation for Axis C++</p>
-
-<p>Also $AXISCPP_HOME/samples/server samples are built and installed in $AXIS_HOME/web_services</p>
-<p>$AXISCPP_HOME/samples/client samples are built and executables are in $AXISCPP_HOME/samples/client</p>
-<p>Now you need to add to $<apache install directory>/conf/httpd.conf<br>
-<b>$ vi <apache install directory>/conf/httpd.conf</b></p>
+<p>$AXISCPP_HOME/samples/client samples are built and executables are in $AXISCPP_DEPLOY/bin </p>
+<p>Now you need to add to <b>$<apache install directory>/conf/httpd.conf <br>
+$ vi <apache install directory>/conf/httpd.conf </b> </p>
+<br>
<p>At the bottom of the file you have to include following lines and save it.</p>
<p><b>LoadModule axis_module modules/libaxiscpp_mod2.so</b> (in apache1.3 replace modules with libexec and libaxiscpp_mod2.so with libaxiscpp_mod.so)<br>
<b><Location /axis></b><br>
<b>SetHandler axis</b><br>
<b></Location></b></p>
-<p>Now you need the deployment descripter to deploy server samples you built</p>
-<p><b>cd $AXIS_HOME/conf</b><br>
-<b>mv server.wsdd_linux server.wsdd</b><br>
-<b>cd ..</b><br>
-<b>mv axiscpp.conf_linux axiscpp.conf</b></p>
-<p>In $AXIS_HOME/axiscpp.conf file you can give paths to<br>
-your log files, configuration files libraries etc</p>
+<p>Now you need the deployment descripter (server.wsdd) to deploy server samples you built.</p>
+<p>By default there is a deployment descripter in $AXISCPP_DEPLOY/conf to deploy samples </p>
+
+<p>In $AXISCPP_DEPLOY/etc/axiscpp.conf file you can give paths to your log files, configuration files libraries etc. </p>
+
+<br>
-<p><b># The comment character is '#'</b><br>
+<p><p><b># The comment character is '#'</b><br>
<b>#Available directives are as follows</b><br>
<b>#(Some of these directives may not be implemented yet)</b><br>
<b>#</b><br>
@@ -191,16 +150,20 @@
<b>#ClientWSDDFilePath:The path to the client wsdd</b><br>
<b>#Transport_http:The HTTP transport library</b><br>
<b>#Transport_smtp:The SMTP transport library</b><br>
-<b>#XMLParser:The xml parser library.</b></p>
+<b>#XMLParser:The xml parser library</b></p>
+
+<p><b>LogPath:/usr/local/axiscpp_deploy/log/AxisLog</b><br>
+<b>WSDDFilePath:/usr/local/axiscpp_deploy/etc/server.wsdd</b><br>
+<b>ClientLogPath:/usr/local/axiscpp_deploy/log/AxisClientLog</b><br>
+<b>XMLParser:/usr/local/axiscpp_deploy/lib/libaxis_xmlparser.so</b><br>
+<b>Transport_http:/usr/local/axiscpp_deploy/lib/libaxis_transport.so</b></p>
-<p><b>LogPath:/usr/local/Axis/logs/AxisLog</b><br>
-<b>WSDDFilePath:/usr/local/Axis/conf/server.wsdd</b><br>
-<b>ClientLogPath:/usr/local/Axis/logs/AxisClientLog</b><br>
-<b>XMLParser:/usr/local/Axis/libs/libaxis_xmlparser.so</b><br>
-<b>Transport_http:/usr/local/Axis/libs/libaxis_transport.so</b></p>
+<br>
-<p>Now we need to copy neccessary libraries to the correct places and start apache. To do that you can find scripts written in $AXIS_HOME.<br>
-<b>cd $AXIS_HOME</b></p>
+<p>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.<br>
+To do that you can find scripts written in $AXISCPP_DEPLOY/bin. <br>
+<b>cd $AXISCPP_DEPLOY/bin</b> </p>
<p>To deploy on apache2<br>
<b>sh deploy_apache2.sh</b></p>
@@ -208,32 +171,44 @@
<p>To deploy on apache<br>
<b>sh deploy_apache.sh</b></p>
-<p>When you run the above script all the libraries are copied into corresponding places.<br>
-libaxiscpp_mod2.so is copied to <your apache home>/modules folder.<br> <br>
-libserver_engine.so and libaxis_expat.so is copied to $AXIS_HOME/libs folder(and renamed
-libaxis_xmlparser.so).<br> Also apache is started and libaxiscpp_mod2.so is loaded into apache.<br> <br>
-libaxiscpp_mod2.so is the apache module for Axis C++. This will in term load Axis C++ server engine (libserver_engine.so)<br> <br>
-<b>Note that libaxis_xmlparser.so is loaded by the engine dynamically as parsing is required from the engine.</b></p>
-
-
-<p><b>Note that in the line no. 12 of the script above we 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</b>.</p>
-
-<p>If you have done installation successfully it will display the Axis C++ welcome page when you point to URI http://localhost/axis</p>
-<p><b>Note: In the axis welcome page all the services in $AXIS_HOME/conf/server.wsdd are listed. This does not mean
-that the libraries corresponding to these services are deployed yet. It merely lists whatever in the server.wsdd.</b></p>
-
-<p>To run interop samples</p>
-<p><b>cd $AXISCPP_HOME/samples/client</b><br>
-<b>sh run_interoptests.sh</b><br>
-By default this script assumes that apache is running in the localhost at port 80<br>
-If you want other<br>
-<b>sh run_interoptests.sh <server> <port></b><br>
-eg: sh run_interoptests.sh -u localhost -p 80<br></p>
+<p>When you run the above script, <br>
+libaxiscpp_mod2.so is copied to <your apache home>/modules folder. <br>
+libaxis_expat.so is renamed to libaxis_xmlparser.so. Also apache is started and libaxiscpp_mod2.so is loaded into apache. <br>
+libaxiscpp_mod2.so is the apache module for Axis C++. This will in term load Axis C++ server engine
+(libserver_engine.so). <br>
+Note that libaxis_xmlparser.so is loaded by the engine dynamically as parsing is required from the engine. </p>
+
+<p>Note that somewhere in the script above, it changes the name libaxis_expat.so to libaxis_xmlparser.so. <br>
+If we use xerces we need to change libaxis_xercesc.so to libaxis_xmlparser.so. </p>
+
+<p>If you have done installation successfully it will display the Axis C++ welcome page when you point to URI <a href="http://localhost/axis">http://localhost/axis</a> <br> <br>
+<b>Note: </b> 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.</p>
+
+<br>
+<p>To run interop samples <br>
+<b>cd $AXISCPP_DEPLOY/bin </b> <br>
+<b>./base localhost 80 etc.</b> </p>
+
+<p>(Check whether there is a script run_interoptests.sh in that folder which can be used to run all the interop tests) </p>
+
+<p> If you don't get it right check with the following list <br> <br>
+Check whether AXISCPP_HOME is set where you build axis c++ by <br>
+<b> echo $AXISCPP_HOME </b> <br> <br>
+Check whether AXISCPP_DEPLOY and LD_LIBRARY_PATH is set where you start apache <br>
+ Build axis c++ and run clients by <br>
+<b>echo $AXISCPP_DEPLOY <br>
+echo $LD_LIBRARY_PATH </b> <br> <br>
+</p>
+
+<p>Check whether you have necessary permissions to create the deploy folder which you give in configure option prefix. <br>
+eg: configure --prefix=/usr/local/axiscpp_deploy you need permission to write in /usr/local/ </p>
+
+<p>Check whether paths in server.wsdd are pointing correctly to service or handler libraries <br> <br>
-<p><b>Note for people who downloaded Axis C++ binary.<br>
-In this case all the libraries are already generated for you in $AXISCPP_HOME/bin.You need to just build samples.</p>
+Check whether axiscpp.conf is containing correct entries <br> <br>
+Check whether Axis C++ can write to log folder($AXISCPP_DEPLOY/log) </p>
<br>
<div id="pdf" align="right">