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