| Apache Tuscany SCA Runtime |
| ========================== |
| |
| Automated installation on Ubuntu Server 10.10 and 11.04 |
| ======================================================= |
| |
| Tuscany provides automated install scripts for Ubuntu Server 10.10 and 11.04. |
| You can start with a fresh Ubuntu Server system and these scripts will take care |
| of all the download, build and installation steps for you. |
| |
| ubuntu/ubuntu-install: |
| Build and installation of the most commonly used Tuscany features with most |
| dependencies built from source. |
| |
| ubuntu/ubuntu-install-all: |
| Build and installation of all the Tuscany features with most dependencies |
| built from source. |
| |
| System dependencies are downloaded and installed using sudo apt-get. Source |
| dependencies are downloaded and built in the current directory. |
| |
| To run the automated installation: |
| mkdir tuscany |
| cd tuscany |
| curl -OL http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install |
| chmod +x ./ubuntu-install |
| ./ubuntu-install |
| |
| The installation script will display each command as it's executed. |
| |
| That's all you need to do to build and install the Tuscany SCA runtime on |
| Ubuntu Server. |
| |
| Automated installation on Max OS X 10.6.7 |
| ========================================= |
| |
| Tuscany provides an automated install script for Mac OS X 10.6.7 and Xcode 4.1. |
| You can start with a fresh Mac OS X 10.6.7 + Xcode 4.1 system and the script |
| will take care of all the download, build and installation steps for you. |
| |
| macos/macos-install: |
| Build and installation of the most commonly used Tuscany features with all |
| dependencies built from source. |
| |
| To run the automated installation: |
| mkdir tuscany |
| cd tuscany |
| curl -OL http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/macos/macos-install |
| chmod +x ./macos-install |
| ./macos-install |
| |
| The installation script will display each command as it's executed. |
| |
| The dependencies will be built using the GCC compiler. The Tuscany SCA runtime |
| will be built using the Apple Clang/LLVM compiler. |
| |
| That's all you need to do to build and install the Tuscany SCA runtime on Mac |
| OS X. |
| |
| |
| Step by step build and installation |
| =================================== |
| |
| For manual build and install steps on other systems than Ubuntu Server and Mac |
| OS X, or if you need to customize your installation, read on... |
| |
| The Tuscany SCA Linux build uses the GNU Autotools tool chain. |
| |
| First install the following development tools: |
| autoconf-2.67 |
| automake-1.11 |
| libtool-2.2.6 |
| doxygen-1.7.1 |
| gcc-g++-4.4.5 |
| |
| Then install the following development dependencies: |
| |
| Apache HTTP server and APR: |
| httpd-2.3.10 (http://httpd.apache.org/) |
| apr-1.4.x (http://apr.apache.org/) |
| built with OpenSSL libssl-0.9.8, libpcre3-8.02, |
| and expat 2.0.1 |
| |
| Memcached: |
| memcached-1.4.7 (http://memcached.org/) |
| built with libevent-1.4.13 |
| |
| XML: |
| libxml2-2.7.7 (http://xmlsoft.org/) |
| |
| CURL: |
| curl-7-19-5 |
| libcurl4-openssl-7.19.5 |
| |
| JSON: |
| Mozilla SpiderMonkey libmozjs 1.8.5 and |
| (https://developer.mozilla.org/en/SpiderMonkey) |
| built with Mozilla nspr-4.8.8 |
| |
| Key/value store: |
| tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html) |
| |
| Optional dependencies: |
| |
| Web application firewall: |
| Mod-security 2.6.0 (http://www.modsecurity.org/) |
| with the Mod-security core rule set 2.2.0 |
| |
| Web Services: |
| Apache Axis2/C 1.6.0 (http://ws.apache.org/axis2/c/) |
| |
| Queueing: |
| Apache Qpid/C++ 0.6 (http://qpid.apache.org/) |
| built with libuuid-2.17.2, libboost-1.42.0, libboost-program-options-1.42.0 and |
| libboost-filesystem-1.42.0 |
| |
| Python: |
| Python 2.6.6 (http://www.python.org/) |
| Google AppEngine 1.4.0 (http://code.google.com/appengine/) |
| |
| OpenCL: |
| an OpenCL SDK (http://software.intel.com/en-us/articles/opencl-sdk/, |
| http://developer.nvidia.com/, http://developer.amd.com/sdks/amdappsdk) |
| |
| Java: |
| a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/) |
| |
| OpenID authentication: |
| Mod_auth_openid (http://trac.butterfat.net/public/mod_auth_openid) |
| build it from source at http://github.com/jsdelfino/mod_auth_openid |
| requires Libopkele (http://kin.klever.net/libopkele/ or |
| http://github.com/jsdelfino/libopkele) |
| and HTML Tidy (http://tidy.sourceforge.net/) |
| |
| OAuth authorization: |
| Liboauth 0.9.1 (http://liboauth.sourceforge.net/) |
| |
| XMPP Chat: |
| Apache Vysper 0.5 (http://mina.apache.org/) |
| |
| Libstrophe (http://code.stanziq.com/strophe/) |
| build it from source at git://github.com/jsdelfino/libstrophe.git |
| |
| SQL Database: |
| postgresql-9.0.3 (http://www.postgresql.org/) |
| |
| Logging: |
| Facebook Scribe 2.2 (http://github.com/facebook/scribe/downloads) |
| requires Apache Thrift 0.2.0 (http://incubator.apache.org/thrift/) |
| |
| Cloud deployment: |
| Apache Libcloud 0.3.1 (http://incubator.apache.org/libcloud/) |
| |
| |
| To configure the Tuscany SCA build do this: |
| ./bootstrap |
| ./configure --prefix=<install dir> |
| |
| To enable debugging and strict warning compile options, add: |
| --enable-maintainer-mode |
| |
| To enable gprof profiling, add: |
| --enable-profiling |
| |
| To enable multi-threading (required by the Queue and Chat components and |
| for running with the HTTPD worker or event multi-threaded MPMs): |
| --enable-threads |
| |
| To enable support for Python component implementations: |
| --enable-python |
| |
| To enable support for OpenCL component implementations: |
| --enable-opencl |
| |
| To enable support for Java component implementations: |
| --enable-java |
| |
| To build the Queue utility component (requires Apache Qpid/C++): |
| --enable-queue |
| |
| To build the Chat utility component (requires Libstrophe and optionally Apache |
| Vysper if you want to run the tests with a local Vysper XMPP server): |
| --enable-chat |
| |
| To build the Log utility component (requires Facebook Scribe and Apache Thrift): |
| --enable-log |
| |
| To build the SQL Database utility component (requires PostgreSQL): |
| --enable-sqldb |
| |
| To build the Web service utility component (requires Apache Axis2/C): |
| --enable-webservice |
| |
| To build the support for OAuth authorization: |
| --enable-oauth |
| |
| To build the support for OpenID authentication: |
| --enable-openid |
| |
| To build the support for Mod-security: |
| --enable-mod-security |
| |
| To generate doxygen documentation, add: |
| --enable-doxygen |
| |
| To configure where to find dependencies, see the --with-* options described |
| in the configure help: |
| ./configure --help |
| |
| |
| Here's an example configuration tested on Ubuntu Server, with the system |
| dependencies installed in the standard system directories and some of the |
| dependencies installed under $build: |
| |
| ./configure --prefix=$build/tuscany-sca-cpp-bin \ |
| --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin \ |
| --with-memcached=$build/memcached-1.4.7-bin \ |
| --with-tinycdb=$build/tinycdb-0.77-bin \ |
| --with-curl=$build/curl-7.19.5-bin --with-libxml2=/usr \ |
| --with-js-include=$build/js-1.8.5-bin/include \ |
| --with-js-lib=$build/js-1.8.5-bin/lib \ |
| --enable-libcloud \ |
| --with-libcloud=$build/libcloud-0.3.1-bin \ |
| --enable-threads \ |
| --enable-python --with-python=/usr \ |
| --enable-opencl --with-opencl-include=/usr/include --with-opencl-lib=/usr/lib \ |
| --enable-gae --with-gae=$build/google_appengine \ |
| --enable-java --with-java=/usr/lib/jvm/default-java \ |
| --enable-webservice --with-axis2c=$build/axis2c-1.6.0-bin \ |
| --with-libxml2=$build/libxml2-2.7.7-bin \ |
| --enable-queue --with-qpidc=$build/qpidc-0.6-bin \ |
| --enable-chat --with-libstrophe=$build/libstrophe-bin \ |
| --with-vysper=$build/vysper-0.5 \ |
| --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin \ |
| --enable-log --with-thrift=$build/thrift-0.2.0-bin \ |
| --with-scribe=$build/scribe-2.2-bin \ |
| --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin \ |
| --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin \ |
| --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin \ |
| --enable-maintainer-mode |
| |
| |
| To build the Tuscany SCA runtime, do this: |
| make |
| |
| To run the tests, do this: |
| make check |
| |
| To build ctags for the source, do this: |
| make ctags |
| |
| To build a source distribution, do this: |
| make dist |
| |
| To build a binary distribution, do this: |
| make bindist |
| |
| To install the Tuscany SCA binaries, do this: |
| make install |
| |
| |