| <?xml version="1.0" encoding="iso-8859-1"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
| "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> |
| <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> |
| <title>Axis2-C Installation Guide</title> |
| <meta name="generator" content="Bluefish 1.0.5"/> |
| </head> |
| |
| <body> |
| <h1>Axis2/C Installation Guide</h1> |
| |
| <p>This document will guide you on how to install Axis2/C and run the server |
| and client samples on Linux and Microsoft Windows operating systems.</p> |
| |
| <p>This release comes in two forms, source and binary. Instructions are given |
| below to install using any of those two forms.</p> |
| |
| <p>Please send your feedback to the developer mailing list: <a |
| href="mailto:axis-c-dev@ws.apache.org">axis-c-dev@ws.apache.org</a> (please |
| remember to prefix the subject with [Axis2]). To subscribe to developer |
| mailing list see <a href="../mail-lists.html">here</a></p> |
| |
| <h2>Contents</h2> |
| <ul> |
| <li><a href="#linux">Installing and running on Linux</a> |
| <ul> |
| <li><a href="#linux_binary">Using binary release</a></li> |
| <li><a href="#linux_source">Using source release</a></li> |
| </ul> |
| </li> |
| <li><a href="#win">Installing and running on Microsoft Windows (win32)</a> |
| <ul> |
| <li><a href="#win_binary">Using the binary release</a> |
| <ul> |
| <li><a href="#bin_req">Requirements</a></li> |
| <li><a href="#bin_binaries">Binaries in the release</a></li> |
| <li><a href="#bin_run">Running the binaries</a></li> |
| </ul> |
| </li> |
| <li><a href="#win_source">Using the source release</a> |
| <ul> |
| <li><a href="#src_req">Requirements</a></li> |
| <li><a href="#edit">Editing Configure.in file</a></li> |
| <li><a href="#src_compile">Compiling the source</a></li> |
| <li><a href="#src_run">Running the binaries</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="#installing-apache2">Installing Apache2 Web Server integration |
| module (mod_axis2)</a> |
| <ul> |
| <li><a href="#building-apache2">Building mod_axis2 from source |
| tree</a></li> |
| <li><a href="#deploying-apache2">Deploying in Apache2 Web |
| Server</a></li> |
| </ul> |
| </li> |
| </ul> |
| <a id="linux"></a> |
| |
| <h2>1. Installing and Running on Linux</h2> |
| |
| <p>This can be done using binary or source distributions.</p> |
| |
| <p>To get both the binary and source distributions working, you need libxml2, |
| which can be <a href="http://xmlsoft.org/downloads.html">downloaded</a>.</p> |
| |
| <p><b>Note :</b> Most Linux systems have libxml2 installed by default. On MS |
| Windows you need to download and install libxml2.</p> |
| <a id="linux_binary"></a> |
| |
| <h3>1.1. Using Binary Release</h3> |
| |
| <p>The following steps need to be taken to install and run Axis2/C using |
| binary distribution on Linux : - </p> |
| <ol> |
| <li>Extract the binary tar package to a folder.</li> |
| <li>Set AXIS2C_HOME environment variable pointing to the location where you |
| have extracted Axis2C |
| <ul> |
| <li>AXIS2C_HOME='/your_path_to_axis2c'</li> |
| <li>export AXIS2C_HOME</li> |
| <p><strong>Note :</strong> You will need to set AXIS2C_HOME only if you |
| need to run Axis2C samples or tests. The reason is that the samples and |
| test codes use AXIS2C_HOME to get the path to Axis2C. To write your own |
| services or clients this is not a requirement.</p> |
| </ul> |
| </li> |
| <li>Run the simple axis server: |
| <ul> |
| <li>To start the simple axis server on default port 9090, run the |
| following commands. |
| <ul> |
| <li>cd /your_path_to_axis2c/bin</li> |
| <li>./axis2_http_server</li> |
| </ul> |
| </li> |
| <li>To see the possible command line options run ./axis2_http_server -h |
| <p><strong>Note :</strong> If you run into shared lib problems, try |
| setting the LD_LIBRARY_PATH</p> |
| <ul> |
| <li>export |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your_path_to_axis2c/lib</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Run the sample clients in a new shell |
| <ul> |
| <li>cd /your_path_to_axis2c/bin/samples</li> |
| <li>To run client for echo service |
| <ul> |
| <li>./echo</li> |
| </ul> |
| </li> |
| <li>To run client for math service |
| <ul> |
| <li>./math</li> |
| </ul> |
| </li> |
| <li>To see the possible command line options for sample clients run |
| them with '-h' option</li> |
| <p><strong>Note :</strong> If you run into shared lib problems, try |
| setting the LD_LIBRARY_PATH</p> |
| <ul> |
| <li>export |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your_path_to_axis2c/lib</li> |
| </ul> |
| </ul> |
| </li> |
| </ol> |
| <ai id=linux_source> |
| <h3>1. 2. Using Source Release</h3> |
| |
| <p>The following steps need to be taken to install and run Axis2/C using |
| source distribution on Linux : - </p> |
| <ol> |
| <li>Extract the source tar package to a folder.</li> |
| <li>Set AXIS2C_HOME environment variable pointing to the location where you |
| want to install Axis2C. |
| <ul> |
| <li>AXIS2C_HOME='/your_desired_path_to_axis2c_installation'</li> |
| <li>export AXIS2C_HOME |
| <ul> |
| <li><strong>Note :</strong> You will need to set AXIS2C_HOME only |
| if you need to run Axis2C samples or tests. The reason is that |
| the samples and test codes use AXIS2C_HOME to get the path to |
| Axis2C. To write your own services or clients this is not a |
| requirement.</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Then go to the folder where you extracted the source |
| <ul> |
| <li>cd /your_path_to_axis2c_source</li> |
| </ul> |
| </li> |
| <li>Build the source |
| <ul> |
| <li>This can be done using the following command sequence in the |
| directory where you have extracted the source: |
| <ul> |
| <li>./configure --prefix=${AXIS2C_HOME}</li> |
| <li>make</li> |
| <li>make install</li> |
| </ul> |
| </li> |
| <li>Use './configure --help' for possible command line options.</li> |
| <li><strong>Note :</strong>If you do not provide a --prefix configure |
| option, it will by default be installed into /usr/local/axis2c |
| directory.</li> |
| <li>You may need to try Axis2/C with Guththila XML parser. You can do |
| it by giving --enable-guththila=yes |
| <ul> |
| <li>./configure --enable-guththila=yes [other configuration |
| options]</li> |
| <li>make</li> |
| <li>make install</li> |
| </ul> |
| </li> |
| <li>In order to build Rampart (Axis2/C security module) |
| <ul> |
| <li>./configure --enable-rampart=yes [other configuration |
| options]</li> |
| <li>make</li> |
| <li>make install</li> |
| </ul> |
| </li> |
| <li>If you need to get the samples working, you also need to build the |
| samples. <br /> |
| To build the samples: |
| <ul> |
| <li>export |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/axis2c/lib/</li> |
| <li>cd samples</li> |
| <li>./configure --prefix=${AXIS2C_HOME} |
| --with-axis2_util=${AXIS2C_HOME}/include |
| --with-axiom=${AXIS2C_HOME}/include</li> |
| <li>make</li> |
| <li>sudo make install</li> |
| </ul> |
| </li> |
| <li>Please run "./configure --help" in samples folder for more |
| information on configure options.</li> |
| <li><strong>Note :</strong> If you do not provide a --prefix configure |
| option, samples will by default be installed into |
| "/usr/local/axis2c/samples" directory.</li> |
| </ul> |
| </li> |
| <li>Go to where you installed Axis2/C.</li> |
| <li>Start simple axis server |
| <ul> |
| <li>To start the simple axis server on port 9090 run the following |
| command lines |
| <ul> |
| <li>cd ${AXIS2C_HOME}/bin</li> |
| <li>./axis2_http_server</li> |
| </ul> |
| </li> |
| <li>To see the possible command line options run ./axis2_http_server |
| -h</li> |
| <li><strong>Note :</strong> You may need to be logged in as a superuser to |
| run the simple axis server.</li> |
| </ul> |
| </li> |
| <li>Run the sample clients in a new shell using the following command lines |
| <ul> |
| <li>cd ${AXIS2C_HOME}/bin/samples</li> |
| <li>to run client for echo service |
| <ul> |
| <li>./echo</li> |
| </ul> |
| </li> |
| <li>to run client for math service |
| <ul> |
| <li>./math</li> |
| </ul> |
| </li> |
| <li>To see the possible command line options for sample clients run |
| them with '-h' option</li> |
| </ul> |
| </li> |
| </ol> |
| <a id="win"></a> |
| |
| <h2>2. Installing and Running on Microsoft Windows (win32)</h2> |
| |
| <p>This too can be done using either binary or source distributions.</p> |
| |
| <p>For both the binary and source distributions, you need to <a |
| href="http://xmlsoft.org/downloads.html">download</a> libxml2.</p> |
| |
| <p>(NOTE: most Linux systems have libxml2 by default. On MS Windows you need to |
| download and install libxml2)</p> |
| <a id="win_binary"></a> |
| |
| <h3>2. 1. Using Binary Release</h3> |
| <a id="bin_req"></a> |
| |
| <h4>2.1.1. Requirements</h4> |
| <ul> |
| <li>The binaries shipped with this version are compiled with Microsoft |
| Visual Studio Compiler (cl)</li> |
| |
| <p>(Note: you can download Microsoft VSExpress2005 edition from the Microsoft |
| Web site and install it to run these binaries)</p> |
| <li>You also need the following dlls: |
| <ul> |
| <li>libxml2.dll [http://www.xmlsoft.org - download the version >= |
| libxml2-2.6.20.win32]</li> |
| <li>iconv.dll [http://www.xmlsoft.org - download the version >= |
| iconv-1.9.1.win32]</li> |
| <li>zlib1.dll [http://www.xmlsoft.org - download the version >= |
| zlib-1.2.3.win32]</li> |
| </ul> |
| </li> |
| </ul> |
| <a id="bin_binaries"></a> |
| |
| <h4>2.1.2. Binaries in The Release</h4> |
| <ul> |
| <li>Extract the binary distribution to a folder of your choice. (example: |
| C:\axis2c)</li> |
| <li>The C:\axis2c folder structure is as follows:</li> |
| |
| <p><img alt="Figure: c:\axis2c Folder Structure" |
| src="images/binary_folder_structure.jpg" /></p> |
| |
| <p><em>The above folders contain the following files:</em></p> |
| <ul> |
| <li>bin - server and other executables</li> |
| <li>bin\samples - client samples go here</li> |
| <li>lib - library modules</li> |
| <li>services - deployed services</li> |
| <li>modules - deployed modules</li> |
| <li>include - all include files of Axis2 C</li> |
| <li>logs - system and client logs are written to this folder</li> |
| </ul> |
| <li>Copy libxml2.dll, iconv.dll and zlib1.dll downloaded to |
| C:\axis2c\lib</li> |
| </ul> |
| <a id="bin_run"></a> |
| |
| <h4>2.1.3. Running The Binaries</h4> |
| <ul> |
| <li>First, you need to set a couple of environment variables before you can |
| run the server and samples. |
| <ul> |
| <li>Set the variable AXIS2C_HOME to the deploy folder (C:\axis2c)</li> |
| <li>Add the path to lib directory to the PATH variable |
| (%AXIS2C_HOME%\lib)</li> |
| </ul> |
| </li> |
| <li>Now everything is set to run the server (C:\axis2c\bin\> |
| axis2_http_server.exe)</li> |
| <li>If the server is running successfully you should see the message |
| "Started Simple Axis2 HTTP Server..."</li> |
| <li>The log is by default created in %AXIS2C_HOME%\logs folder with the |
| name axis2.log.</li> |
| <li>(Note: You may provide command line options to change the default |
| behaviour. Use the command "axis2_http_server.exe -h" to learn about the |
| usage)</li> |
| <li>Now you can run any sample client located in %AXIS2C_HOME%\bin\samples\ |
| <ul> |
| <li>Example: C:\axis2c\bin\samples\> echo.exe</li> |
| </ul> |
| </li> |
| </ul> |
| <a id="win_source"></a> |
| |
| <h3>2. 2. Using The Source Release</h3> |
| <a id="src_req"></a> |
| |
| <h4>2.2.1. Requirements</h4> |
| <ul> |
| <li>The makefile shipped with this version needs Microsoft Visual Studio |
| Compiler (cl) and nmake build tool.</li> |
| |
| <p>(Note: You can download Microsoft VSExpress2005 edition and Platform SDK |
| from Microsoft Web site. You will need to add the path to Platform SDK |
| Include and Lib folders to makefile)</p> |
| <li>You also need |
| <ul> |
| <li>libxml2 [http://www.xmlsoft.org - download the version >= |
| libxml2-2.6.20.win32]</li> |
| <li>iconv [http://www.xmlsoft.org - download the version >= |
| iconv-1.9.1.win32]</li> |
| <li>zlib [http://www.xmlsoft.org - download the version >= |
| zlib-1.2.3.win32]</li> |
| </ul> |
| </li> |
| </ul> |
| <a id="edit"></a> |
| |
| <h4>2.2.3. Editing configure.in File</h4> |
| <ul> |
| <li>The default paths for libxml2 and iconv are specified in configure.in |
| <ul> |
| <li>Example:Default location for libxml2 is C:\libxml2</li> |
| </ul> |
| </li> |
| <li>You can either extract libxml2 to this folder, in which case folder |
| structure for C:\libxml2 should look like the following:</li> |
| |
| <p><img alt="Figure: C:\libxml2 Folder Structure" |
| src="images/folder_structure_libxml2.jpg" /></p> |
| |
| <p>Or extract to a location of your choice and edit the configure.in |
| accordingly.</p> |
| <li>You need to have zlib1.dll in a library path. You may copy this dll to |
| libxml2/lib.</li> |
| </ul> |
| <a id="src_compile"></a> |
| |
| <h4>2.2.4. Compiling The Source</h4> |
| |
| <p>The following steps will take you through the source compilation</p> |
| <ul> |
| <li>Extract the source distribution to a folder of your choice. (Example: |
| C:\axis2c)</li> |
| <li>Open a DOS shell</li> |
| <li>cd C:\axis2c\build\win32</li> |
| <li>to access .Net tools, run |
| <ul> |
| <li>C:\axis2c\build\win32> vcvars32.bat</li> |
| </ul> |
| <p>(Note: You may need to set the PATH environment variable to |
| vcvars32.bat if Windows complaints that it cannot find this bat)</p> |
| </li> |
| <li>build the system and create a directory named deploy under build |
| directory: |
| <ul> |
| <li>C:\axis2c\build\win32>nmake install</li> |
| </ul> |
| </li> |
| <li>The deploy folder structure is as follows:</li> |
| |
| <p><img alt="Figure: deploy Folder Structure" |
| src="images/folder_structure.jpg" /></p> |
| |
| <p><em>The above folders contain the following files:</em></p> |
| <ul> |
| <li>bin - server and other executables</li> |
| <li>bin\samples - client samples</li> |
| <li>lib - library modules</li> |
| <li>services - deployed services</li> |
| <li>modules - deployed modules</li> |
| <li>include - all include files of Axis2 C</li> |
| <li>logs - system and client logs are written to this folder</li> |
| </ul> |
| </ul> |
| <a id="src_run"></a> |
| |
| <h4>2.2.5. Running The Binaries</h4> |
| <ul> |
| <li>You need to set couple of environment variables before you can run the |
| server and samples. |
| <ul> |
| <li>Set the variable AXIS2C_HOME to the deploy folder |
| (C:\axis2c\build\deploy)</li> |
| <li>Add the path to lib directory to PATH variable |
| (%AXIS2C_HOME%\lib)</li> |
| <li>Copy libxml2.dll, iconv.dll and zlib1.dll to axis2c lib folder |
| (%AXIS2C_HOME%\lib)</li> |
| </ul> |
| </li> |
| <li>Now run the server - C:\axis2c\build\deploy\bin> |
| axis2_http_server.exe</li> |
| <li>If server is running successfully you should see the message "Started |
| Simple Axis2 HTTP Server..."</li> |
| <li>The log is by default created under %AXIS2C_HOME%\logs folder with the |
| name axis2.log.</li> |
| <li>(Note: you may provide command line options to change the default |
| behaviour. Use the command "axis2_http_server.exe -h" to learn about the |
| usage)</li> |
| <li>Now you can run any sample client deployed under |
| %AXIS2C_HOME%\bin\samples\ |
| <ul> |
| <li>Example: C:\axis2c\build\deploy\bin\samples> echo.exe</li> |
| </ul> |
| </li> |
| </ul> |
| <a id="installing-apache2"></a> |
| |
| <h3>3. Installing Apache2 Web Server Integration Module (mod_axis2).</h3> |
| <a id="building-apache2"></a> |
| |
| <h4>3.1. Building mod_axis2 From Source Tree</h4> |
| |
| <h4>3.1.1 On Linux Platform:</h4> |
| <ul> |
| <li>Provide the apache2 include files location as configure option |
| ./configure --with-apache2="<apache2 include files location>" |
| [other configure options] - Some apache2 distributions install APR |
| (Apache Portable Runtime) include files in a separate location which is |
| required to build mod_axis2. In that case use |
| <ul> |
| <li>./configure --with-apache2="<apache2 include files location>" |
| --with-apr="<apr include files location>" [other configure |
| options]</li> |
| </ul> |
| </li> |
| <li>Then build the source tree |
| <ul> |
| <li>make</li> |
| <li>make install</li> |
| <p>This will install mod_axis2.so into your |
| "<your_path_to_axis2c>/lib"</p> |
| </ul> |
| </li> |
| </ul> |
| |
| <h4>3.1.2 On Win32 Platform:</h4> |
| <ul> |
| <li>Provide the apache2 location in configure.in file in |
| APACHE_INSTALL_DIR<br /> |
| eg : APACHE_INSTALL_DIR = E:\Apache</li> |
| <li>After compiling the sources (As described in <a |
| href="#win">Section 2</a>) build the mod_axis2.dll by issuing the |
| command "nmake axis2_apache_module".</li> |
| <li>This will build the mod_axis2.dll and copy it to %AXIS2C_HOME%\lib |
| directory.<br /> |
| eg: C:\axis2c\build\deploy\lib</li> |
| </ul> |
| <a id="deploying-apache2"></a> |
| |
| <h4>3.2. Deploying in Apache2 Web Server</h4> |
| |
| <p><b>Note:</b> To do the following tasks you might need super user |
| privileges in your machine.</p> |
| <ul> |
| <li>Copy the mod_axis2 (libmod_axis2.so.0.0.0 on Linux and mod_axis2.dll in |
| Windows) to "<apache2 modules directory>" (eg: |
| /usr/lib/apache2/modules in Linux or C:\Apache2\modules in Windows) as |
| mod_axis2.so |
| <p>eg: cp $AXIS2C_HOME/lib/libmod_axis2.so.0.0.0 |
| /usr/lib/apache2/modules/mod_axis2.so<br /> |
| copy C:\axis2c\build\deploy\lib\mod_axis2.dll |
| C:\Apache2\modules\mod_axis2.so</p> |
| </li> |
| <li>Edit Apache2's configuration file (generally httpd.conf) and add |
| the following directive : - |
| <pre> LoadModule axis2_module <apache2 modules directory>/mod_axis2.so |
| Axis2RepoPath <axis2 repository path> |
| Axis2LogFile <axis2 log file path> |
| Axis2LogLevel LOG_LEVEL |
| <Location /axis2> |
| SetHandler axis2_module |
| </Location> |
| </pre> |
| <p>LOG_LEVEL can be one of following</p> |
| <p>AXIS2_LOG_LEVEL_CRITICAL - Log critical errors only <br /> |
| AXIS2_LOG_LEVEL_ERROR - Log errors critical errors <br /> |
| AXIS2_LOG_LEVEL_WARNING - Log warnings and above <br /> |
| AXIS2_LOG_LEVEL_INFO - Log info and above <br /> |
| AXIS2_LOG_LEVEL_DEBUG - Log debug and above (default) <br /> |
| AXIS2_LOG_LEVEL_TRACE - Log trace messages</p> |
| </li> |
| <li>Use forward slashes "/" for path seperators in <apache2 modules |
| directory>, <axis2 repository path> and <axis2 log file |
| path></li> |
| <li>Make sure that the Apache2 user has correct permissions to above |
| paths.<br /> |
| |
| <ul> |
| <li>Read permission to the repository</li> |
| <li>Write permission to the log file</li> |
| </ul> |
| </li> |
| <li>Restart Apache2 and test whether mod_axis2 module is loaded by typing |
| the URL http://localhost/axis2/services</li> |
| </ul> |
| </body> |
| </html> |