http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/42d25dc5/docs/latest/_sources/admin/traffic_ops/installation.txt ---------------------------------------------------------------------- diff --git a/docs/latest/_sources/admin/traffic_ops/installation.txt b/docs/latest/_sources/admin/traffic_ops/installation.txt new file mode 100644 index 0000000..b5cce9f --- /dev/null +++ b/docs/latest/_sources/admin/traffic_ops/installation.txt @@ -0,0 +1,243 @@ +.. +.. +.. 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-to-install: + +Traffic Ops - Installing +%%%%%%%%%%%%%%%%%%%%%%%% + +System Requirements +------------------- +The user must have the following for a successful minimal install: + +* CentOS 7 +* 2 VMs with at least 2 vCPUs, 4GB RAM, 20 GB disk space each +* Access to Centos Base and epel repositories +* Access to `The Comprehensive Perl Archive Network (CPAN) <http://www.cpan.org/>`_ + +As of version 2.0 only Postgres is supported as the database. This documentation assumes CentOS 7.2 and Postgresql 9.6.3. For a production install + +.. highlight:: none + +Navigating the Install +----------------------- +To begin the install: + +1. Install Postgres + + For a production install it is best to install postgres on it's own server/VM. To install postgres, on the postgres host (pg) :: + + pg-$ sudo su - + pg-# yum -y update + pg-# yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm + pg-# yum -y install postgresql96-server + pg-$ su - postgres + pg-$ /usr/pgsql-9.6/bin/initdb -A md5 -W #-W forces the user to provide a superuser (postgres) password + + + Edit ``/var/lib/pgsql/9.6/data/pg_hba.conf`` to allow your traffic ops app server access. For example if you are going to install traffic ops on ``99.33.99.1`` add:: + + host all all 99.33.99.1/32 md5 + + to the appropriate section of this file. Edit the ``/var/lib/pgsql/9.6/data/postgresql.conf`` file to add the approriate listen_addresses or ``listen_addresses = '*'``, and start the database: :: + + pg-$ exit + pg-# systemctl enable postgresql-9.6 + pg-# systemctl start postgresql-9.6 + pg-# systemctl status postgresql-9.6 + + +2. Build Traffic Ops + + Build a Traffic Ops rpm using the instructions under the :ref:`dev-building` page. + + +3. Install Postgresql + + Install the postgresql 9.6 yum repository access. :: + + to-$ sudo su - + to-# yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm + +4. Install the rpm built in step 2. :: + + to-# yum -y install ./dist/traffic_ops-2.0.0-xxxx.yyyyyyy.el7.x86_64.rpm + + + Install some additional packages that it depends on that were not installed as dependecies in the previous step (these are for the 2.0.0 install, this may change, but the pre-installs won't hurt): :: + + to-# yum -y install git + to-# wget -q https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz + to-# tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz + to-# PATH=$PATH:/usr/local/go/bin # go bins are needed in the path for postinstall + to-# go get bitbucket.org/liamstask/goose/cmd/goose + + At this point you should be able to login to the database from the ``to`` host to the ``pg`` host like: :: + + to-# psql -h 99.33.99.1 -U postgres + Password for user postgres: + psql (9.6.3) + Type "help" for help. + + postgres=# + + Use this connectivity to create the user and database. In this example, we use user: ``traffic_ops``, password: ``tcr0cks``, database: ``traffic_ops``: :: + + to-# psql -U postgres -h 99.33.99.1 -c "CREATE USER traffic_ops WITH ENCRYPTED PASSWORD 'tcr0cks';" + Password for user postgres: + CREATE ROLE + to-# createdb traffic_ops --owner traffic_ops -U postgres -h 99.33.99.1 + Password: + to-# + + + Now, run the following command as root: ``/opt/traffic_ops/install/bin/postinstall`` + + The postinstall will first get all packages needed from CPAN. This may take a while, expect up to 30 minutes on the first install. + 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:: + + Complete! Modules were installed into /opt/traffic_ops/app/local + + Some additional files will be installed, and then it will proceed with the next phase of the install, where it will ask you about the local environment for your CDN. Please make sure you remember all your answers and the database answers match the database information previously used to create the database. + + + Example output:: + + ===========/opt/traffic_ops/app/conf/production/database.conf=========== + Database type [Pg]: + Database type: Pg + Database name [traffic_ops]: + Database name: traffic_ops + Database server hostname IP or FQDN [localhost]: 99.33.99.1 + Database server hostname IP or FQDN: 99.33.99.1 + Database port number [5432]: + Database port number: 5432 + Traffic Ops database user [traffic_ops]: + Traffic Ops database user: traffic_ops + Password for Traffic Ops database user: + Re-Enter Password for Traffic Ops database user: + Writing json to /opt/traffic_ops/app/conf/production/database.conf + Database configuration has been saved + ===========/opt/traffic_ops/app/db/dbconf.yml=========== + Database server root (admin) user [postgres]: + Database server root (admin) user: postgres + Password for database server admin: + Re-Enter Password for database server admin: + Download Maxmind Database? [yes]: + Download Maxmind Database?: yes + ===========/opt/traffic_ops/app/conf/cdn.conf=========== + Generate a new secret? [yes]: + Generate a new secret?: yes + Number of secrets to keep? [10]: + Number of secrets to keep?: 10 + Not setting up ldap + ===========/opt/traffic_ops/install/data/json/users.json=========== + Administration username for Traffic Ops [admin]: + Administration username for Traffic Ops: admin + Password for the admin user: + Re-Enter Password for the admin user: + Writing json to /opt/traffic_ops/install/data/json/users.json + ===========/opt/traffic_ops/install/data/json/openssl_configuration.json=========== + Do you want to generate a certificate? [yes]: + Country Name (2 letter code): US + State or Province Name (full name): CO + Locality Name (eg, city): Denver + Organization Name (eg, company): Super CDN, Inc + Organizational Unit Name (eg, section): + Common Name (eg, your name or your server's hostname): + RSA Passphrase: + Re-Enter RSA Passphrase: + ===========/opt/traffic_ops/install/data/json/profiles.json=========== + Traffic Ops url [https://localhost]: + Traffic Ops url: https://localhost + Human-readable CDN Name. (No whitespace, please) [kabletown_cdn]: blue cdn + Human-readable CDN Name. (No whitespace, please): blue cdn + DNS sub-domain for which your CDN is authoritative [cdn1.kabletown.net]: blue-cdn.supercdn.net + DNS sub-domain for which your CDN is authoritative: blue-cdn.supercdn.net + Writing json to /opt/traffic_ops/install/data/json/profiles.json + Downloading Maxmind data + --2017-06-11 15:32:41-- http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz + Resolving geolite.maxmind.com (geolite.maxmind.com)... 2400:cb00:2048:1::6810:262f, 2400:cb00:2048:1::6810:252f, 104.16.38.47, ... + Connecting to geolite.maxmind.com (geolite.maxmind.com)|2400:cb00:2048:1::6810:262f|:80... connected. + + ... much SQL output skipped + + Starting Traffic Ops + Restarting traffic_ops (via systemctl): [ OK ] + Waiting for Traffic Ops to restart + Success! Postinstall complete. + + to-# ifconfig + + + Explanation of the information that needs to be provided: + + +----------------------------------------------------+----------------------------------------------------------------------------------------------+ + | Field | Description | + +====================================================+==============================================================================================+ + | Database type | Pg | + +----------------------------------------------------+----------------------------------------------------------------------------------------------+ + | 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 | + +----------------------------------------------------+----------------------------------------------------------------------------------------------+ + | 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 | + +----------------------------------------------------+----------------------------------------------------------------------------------------------+ + + +Traffic Ops is now installed! + + +**To complete the Traffic Ops Setup See:** :ref:`rl-to-default-profiles` + + +Upgrading Traffic Ops +===================== +To upgrade: + +.. Note:: TODO : review for > 2.0 + +1. Enter the following command:``service traffic_ops stop`` +2. Enter the following command:``yum upgrade traffic_ops`` +3. See :ref:`rl-to-install` to run postinstall. +4. Enter the following command:``service traffic_ops start`` + + + +
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/42d25dc5/docs/latest/_sources/admin/traffic_ops/migration_from_10_to_20.txt ---------------------------------------------------------------------- diff --git a/docs/latest/_sources/admin/traffic_ops/migration_from_10_to_20.txt b/docs/latest/_sources/admin/traffic_ops/migration_from_10_to_20.txt new file mode 100644 index 0000000..4133fee --- /dev/null +++ b/docs/latest/_sources/admin/traffic_ops/migration_from_10_to_20.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. +.. + +.. index:: + Traffic Ops - Migrating from Traffic Ops 1.x to Traffic Ops 2.x + +.. _rl-ps: + +Traffic Ops - Migrating from 1.x to 2.x +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +In Traffic Ops 2.x MySQL was removed and Postgres was replaced as the database of choice for the unforeseen future. A Docker-based migration tool was developed to +help with that conversion using an open source Postgres tool called `pgloader <http://pgloader.io/>`_. The following instructions will help configuring the Migration tool + +System Requirements +------------------- +The user must have the following for a successful minimal install: + +* CentOS 7.2+ +* Docker installed (this migration was tested against version **docker-engine-selinux-17.05.0.ce-1.el7.centos.noarch.rpm**) +* Postgres has been installed according to :ref:`rl-to-install` + +Setup the traffic_ops_db directory +---------------------------------- + + Modify /opt dir permission to make it writable and owned by postgres:postgres + + :: + + $ sudo chmod 755 /opt + + Download the Traffic Control tarball for 2.0.0 + + :: + + $ cd /opt + $ wget https://dist.apache.org/repos/dist/release/incubator/trafficcontrol/<tarball_version> + + Extract the **traffic_ops_db** dir to **/opt/traffic_ops_db** + + :: + + $ tar -zxvf trafficcontrol-incubating-<version>.tar.gz --strip=1 trafficcontrol-incubating-<version>/traffic_ops_db + $ sudo chown -R postgres:postgres /opt/traffic_ops_db + +.. highlight:: none + +Migration Preparation +--------------------- +Be sure there is connectivity between your MySQL server's IP address/port and your Postgres server's IP address/port. + +Navigating the Database Migration +--------------------------------- +Begin the database migration after settings up the **/opt/traffic_ops_db** directory + + Switch to the postgres user so permissions stay intact. + :: + + $ su - postgres + $ cd /opt/traffic_ops_db/ + +1. Configure the **/opt/traffic_ops_db/pg-migration/mysql-to-postgres.env** migration for your source MySQL and target Postgres settings + + +2. Run the migration, watch the console output for any errors (it may take some time) + :: + + $ ./migrate.sh + + + Your MySQL data should now be ported into your new instance of Postgres! + + + + +