You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ne...@apache.org on 2017/01/14 22:11:38 UTC

[50/76] [abbrv] [partial] incubator-trafficcontrol-website git commit: add 1.8.0 docs

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/admin/traffic_ops_config.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/admin/traffic_ops_config.txt b/docs/1.8.0/_sources/admin/traffic_ops_config.txt
new file mode 100644
index 0000000..0ca57da
--- /dev/null
+++ b/docs/1.8.0/_sources/admin/traffic_ops_config.txt
@@ -0,0 +1,186 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+Configuring Traffic Ops
+%%%%%%%%%%%%%%%%%%%%%%%
+
+Follow the steps below to configure the newly installed Traffic Ops Instance.
+
+Installing the SSL Cert
+=======================
+By default, Traffic Ops runs as an SSL web server, and a certificate needs to be installed.  TBD.
+
+Content Delivery Networks
+=========================
+
+.. _rl-param-prof:
+
+Profile Parameters
+======================
+Many of the settings for the different servers in a Traffic Control CDN are controlled by parameters in the parameter view of Traffic Ops. Parameters are grouped in profiles and profiles are assigned to a server. For a typical cache there are hundreds of configuration settings to apply. The Traffic Ops parameter view contains the defined settings. To make life easier, Traffic Ops allows for duplication, comparison, import and export of Profiles. Traffic Ops also has a "Global profile" - the parameters in this profile are going to be applied to all servers in the Traffic Ops instance, or apply to Traffic Ops themselves. These parameters are:
+
+
+.. index::
+  Global Profile
+
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+|           Name           |  Config file  |                                                                 Value                                                                 |
++==========================+===============+=======================================================================================================================================+
+| tm.url                   | global        | The URL where this Traffic Ops instance is being served from.                                                                         |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| tm.toolname              | global        | The name of the Traffic Ops tool. Usually "Traffic Ops". Used in the About screen and in the comments headers of the files generated. |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| tm.infourl               | global        | This is the "for more information go here" URL, which is visible in the About page.                                                   |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| tm.logourl               | global        | This is the URL of the logo for Traffic Ops and can be relative if the logo is under traffic_ops/app/public.                          |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| tm.instance_name         | global        | The name of the Traffic Ops instance. Can be used when multiple instances are active. Visible in the About page.                      |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| tm.traffic_mon_fwd_proxy | global        | When collecting stats from Traffic Monitor, Traffic Ops uses this forward proxy to pull the stats through.                            |
+|                          |               | This can be any of the MID tier caches, or a forward cache specifically deployed for this purpose. Setting                            |
+|                          |               | this variable can significantly lighten the load on the Traffic Monitor system and it is recommended to                               |
+|                          |               | set this parameter on a production system.                                                                                            |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| geolocation.polling.url  | CRConfig.json | The location to get the GeoLiteCity database from.                                                                                    |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| geolocation6.polling.url | CRConfig.json | The location to get the IPv6 GeoLiteCity database from.                                                                               |
++--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
+
+These parameters should be set to reflect the local environment.
+
+
+After running the postinstall script, Traffic Ops has the following profiles pre-loaded:
+
++----------+-------------------------------------------------------------------------------------------------+
+|   Name   |                                           Description                                           |
++==========+=================================================================================================+
+| EDGE1    | The profile to be applied to the latest supported version of ATS, when running as an EDGE cache |
++----------+-------------------------------------------------------------------------------------------------+
+| TR1      | The profile to be applied to the latest version of Traffic Router                               |
++----------+-------------------------------------------------------------------------------------------------+
+| TM1      | The profile to be applied to the latest version of Traffic Monitor                              |
++----------+-------------------------------------------------------------------------------------------------+
+| MID1     | The profile to be applied to the latest supported version of ATS, when running as an MID cache  |
++----------+-------------------------------------------------------------------------------------------------+
+| RIAK_ALL | Riak profile for all CDNs to be applied to the Traffic Vault servers                            |
++----------+-------------------------------------------------------------------------------------------------+
+
+.. Note:: The Traffic Server profiles contain some information that is specific to the hardware being used (most notably the disk configuration), so some parameters will have to be changed to reflect your configuration. Future releases of Traffic Control will separate the hardware and software profiles so it is easier to "mix-and-match" different hardware configurations.
+
+Below is a list of cache parameters that are likely to need changes from the default profiles shipped with Traffic Ops:
+
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+|           Name           |    Config file    |                                                       Description                                                       |
++==========================+===================+=========================================================================================================================+
+| allow_ip                 | astats.config     | This is a comma separated  list of IPv4 CIDR blocks that will have access to the astats statistics on the caches.       |
+|                          |                   | The Traffic Monitor IP addresses have to be included in this, if they are using IPv4 to monitor the caches.             |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+| allow_ip6                | astats.config     | This is a comma separated  list of IPv6 CIDR blocks that will have access to the astats statistics on the caches.       |
+|                          |                   | The Traffic Monitor IP addresses have to be included in this, if they are using IPv6 to monitor the caches.             |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+| Drive_Prefix             | storage.config    | JvD/Jeff to supply blurb                                                                                                |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+| Drive_Letters            | storage.config    | JvD/Jeff to supply blurb                                                                                                |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+| purge_allow_ip           | ip_allow.config   | The IP address range that is allowed to execute the PURGE method on the caches (not related to :ref:`rl-purge`)         |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+| health.threshold.loadavg | rascal.properties | The Unix load average at which Traffic Router will stop sending traffic to this cache                                   |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+| health.threshold.\\      | rascal.properties | The amount of bandwidth that Traffic Router will try to keep available on the cache.                                    |
+| availableBandwidthInKbps |                   | For example: "">1500000" means stop sending new traffic to this cache when traffic is at 8.5Gbps on a 10Gbps interface. |
++--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
+
+Below is a list of Traffic Server plugins that need to be configured in the parameter table:
+
++------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+|       Name       |  Config file  |                     Description                      |                                                  Details                                                   |
++==================+===============+======================================================+============================================================================================================+
+| astats_over_http | package       | The package version for the astats_over_http plugin. | `astats_over_http <http://trafficcontrol.apache.org/downloads/index.html>`_                                  |
++------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| trafficserver    | package       | The package version for the trafficserver plugin.    | `trafficserver <http://trafficcontrol.apache.org/downloads/index.html>`_                                     |
++------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| regex_revalidate | plugin.config | The config to be used for regex_revalidate.          | `regex_revalidate <https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html>`_ |
+|                  |               | For example: --config regex_revalidate.config        |                                                                                                            |
++------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| remap_stats      | plugin.config | The config to be used for remap_stats.               | `remap_stats <https://github.com/apache/trafficserver/tree/master/plugins/experimental/remap_stats>`_      |
+|                  |               | Value is left blank.                                 |                                                                                                            |
++------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+
+
+Regions, Locations and Cache Groups
+===================================
+All servers have to have a `location`, which is their physical location. Each location is part of a `region`, and each region is part of a `division`. For Example, ``Denver`` could be a location in the ``Mile High`` region and that region could be part of the ``West`` division. Enter your divisions first in  `Misc->Divisions`, then enter the regions in `Misc->Regions`, referencing the divisions entered, and finally, enter the physical locations in `Misc->Locations`, referencing the regions entered. 
+
+All servers also have to be part of a `cache group`. A cache group is a logical grouping of caches, that don't have to be in the same physical location (in fact, usually a cache group is spread across minimally 2 physical Locations for redundancy purposes), but share geo coordinates for content routing purposes. JvD to add more.
+
+
+
+Configuring Content Purge
+=========================
+Content purge using ATS is not simple; there is no file system to delete files/directories from, and in large caches it can be hard to delete a simple regular expression from the cache. This is why Traffic Control uses the `Regex Revalidate Plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_revalidate.en.html>`_ to purge content from the system. We don't actually remove the content, we have a check that gets run before each request on each cache to see if this request matches a list of regular expressions, and if it does, we force a revalidation to the origin, making the original content inaccessible. The regex_revalidate plugin will monitor it's config file, and will pick up changes to it without a `traffic_line -x` signal to ATS. Changes to this file need to be distributed to the highest tier (MID) caches in the CDN before they are distributed to the lower tiers, to prevent filling the lower tiers with the content that should be purged from the highe
 r tiers without hitting the origin. This is why the ort script (see :ref:`reference-traffic-ops-ort`) will by default push out config changes to MID first, confirm that they have all been updated, and then push out the changes to the lower tiers. In large CDNs, this can make the distribution and time to activation of the purge too long, and because of that there is the option to not distribute the `regex_revalidate.config` file using the ort script, but to do this using other means. By default, Traffic Ops will use ort to distribute the `regex_revalidate.config` file. 
+
+Content Purge is controlled by the following parameters in the profile of the cache:
+
++----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+|         Name         |       Config file       |                   Description                    |                                                                         Details                                                                         |
++======================+=========================+==================================================+=========================================================================================================================================================+
+| location             | regex_revalidate.config | What location the file should be in on the cache | The presence of this parameter tells ort to distribute this file; delete this parameter from the profile if this file is distributed using other means. |
++----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| maxRevalDurationDays | regex_revalidate.config | The maximum time a purge can be active           | To prevent a build up of many checks before each request, this is longest time the system will allow                                                    |
++----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| regex_revalidate     | plugin.config           | The config to be used for regex_revalidate.      | `regex_revalidate <https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html>`_                                              |
+|                      |                         | For example: --config regex_revalidate.config    |                                                                                                                                                         |
++----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Note that the TTL the adminstrator enters in the purge request should be longer than the TTL of the content to ensure the bad content will not be used. If the CDN is serving content of unknown, or unlimited TTL, the administrator should consider using `proxy-config-http-cache-guaranteed-min-lifetime <https://docs.trafficserver.apache.org/en/latest/admin-guide/files/records.config.en.html#proxy-config-http-cache-guaranteed-min-lifetime>`_ to limit the maximum time an object can be in the cache before it is considered stale, and set that to the same value as `maxRevalDurationDays` (Note that the former is in seconds and the latter is in days, so convert appropriately).
+
+
+
+.. _Creating-CentOS-Kickstart:
+
+Creating the CentOS Kickstart File
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The kickstart file is a text file, containing a list of items, each identified by a keyword. You can create it by using the Kickstart Configurator application, or writing it from scratch. The Red Hat Enterprise Linux installation program also creates a sample kickstart file based on the options that you selected during installation. It is written to the file ``/root/anaconda-ks.cfg``. This file is editable using most text editors that can save files as ASCII text.
+
+To generate ISO, the CentOS Kickstart is necessary:
+
+1. Create a kickstart file.
+2. Create a boot media with the kickstart file or make the kickstart file available on the network.
+3. Make the installation tree available.
+4. Start the kickstart installation.
+
+Create a ks.src file in the root of the selection location. See the example below: 
+
+::
+
+
+ mkdir newdir
+ cd newdir/
+ cp -r ../centos65/* .
+ vim ks.src
+ vim isolinux/isolinux.cfg
+ cd vim osversions.cfg
+ vim osversions.cfg
+
+
+This is a standard kickstart formatted file that the generate ISO process uses to create the kickstart (ks.cfg) file for the install. The generate ISO process uses the ks.src, overwriting any information set in the Generate ISO tab in Traffic Ops, creating ks.cfg.
+
+.. Note:: Streamline your install folder for under 1GB, which assists in creating a CD.   
+
+.. seealso:: For in-depth instructions, please see `Kickstart Installation <https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-howuse.html>`_
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/admin/traffic_ops_extensions.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/admin/traffic_ops_extensions.txt b/docs/1.8.0/_sources/admin/traffic_ops_extensions.txt
new file mode 100644
index 0000000..4aceebb
--- /dev/null
+++ b/docs/1.8.0/_sources/admin/traffic_ops_extensions.txt
@@ -0,0 +1,88 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+.. _admin-to-ext-script:
+
+Managing Traffic Ops Extensions
+*******************************
+
+Each script is a separate bash script located in ``$TO_HOME/bin/checks/``. 
+
+The extensions must be registered with Traffic Ops in order to display a column on the Server Check page. The list of currently registered extensions can be listed by running ``/opt/traffic_ops/app/bin/extensions -a``.
+
+The below extensions are automatically registered with the Traffic Ops database (``to_extension`` table) at install time (see ``traffic_ops/app/db/seeds.sql``). However, cron must still be configured to run these checks periodically. 
+
+The scripts are called as follows: ::
+
+  
+  $TO_HOME/bin/checks/To<name>Check.pl  -c "{\"base_url\": \",https://\"<traffic_ops_ip>\", \"check_name\": \"<check_name>\"}" -l <log level>
+  where:
+
+  <name> is the type of check script
+  <traffic_ops_ip> is the IP address of the Traffic Ops Server
+  <check_name> is the name of the check. For example: CDU, CHR, DSCP, MTU, etc...
+  <log_level> is between 1 and 4, with 4 being the most verbose. This field is optional
+
+
+Example Cron File
+=================
+Edit with ``crontab -e``. You may need to adjust the path to your $TO_HOME to match your system.
+
+::
+
+   
+ PERL5LIB=/opt/traffic_ops/app/local/lib/perl5:/opt/traffic_ops/app/lib
+ 
+ # IPv4 ping examples - The 'select: ["hostName","domainName"]' works but, if you want to check DNS resolution use FQDN.
+ */15 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"10G\", \"select\": [\"hostName\",\"domainName\"]}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ */15 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"10G\", \"select\": \"ipAddress\"}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ */15 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"10G\", \"name\": \"IPv4 Ping\", \"select\": \"ipAddress\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+
+ # IPv6 ping examples
+ */15 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"10G6\", \"name\": \"IPv6 Ping\", \"select\": \"ip6Address\", \"syslog_facility\": \"local0\"}" >/dev/null 2>&1
+ */15 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"10G6\", \"select\": \"ip6Address\"}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 
+ # iLO ping
+ 18 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"ILO\", \"select\": \"iloIpAddress\"}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 18 * * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"ILO\", \"name\": \"ILO ping\", \"select\": \"iloIpAddress\", \"syslog_facility\": \"local0\"}" >/dev/null 2>&1
+ 
+ # MTU ping
+ 45 0 * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"MTU\", \"select\": \"ipAddress\"}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 45 0 * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"MTU\", \"select\": \"ip6Address\"}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 45 0 * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"MTU\", \"name\": \"Max Trans Unit\", \"select\": \"ipAddress\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+ 45 0 * * * root /opt/traffic_ops/app/bin/checks/ToPingCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"MTU\", \"name\": \"Max Trans Unit\", \"select\": \"ip6Address\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+
+ # FQDN
+ 27 * * * * root /opt/traffic_ops/app/bin/checks/ToFQDNCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"FQDN\""  >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 27 * * * * root /opt/traffic_ops/app/bin/checks/ToFQDNCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"FQDN\", \"name\": \"DNS Lookup\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+ 
+ # DSCP 
+ 36 * * * * root /opt/traffic_ops/app/bin/checks/ToDSCPCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"DSCP\", \"cms_interface\": \"eth0\"}" >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 36 * * * * root /opt/traffic_ops/app/bin/checks/ToDSCPCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"DSCP\", \"name\": \"Delivery Service\", \"cms_interface\": \"eth0\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+ 
+ # RTR
+ 10 * * * * root /opt/traffic_ops/app/bin/checks/ToRTRCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"RTR\"}"  >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 10 * * * * root /opt/traffic_ops/app/bin/checks/ToRTRCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"RTR\", \"name\": \"Content Router Check\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+ 
+ # CHR
+ */15 * * * * root /opt/traffic_ops/app/bin/checks/ToCHRCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"CHR\"}"  >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 
+ # CDU
+ 20 * * * * root /opt/traffic_ops/app/bin/checks/ToCDUCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"CDU\"}"  >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 
+ # ORT
+ 40 * * * * ssh_key_edge_user /opt/traffic_ops/app/bin/checks/ToORTCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"ORT\"}"  >> /var/log/traffic_ops/extensionCheck.log 2>&1
+ 40 * * * * ssh_key_edge_user /opt/traffic_ops/app/bin/checks/ToORTCheck.pl -c "{\"base_url\": \"https://localhost\", \"check_name\": \"ORT\", \"name\": \"Operational Readiness Test\", \"syslog_facility\": \"local0\"}" > /dev/null 2>&1
+   

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/admin/traffic_ops_install.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/admin/traffic_ops_install.txt b/docs/1.8.0/_sources/admin/traffic_ops_install.txt
new file mode 100644
index 0000000..ca49461
--- /dev/null
+++ b/docs/1.8.0/_sources/admin/traffic_ops_install.txt
@@ -0,0 +1,381 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+.. index::
+  Traffic Ops - Installing 
+  
+.. _rl-ps:
+
+Installing Traffic Ops
+%%%%%%%%%%%%%%%%%%%%%%
+
+System Requirements
+-------------------
+The user must have the following for a successful install:
+
+* CentOS 6
+* 4 vCPUs
+* 32GB RAM
+* 20 GB disk space
+* YUM repository with minimally the following dependecies avaliable
+
+  * apr 1.3.9-5 
+  * apr-util 1.3.9-3 
+  * apr-util-ldap 1.3.9-3   
+  * expat-devel 2.0.1-11 
+  * genisoimage 1.1.9-12  
+  * httpd 2.2.15
+  * httpd-tools 2.2.15  
+  * libpcap-devel 14:1.4
+  * mod_ssl  1:2.2.15-29
+  * mysql 5.1.71 
+  * autoconf 2.63-5.1.
+  * automake 1.11.1-4
+  * gcc 4.4.7-4
+  * gettext 0.17-16
+  * libcurl-devel 7.19.7-37
+  * libtool 2.2.6-15.5
+  * mysql-devel 5.1.73-3
+  * perl-CPAN 1.9402-136
+  * libcurl 7.19.7-37
+  * openssl 1.0.1e-30
+  * cloog-ppl 0.15.7-1.2
+  * cpp 4.4.7-4
+  * cvs 1.11.23-16
+  * libgomp 4.4.7-4
+  * libidn-devel 1.18-2
+  * m4 1.4.13-5
+  * mpfr 2.4.1-6
+  * perl-Digest-SHA 1:5.47-136
+  * ppl 0.10.2-11
+  * curl 7.19.7-37
+  * openssl-devel 1.0.1e-30
+ 
+* Access to `The Comprehensive Perl Archive Network (CPAN) <http://www.cpan.org/>`_
+
+.. Note:: The above versions are known to work on CentOS 6.5. Higher versions may work.
+
+.. Note:: Although Traffic Ops supports both MySQL and Postgres as a database, support for MySQL is more mature and better tested. It is best to use MySQL when first getting started, and the rest of this guide assumes MySQL as the database.
+
+Navigating the Install
+-----------------------
+To begin the install:
+
+1. Install Traffic Ops: 
+
+  Download the traffic_ops rpm package from http://trafficcontrol.apache.org/downloads/index.html
+  
+  ``sudo rpm -ivh traffic_ops-1.*.*-****.x86_64.rpm``
+
+
+
+
+
+2. After installation of Traffic Ops rpm enter the following command: ``sudo /opt/traffic_ops/install/bin/postinstall``
+
+  Example output::
+
+
+      trafficops-vm # /opt/traffic_ops/install/bin/postinstall
+
+      This script will build and package the required Traffic Ops perl modules.
+      In order to complete this operation, Development tools such as the gcc
+      compiler must be installed on this machine.
+
+      Hit ENTER to continue:
+
+
+  The first thing postinstall will do is install additional packages needed from the yum repo.
+
+  Ater that, it will automatically proceed to installing the required Perl packages from CPAN.
+
+  .. Note:: Especially when installing Traffic Ops for the first time on a system this can take a long time, since many dependencies for the Mojolicous application need to be downloaded. Expect 30 minutes. 
+
+  If there are any prompts in this phase, please just answer with the defaults (some CPAN installs can prompt for install questions). 
+
+  When this phase is complete, you will see:: 
+
+      ...
+      Successfully installed Test-Differences-0.63
+      Successfully installed DBIx-Class-Schema-Loader-0.07042
+      Successfully installed Time-HiRes-1.9726 (upgraded from 1.9719)
+      Successfully installed Mojolicious-Plugin-Authentication-1.26
+      113 distributions installed
+      Complete! Modules were installed into /opt/traffic_ops/app/local
+      Linking perl libraries...
+      Installing perl scripts
+
+
+      This script will initialize the Traffic Ops database.
+      Please enter the following information in order to completely
+      configure the Traffic Ops mysql database.
+
+
+      Database type [mysql]:
+
+
+  The next phase of the install will ask you about the local environment for your CDN.
+
+  .. Note:: Before proceeding to this step, the database has to have at least a root password, and needs to be started. When using mysql, please type ``service mysqld start`` as root in another terminal and follow the instructions on the screen to set the root password.
+
+  .. Note:: CentOS files note.
+
+  Example output::
+
+      Database type [mysql]:
+      Database name [traffic_ops_db]:
+      Database server hostname IP or FQDN [localhost]:
+      Database port number [3306]:
+      Traffic Ops database user [traffic_ops]:
+      Password for traffic_ops:
+      Re-Enter password for traffic_ops:
+
+      Error: passwords do not match, try again.
+
+      Password for traffic_ops:
+      Re-Enter password for traffic_ops:
+
+      Database server root (admin) user name [root]:
+      Database server root password:
+      Database Type: mysql
+      Database Name: traffic_ops_db
+      Hostname: localhost
+      Port: 3306
+      Database User: traffic_ops
+      Is the above information correct (y/n) [n]:  y
+
+      The database properties have been saved to /opt/traffic_ops/app/conf/production/database.conf
+
+        The database configuration has been saved.  Now we need to set some custom
+        fields that are necessary for the CDN to function correctly.
+
+
+      Traffic Ops url [https://localhost]:  https://traffic-ops.kabletown.net
+      Human-readable CDN Name.  (No whitespace, please) [kabletown_cdn]:
+      DNS sub-domain for which your CDN is authoritative [cdn1.kabletown.net]:
+      Fully qualified name of your CentOS 6.5 ISO kickstart tar file, or 'na' to skip and add files later [/var/cache/centos65.tgz]:  na
+      Fully qualified location to store your ISO kickstart files [/var/www/files]:
+
+      Traffic Ops URL: https://traffic-ops.kabletown.net
+      Traffic Ops Info URL: https://traffic-ops.kabletown.net/info
+      Domainname: cdn1.kabletown.net
+      CDN Name: kabletown_cdn
+      GeoLocation Polling URL: https://traffic-ops.kabletown.net/routing/GeoIP2-City.mmdb.gz
+      CoverageZone Polling URL: https://traffic-ops.kabletown.net/routing/coverage-zone.json
+
+      Is the above information correct (y/n) [n]:  y
+      Install information has been saved to /opt/traffic_ops/install/data/json/post_install.json
+
+
+      Adding an administration user to the Traffic Ops database.
+
+      Administration username for Traffic Ops:  admin
+      Password for the admin user admin:
+      Verify the password for admin:
+      Do you wish to create an ldap configuration for access to traffic ops [y/n] ? [n]:  n
+      creating database
+      Creating database...
+      Creating user...
+      Flushing privileges...
+      setting up database
+      Executing 'drop database traffic_ops_db'
+      Executing 'create database traffic_ops_db'
+      Creating database tables...
+      Migrating database...
+      goose: migrating db environment 'production', current version: 0, target: 20150316100000
+      OK    20141222103718_extension.sql
+      OK    20150108100000_add_job_deliveryservice.sql
+      OK    20150205100000_cg_location.sql
+      OK    20150209100000_cran_to_asn.sql
+      OK    20150210100000_ds_keyinfo.sql
+      OK    20150304100000_add_ip6_ds_routing.sql
+      OK    20150310100000_add_bg_fetch.sql
+      OK    20150316100000_move_hdr_rw.sql
+      Seeding database...
+      Database initialization succeeded.
+      seeding profile data...
+      name EDGE1 description Edge 1
+      name TR1 description Traffic Router 1
+      name TM1 description Traffic Monitor 1
+      name MID1 description Mid 1
+      seeding parameter data...
+
+  Explanation of the information that needs to be provided:
+
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    |                       Field                        |                                          Description                                          |
+    +====================================================+===============================================================================================+
+    | Database type                                      | mysql or postgres                                                                             |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Database name                                      | The name of the database Traffic Ops uses to store the configuration information              |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Database server hostname IP or FQDN                | The hostname of the database server                                                           |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Database port number                               | The database port number                                                                      |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Traffic Ops database user                          | The username Traffic Ops will use to read/write from the database                             |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Password for traffic ops                           | The password for the above database user                                                      |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Database server root (admin) user name             | Privileged database user that has permission to create the database and user for Traffic Ops  |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Database server root (admin) user password         | The password for the above privileged database user                                           |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Traffic Ops url                                    | The URL to connect to this instance of Traffic Ops, usually https://<traffic ops host FQDN>/  |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Human-readable CDN Name                            | The name of the first CDN traffic Ops will be managing                                        |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | DNS sub-domain for which your CDN is authoritative | The DNS domain that will be delegated to this Traffic Control CDN                             |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | name of your CentOS 6.5 ISO kickstart tar file     | See :ref:`Creating-CentOS-Kickstart`                                                          |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Administration username for Traffic Ops            | The Administration (highest privilege) Traffic Ops user to create;                            |
+    |                                                    | use this user to login for the first time and create other users                              |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+    | Password for the admin user                        | The password for the above user                                                               |
+    +----------------------------------------------------+-----------------------------------------------------------------------------------------------+
+
+
+  The postinstall script will now seed the database with some inital configuration settings for the CDN and the servers in the CDN.
+
+  The next phase is the download of the geo location database and configuration of information needed for SSL certificates.
+
+  Example output::
+
+    Downloading MaxMind data.
+    --2015-04-14 02:14:32--  http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
+    Resolving geolite.maxmind.com... 141.101.115.190, 141.101.114.190, 2400:cb00:2048:1::8d65:73be, ...
+    Connecting to geolite.maxmind.com|141.101.115.190|:80... connected.
+    HTTP request sent, awaiting response... 200 OK
+    Length: 17633433 (17M) [application/octet-stream]
+    Saving to: "GeoLite2-City.mmdb.gz"
+
+    100%[==================================================================================================================================================================>] 17,633,433  7.03M/s   in 2.4s
+
+    2015-04-14 02:14:35 (7.03 MB/s) - "GeoLite2-City.mmdb.gz" saved [17633433/17633433]
+
+    Copying coverage zone file to public dir.
+
+    Installing SSL Certificates.
+
+      We're now running a script to generate a self signed X509 SSL certificate.
+      When prompted to enter a pass phrase, just enter 'pass' each time.  The
+      pass phrase will be stripped from the private key before installation.
+
+      When prompted to enter a 'challenge password', just hit the ENTER key.
+
+      The remaining enformation Country, State, Locality, etc... are required to
+      generate a properly formatted SSL certificate.
+
+    Hit Enter when you are ready to continue:
+    Postinstall SSL Certificate Creation.
+
+    Generating an RSA Private Server Key.
+
+    Generating RSA private key, 1024 bit long modulus
+    ..........................++++++
+    .....................++++++
+    e is 65537 (0x10001)
+    Enter pass phrase for server.key:
+    Verifying - Enter pass phrase for server.key:
+
+    The server key has been generated.
+
+    Creating a Certificate Signing Request (CSR)
+
+    Enter pass phrase for server.key:
+    You are about to be asked to enter information that will be incorporated
+    into your certificate request.
+    What you are about to enter is what is called a Distinguished Name or a DN.
+    There are quite a few fields but you can leave some blank
+    For some fields there will be a default value,
+    If you enter '.', the field will be left blank.
+    -----
+    Country Name (2 letter code) [XX]:US
+    State or Province Name (full name) []:CO
+    Locality Name (eg, city) [Default City]:Denver
+    Organization Name (eg, company) [Default Company Ltd]:
+    Organizational Unit Name (eg, section) []:
+    Common Name (eg, your name or your server's hostname) []:
+    Email Address []:
+
+    Please enter the following 'extra' attributes
+    to be sent with your certificate request
+    A challenge password []:pass
+    An optional company name []:
+
+    The Certificate Signing Request has been generated.
+    Removing the pass phrase from the server key.
+    Enter pass phrase for server.key.orig:
+    writing RSA key
+
+    The pass phrase has been removed from the server key.
+
+    Generating a Self-signed certificate.
+    Signature ok
+    subject=/C=US/ST=CO/L=Denver/O=Default Company Ltd
+    Getting Private key
+
+    A server key and self signed certificate has been generated.
+
+    Installing the server key and server certificate.
+
+    The private key has been installed.
+
+    Installing the self signed certificate.
+
+    Saving the self signed csr.
+
+      The self signed certificate has now been installed.
+
+      You may obtain a certificate signed by a Certificate Authority using the
+      server.csr file saved in the current directory.  Once you have obtained
+      a signed certificate, copy it to /etc/pki/tls/certs/localhost.crt and
+      restart Traffic Ops.
+
+
+
+    SSL Certificates have been installed.
+
+    Starting Traffic Ops.
+
+    Starting Traffic Ops
+
+    Subroutine TrafficOps::has redefined at /opt/traffic_ops/app/local/lib/perl5/Mojo/Base.pm line 38.
+    Subroutine TrafficOps::has redefined at /opt/traffic_ops/app/local/lib/perl5/Mojo/Base.pm line 38.
+    Loading config from /opt/traffic_ops/app/conf/cdn.conf
+    Reading log4perl config from /opt/traffic_ops/app/conf/production/log4perl.conf
+    Starting hot deployment for Hypnotoad server 32192.
+
+    Waiting for Traffic Ops to start.
+
+
+    Shutdown Traffic Ops [y/n] [n]:  n
+
+    To start Traffic Ops:  service traffic_ops start
+    To stop Traffic Ops:   service traffic_ops stop
+
+    traffic_ops #
+
+Traffic Ops is now installed!
+
+Upgrading Traffic Ops
+=====================
+To upgrade:
+
+1. Enter the following command:``service traffic_ops stop``
+2. Enter the following command:``yum upgrade traffic_ops``
+3. See :ref:`rl-ps` to run postinstall.
+4. Enter the following command:``service traffic_ops start``