264 lines
7.7 KiB
Text
264 lines
7.7 KiB
Text
Apache Tuscany SCA Runtime
|
|
==========================
|
|
|
|
Automated installation on Ubuntu Server 12.04
|
|
=============================================
|
|
|
|
Tuscany provides automated install scripts for Ubuntu Server 12.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.7.4
|
|
=========================================
|
|
|
|
Tuscany provides an automated install script for Mac OS X 10.7.4 and Xcode 4.1.
|
|
You can start with a fresh Mac OS X 10.7.4 + 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.68
|
|
automake-1.11
|
|
libtool-2.4.2
|
|
doxygen-1.7.1
|
|
gcc-g++-4.6.1
|
|
|
|
Then install the following development dependencies:
|
|
|
|
Apache HTTP server and APR:
|
|
httpd-2.4.2 (http://httpd.apache.org/)
|
|
apr-1.4.6 and apr-util-1.4.1 (http://apr.apache.org/)
|
|
built with OpenSSL libssl-0.9.8, libpcre3-8.12,
|
|
and expat 2.0.1
|
|
|
|
Memcached:
|
|
memcached-1.4.7 (http://memcached.org/)
|
|
built with libevent-1.4.14
|
|
|
|
XML:
|
|
libxml2-2.7.7 (http://xmlsoft.org/)
|
|
|
|
CURL:
|
|
curl-7-24.0
|
|
|
|
JSON:
|
|
Mozilla SpiderMonkey libmozjs 1.8.5 and
|
|
(https://developer.mozilla.org/en/SpiderMonkey)
|
|
built with Mozilla nspr-4.8.8
|
|
|
|
Key/value persistent store:
|
|
tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html)
|
|
|
|
Optional dependencies:
|
|
|
|
Web application firewall:
|
|
Mod-security 2.6.6 (http://www.modsecurity.org/)
|
|
with the Mod-security core rule set 2.2.5
|
|
|
|
Web page optimizations:
|
|
Page Speed SDK 1.9 (http://code.google.com/p/page-speed/)
|
|
|
|
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 libuuid1-2.19.1, libboost-1.46.1, libboost-program-options-1.46.1 and
|
|
libboost-filesystem-1.46.1
|
|
|
|
Python:
|
|
Python 2.7.3 (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
|
|
|
|
Key/value persistent store:
|
|
Google LevelDB 1.2 (http://code.google.com/p/leveldb/)
|
|
|
|
SQL database:
|
|
PostgreSQL 9.1.2 (http://www.postgresql.org/)
|
|
PgBouncer 1.5 (http://wiki.postgresql.org/wiki/PgBouncer)
|
|
|
|
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 memory usage debugging using Electric Fence add:
|
|
--enable-efence
|
|
|
|
To enable memory usage debugging using mmap add:
|
|
--enable-malloc-mmap
|
|
|
|
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 and PgBouncer):
|
|
--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 enable Page Speed Web page optimizations:
|
|
--enable-pagespeed
|
|
|
|
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 12.04 with some of the
|
|
most useful options and the corresponding dependencies installed under $build:
|
|
|
|
./configure --prefix=$build/tuscany-sca-cpp-bin \
|
|
--enable-threads --enable-maintainer-mode \
|
|
--with-curl=$build/curl-7.24.0-bin --with-libxml2=$build/libxml2-2.7.7-bin \
|
|
--with-apr=$build/apr-1.4.6-bin --with-apr-util=$build/apr-util-1.4.1-bin \
|
|
--with-httpd=$build/httpd-2.4.2-bin \
|
|
--with-memcached=$build/memcached-1.4.7-bin \
|
|
--with-tinycdb=$build/tinycdb-0.77-bin \
|
|
--with-js-include=$build/js-1.8.5-bin/include/js \
|
|
--with-js-lib=$build/js-1.8.5-bin/lib \
|
|
--enable-python --with-python=$build/python-2.7.3-bin \
|
|
--enable-sqldb --with-pgsql=$build/postgresql-9.1.2-bin \
|
|
--with-pgbouncer=$build/pgbouncer-1.5-bin \
|
|
--enable-log --with-thrift=$build/thrift-0.2.0-bin \
|
|
--with-scribe=$build/scribe-2.2-bin \
|
|
--enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin \
|
|
--enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.6-bin \
|
|
--enable-pagespeed --with-pagespeed=$build/page-speed-1.9-bin
|
|
|
|
To build the Tuscany SCA runtime, do this:
|
|
make
|
|
|
|
To run the tests, do this:
|
|
make check
|
|
|
|
To install the Tuscany SCA binaries, do this:
|
|
make install
|
|
|
|
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
|
|
|