Apache Traffic Server

Traffic Server is a high-performance building block for cloud services.
It's more than just a caching proxy server; it also has support for
plugins to build large scale web applications.

1. DIRECTORY STRUCTURE

  traffic/ ............... top src dir
  |-- doc/ ............... generated documentation
  |-- example/ ........... example plugins
  |-- install/ ........... installation programs and scripts
  |-- iocore/ ............ IO core
  |-- libinktomi++/ ...... base library
  |-- librecords/ ........ library for config files
  |-- m4/ ................ custom macros for configure.ac
  |-- proxy/ ............. HTTP proxy logic
  |-- test/ .............. functional tests
  |-- .indent.pro ........ indent profile for coding style
  |-- emacs-style ........ emacs style definition
  |-- README ............. intro, links, build info
  |-- README-EC2 ......... info on EC2 support
  |-- README.libev ....... instructions to build with 'libev'
  |-- REVIEWERS .......... (incomplete) list of areas with committer interest
  |-- LICENSE ............ full license text
  |-- NOTICE ............. copyright notices
  |-- configure.ac ....... autoconf configuration
  `-- Makefile.am ........ top level automake configuration

2. REQUIREMENTS
    This section outlines different OS distributions

  Fedora 11,12:
    autoconf
    automake
    libtool
    gcc-c++
    glibc-devel
    openssl-devel
    tcl-devel
    expat-devel
    sqlite-devel (or optionally, db4-devel)
    pcre

  Fedora 8 EC2 (Kernel: 2.6.21.7-2.ec2.v1.2.fc8xen):
    You must either upgrade sqlite to >= 3.5 or use db4-devel.
    We recommend that you when dealing with EC2 FC8 to just use db4-devel.
    FC8 on EC2 requires unique configure declarations, please see that section
    below. 

    NOTE: Alternately you may use the install scripts in 'contrib' which 
          automate this or use the pre-built public Fedora Core 8 EC2 AMI 
          with ATS installed. Both of which are HIGHLY RECOMMENDED. 
          See 'README-EC2' for further details.

    Install these packages:
    autoconf
    automake
    libtool
    gcc-c++
    glibc-devel
    openssl-devel
    tcl-devel
    expat-devel
    db4-devel
    pcre

  Ubuntu 8.04,8.10,9.10:
    autoconf 
    automake
    libtool 
    g++ 
    libssl-dev 
    tcl-dev 
    expat 
    libexpat-dev 
    libsqlite3-dev (or optionally, libdb-dev)
    libpcre3-dev

  Ubuntu EC2 9.10:
    NOTE: Alternately you may use the install scripts in 'contrib' which 
          automate this or use the pre-built public Ubuntu EC2 AMI with 
          ATS installed. Both of which are HIGHLY RECOMMENDED.
          See 'README-EC2' for further details.

    Install these packages:
    autoconf
    automake
    libtool
    g++
    libssl-dev
    tcl-dev
    expat
    libexpat-dev
    libsqlite3-dev (or optionally, libdb-dev)
    libpcre3-dev

  FreeBSD 7.2,8.0:
    GCC 4.2.1 compiler suite
    autoconf 
    automake
    libtool
    tcl
    expat
    openssl
    pcre
    sqlite3 (or optionally, db4)

  OpenSolaris osol0906:
    GCC 4.3.2 compiler suite (dev collection)
    autoconf 
    automake
    libtool
    tcl
    expat
    openssl
    pcre
    sqlite3 (or optionally, db4)

  OSX 10.5:
    GCC 4.2.4 compiler suite (ports collection)
    autoconf 
    automake
    libtool
    tcl
    expat
    openssl
    pcre
    sqlite3 (or optionally, db4)

For using sqlite3, we only support v3.5 or later (basically, we require the v2 APIs).


3. BUILDING FROM SVN REPO

  mkdir -p ~/dev         # make yourself a development dir
  cd ~/dev               # enter your development dir
  svn checkout ...       # get the source code from ASF Subversion repo
  cd traffic             # enter the checkout dir
  autoreconf -i          # generate the configure script and Makefile.in files
  ./configure            # configure the build environment to create Makfiles
  make                   # execute the compile

3b. Instructions for building on EC2
    NOTE: Alternately you may use the scripts under 'contrib' which will 
          automate the install for trafficserver under EC2 which is 
          HIGHLY RECOMMENDED. See 'README-EC2' for further details.

   # As root do the following when using Ubuntu
   mkdir -p /mnt          #EC2 Storage Mount, where storage is located
   cd /mnt
   svn checkout ...       # get the source code from ASF Subversion repo
   cd traffic             # enter the checkout dir
   autoreconf -i --force  # generate the configure script and Makefile.in files
   ./configure
   make

   # As root do the following when using Fedora Core 8 kernel
   mkdir -p /mnt          #EC2 Storage Mount, where storage is located
   cd /mnt
   svn checkout ...       # get the source code from ASF Subversion repo
   cd traffic             # enter the checkout dir
   autoreconf -i --force  # generate the configure script and Makefile.in files
   ./configure --without-sqlite3 --with-libdb --disable-eventfd
   make


4. INSTALLATION

  DEFAULT DIR                        CONTENTS
  /usr/local/var/log/trafficserver   log files created at runtime
  /usr/local/var/trafficserver       runtime files
  /usr/local/etc/trafficserver       configuration files
  /usr/local/bin                     executable binaries
  /usr/local/libexec/trafficserver   plugins

5. CRYPTO NOTICE

  This distribution includes cryptographic software.  The country in
  which you currently reside may have restrictions on the import,
  possession, use, and/or re-export to another country, of
  encryption software.  BEFORE using any encryption software, please
  check your country's laws, regulations and policies concerning the
  import, possession, or use, and re-export of encryption software, to
  see if this is permitted.  See <http://www.wassenaar.org/> for more
  information.

  The U.S. Government Department of Commerce, Bureau of Industry and
  Security (BIS), has classified this software as Export Commodity
  Control Number (ECCN) 5D002.C.1, which includes information security
  software using or performing cryptographic functions with asymmetric
  algorithms.  The form and manner of this Apache Software Foundation
  distribution makes it eligible for export under the License Exception
  ENC Technology Software Unrestricted (TSU) exception (see the BIS
  Export Administration Regulations, Section 740.13) for both object
  code and source code.

  The following provides more details on the included cryptographic
  software:

    The functionality of OpenSSL <http://www.openssl.org/> is
    utilized in parts of the software.

6. ADDITIONAL INFO

  Web page: http://trafficserver.apache.org/
  Wiki: http://cwiki.apache.org/confluence/display/TS/
  User mailing list: users@trafficserver.apache.org
