Skip to content
Mirror of Apache Traffic Server
C++ C Lua M4 HTML Python Other
Latest commit 46242f4 May 1, 2016 @jpeach jpeach Update TSSslContext API reference.
Apply more consistent formatting and language. Move
TSSslServerContextCreate and TSSslServerContextDestroy into the
same page.
Failed to load latest commit information.
build TS-4375: Fix PCRE link issues on Darwin. Apr 27, 2016
ci Merge pull request #554 from jacksontj/TS-3440 Apr 29, 2016
cmd Fix build on i386 caused by type mismatch Apr 30, 2016
contrib TS-4048: restore the Vagrantfile to life Feb 26, 2016
doc Update TSSslContext API reference. May 1, 2016
example TS-4164 Update indentation with latest tools Apr 17, 2016
iocore TS-4373: Move SSL_CTX setup out of ssl_store_ssl_context. May 1, 2016
lib TS-4370: Add a traffic_server option to list tests. Apr 23, 2016
mgmt TS-4357: Remove SSLv2 and only allow SSLv3 to origin with configure o… Apr 21, 2016
plugins Fix stats_over_http argument parsing. Apr 23, 2016
proxy TS-4373: Move SSL_CTX setup out of ssl_store_ssl_context. May 1, 2016
rc s/traffic_line/traffic_ctl/ Oct 27, 2015
tools Add mkheader convenience script. Apr 21, 2016
.clang-format TS-4164 Update to new clang-format version Apr 17, 2016
.gitignore TS-4313: Fix a bug in MIME caused by improper type conversion Apr 11, 2016
.gitmodules TS-3030 Remove the LuaJIT sub-module Jul 23, 2015
.indent.pro Initial commit. Oct 29, 2009
.vimrc Set line length of 120 Mar 13, 2012
CRUFT.txt TS-3170 First stab at cleaning out the mgmt web server stuff Jun 15, 2015
INSTALL update INSTALL file Feb 25, 2014
LAYOUT Let's start by not claiming master refers to ATS 2.1... Feb 4, 2013
LICENSE Added regex remap plugin from Yahoo! Nov 7, 2011
Makefile.am Disable automatic changelog creation for now Jan 13, 2016
NOTICE TS-3977: Add cache-key-genid to experimental plugins. Mar 3, 2016
README Fix typo in README Apr 20, 2016
README-EC2 Change these two bad boys from DOS line feeds to real one... Nov 21, 2013
REVIEWERS Adding myself to HDRs reviewers May 21, 2014
STATUS Update expected release date for 6.1.0 Jan 22, 2016
Vagrantfile TS-4048: restore the Vagrantfile to life Feb 26, 2016
config.layout Runtimedir on Gentoo changed from /var/run to /run Nov 13, 2013
configure.ac TS-4375: Fix PCRE link issues on Darwin. Apr 27, 2016
emacs-style TS-95: More RAT fixes and additions to the exclude file. Feb 9, 2010

README

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
  |-- ci/ ................ quality assurance and other CI tools and configs
  |-- cmd/ ............... various command applications
      |-- traffic_cop/ ... traffic_cop application
      |-- traffic_line/ .. Command line utilities and API
      |-- traffic_shell/ . traffic_shell application
      |-- traffic_top/ ... traffic_top application
  |-- contrib ............ various contributed auxiliary pieces
  |-- doc/ ...............
      |-- admin/ ......... Admin guide documentations
      |-- dot/ ........... Graphviz source files for docs pictures
      |-- man/ ........... Unix style man-pages
      |-- plugins/ ....... Documentation for our core plugins
      |-- sdk/ ........... Plugin developer guide
  |-- example/ ........... example plugins
  |-- install/ ........... installation programs and scripts
  |-- iocore/ ............
      |-- aio/ ........... Asynchronous I/O core
      |-- cache/ ......... Disk and RAM cache
      |-- cluster/ ....... Cache and configuration clustering
      |-- dns/ ........... DNS (asynchronous)
      |-- hostdb/ ........ Internal DNS cache
      |-- net/ ........... Network
  |-- lib/ ...............
      |-- atscppapi/ ....... C++ api wrapper for plugin developers
      |-- records/ ....... library for config files
      |-- perl/ .......... Perl libraries for e.g. mgmt access and configurations
      |-- ts/ ............ Base / core library
      |-- tsconfig/....... New config parser and library (experimental)
      |-- wccp/ .......... WCCP implementation
  |-- m4/ ................ custom macros for configure.ac
  |-- mgmt/ .............. Management server and tools (including traffic_manager)
  |-- plugins/ ........... Core plugins (stable and experiemental)
  |-- proxy/ ............. HTTP proxy logic
      |-- api/ ........... Plugin API includes
      |-- config/ ........ Configurations
      |-- congest/ ....... Congestion control
      |-- hdrs/ .......... Headers parsing and management
      |-- http/ .......... The actual HTTP protocol implementation
      |---http2/ ......... HTTP/2 implementation
      |-- logging/ ....... Flexible logging
      |-- spdy/ .......... SPDY implementation
  |-- README ............. intro, links, build info
  |-- README-EC2 ......... info on EC2 support
  |-- REVIEWERS .......... (incomplete) list of areas with committer interest
  |-- LICENSE ............ full license text
  `-- NOTICE ............. copyright notices

2. REQUIREMENTS

  This section outlines build requirements for different OS
  distributions. This may be out of date compared to the on-line
  requirements at

  <https://cwiki.apache.org/confluence/display/TS/Building>.

  Fedora 12-19 / CentOS / RHEL:
    autoconf
    automake
    pkgconfig
    libtool
    perl-ExtUtils-MakeMaker
    gcc-c++
    glibc-devel
    openssl-devel
    tcl-devel
    expat-devel
    pcre
    pcre-devel
    libcap-devel (optional, highly recommended)
    flex (optional, needed for e.g. WCCP)
    hwloc-devel (optional, highly recommended)
    lua-devel (optional)

  Fedora 8 EC2 (Kernel: 2.6.21.7-2.ec2.v1.2.fc8xen):
    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.

    autoconf
    automake
    pkgconfig
    libtool
    perl-ExtUtils-MakeMaker
    gcc-c++
    glibc-devel
    openssl-devel
    tcl-devel
    expat-devel
    pcre

  Ubuntu 8.* - 13.*:
    autoconf
    automake
    pkg-config
    libtool
    libmodule-install-perl
    g++
    libssl-dev
    tcl-dev
    expat
    libexpat-dev
    libpcre3-dev
    libcap-dev (optional, highly recommended)
    flex (optional, required for e.g. WCCP)
    libhwloc-dev (optional, highly recommended)
    liblua5.1-dev or libluajit-5.1-dev (optional)
    libncurses5-dev (optional, required for e.g.: traffic_top)
    libcurl4-openssl-dev (optional, required for e.g.: traffic_top)

  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
    pkg-config
    libtool
    libmodule-install-perl
    g++
    libssl-dev
    tcl-dev
    expat
    libexpat-dev
    libpcre3-dev
    flex (optional)
    libhwloc-dev (optional, highly recommended)
    liblua-dev (optional)
    libncurses5-dev (optional, required for e.g.: traffic_top)
    libcurl3-openssl-dev (optional, required for e.g.: traffic_top)

  FreeBSD 7.2,8.0,9.0,9.1
    GCC 4.2.1 compiler suite or clang. You can install the following
	packages either from ports or via pkg_add or pkgng:
    devel/gmake
    devel/autoconf
    devel/automake
    devel/pkgconf
    devel/libtool
    lang/tcl85
    textproc/expat (or expat2)
    security/openssl
    devel/pcre
    textproc/flex (optional, install newer version from ports, fix PATH)
    devel/hwloc (optional, highly recommended)
    lang/lua (optional, on x64 don't use LuaJIT!)

  OmniOS:
    developer/gcc46
    developer/build/gnu-make
    developer/build/autoconf
    developer/build/automake-111
    developer/build/libtool
    omniti/runtime/tcl-8
    library/expat
    library/security/openssl
    library/pcre

  OSX 10.5:
    GCC 4.2.4 compiler suite (ports collection)
    autoconf
    automake
    pkgconfig
    libtool
    tcl
    expat
    openssl
    pcre

3. Building from distribution

You can download the latest source code from the official Apache Traffic
Server site:

       http://trafficserver.apache.org/downloads

(or via the URL shortener: http://s.apache.org/uG). Once downloaded,
follow the instructions:

   tar xf trafficserver-2.1.8-unstable.tar.bz2
   cd trafficserver-2.1.8-unstable
  ./configure            # configure the build environment to create Makefiles
  make                   # execute the compile

This will build with a destination prefix of /usr/local. You can finish
the installation with

  sudo make install

4. BUILDING FROM GIT REPO

  mkdir -p ~/dev         # make yourself a development dir
  cd ~/dev               # enter your development dir
  git clone ...          # get the source code from ASF Git repo
  cd trafficserver       # enter the checkout dir
  autoreconf -if         # generate the configure script and Makefile.in files
  ./configure            # configure the build environment to create Makefiles
  make                   # execute the compile

4b. 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
   git clone ...          # get the source code from ASF Git repo
   cd trafficserver       # 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
   git clone ...          # get the source code from ASF Git repo
   cd trafficserver       # enter the checkout dir
   autoreconf -i --force  # generate the configure script and Makefile.in files
   ./configure --disable-eventfd
   make

4c. Instructions for building on FreeBSD

   The only difference is how to run configure and make:

   MAKE=gmake ./configure # make sure that gmake is the make we use
   gmake

5. 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

6. 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.

7. ADDITIONAL INFO

  Web page: https://trafficserver.apache.org/
  Wiki: http://cwiki.apache.org/confluence/display/TS/
  User mailing list: users@trafficserver.apache.org
Something went wrong with that request. Please try again.