Anaconda Enterprise: Documentation

# Install Anaconda Repository (AER 2.29)

Full support is included with your purchase of Anaconda Repository. If you have any questions during installation, please contact your sales representative or Priority Support team.

You may also wish to see the instructions to update or uninstall Anaconda Repository.

## Install Anaconda Repository

Your server must meet the requirements for hardware, software, security, and network. Please review and verify all your Anaconda Repository requirements before beginning your installation.

## Install summary

1. Install MongoDB 2.6
2. Create the Anaconda Repository administrator account
3. Install Anaconda Repository packages
4. Configure Anaconda Repository
5. Start and log on to Anaconda Repository
6. Set up automatic restart on reboot, fail or error
7. Client configuration
8. Install Anaconda Repository license
9. (Optional) Mirror installers for Anaconda and Miniconda
10. Mirror Anaconda Cloud

## 1. Install MongoDB 2.6

In a terminal window, create the yum repo file as the root user:

    RPM_CDN="https://820451f3d8380952ce65-4cc6343b423784e82fd202bb87cf87cf.ssl.cf1.rackcdn.com"
    curl -O $RPM_CDN/nginx-1.6.2-1.el6.ngx.x86_64.rpm
    curl -O $RPM_CDN/mongodb-org-tools-2.6.8-1.x86_64.rpm
    curl -O $RPM_CDN/mongodb-org-shell-2.6.8-1.x86_64.rpm
    curl -O $RPM_CDN/mongodb-org-server-2.6.8-1.x86_64.rpm
    curl -O $RPM_CDN/mongodb-org-mongos-2.6.8-1.x86_64.rpm
    curl -O $RPM_CDN/mongodb-org-2.6.8-1.x86_64.rpm

NOTE: Ubuntu users use apt-get instead of yum.

### MongoDB for Redhat and CentOS 6.7+

Install MongoDB:

    sudo yum install -y mongodb-org*

Start MongoDB:

    sudo service mongod start

Verify that MongoDB is running:

    sudo service mongod
    Usage: /etc/init.d/mongod COMMAND

### MongoDB for Ubuntu 12.04+

Install MongoDB:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

    sudo apt-get update

    sudo apt-get install -y mongodb-org=2.6.9 mongodb-org-server=2.6.9 mongodb-org-shell=2.6.9 mongodb-org-mongos=2.6.9 mongodb-org-tools=2.6.9

Start MongoDB:

    sudo service mongod start

You will receive verification that MongoDB is running:

    start: Job is already running: mongod

Note: If you don’t specify a version like 2.6.9, apt-get will install the latest stable version, which is 3.x.

### Additional MongoDB resources

For additional MongoDB installation information see https://docs.mongodb.org/manual/

## 2. Create the Anaconda Repository administrator account

In a terminal window, create a new user account for Anaconda Repository named anaconda-server, and switch to this new account:

    sudo useradd -m anaconda-server

The anaconda-server user is the default for installing Anaconda Repository. Any username can be used.

NOTE: The use of the root user is discouraged.

Create the following Anaconda Repository directories:

Anaconda Repository logging and runtime directories:

    sudo mkdir -m 0770 /var/log/anaconda-server
    sudo mkdir -m 0770 /var/run/anaconda-server

Anaconda Repository package storage directory:

    sudo mkdir -m 0770 -p /opt/anaconda-server/package-storage

Assign the anaconda-server user ownership of these directories:

    sudo chown -R anaconda-server:anaconda-server /var/log/anaconda-server
    sudo chown -R anaconda-server:anaconda-server /var/run/anaconda-server
    sudo chown -R anaconda-server:anaconda-server /opt/anaconda-server/package-storage

Switch to the Anaconda Repository administrator account:

    sudo su - anaconda-server

## 3. Install Anaconda Repository

Your support representative will provide you with a download URL for the Anaconda Repository installer.

Download and install Anaconda Repository, following the prompts in the installation routine:

    curl '$INSTALLER_URL' > anaconda_repository.sh

Run the anaconda_repository.sh script:

    bash anaconda_repository.sh

Review and accept the license terms:

    Welcome to Anaconda Repository 2.29.0 (by Continuum Analytics, Inc.)
    In order to continue the installation process, please review the license agreement.
    Please, press ENTER to continue.

Once you have reviewed the license terms, approve them:

    Do you approve the license terms? [yes|no] yes

Accept the default location or specify an alternative:

     anaconda_repository will now be installed into this location:
    /home/anaconda-server/repo  -Press ENTER to confirm the location
     -Press CTRL-C to abort the installation
     -Or specify a different location below
      [/home/anaconda-server/repo] >>> /home/anaconda-server/repo" [Press ENTER]
       PREFIX=/home/anaconda-server/repo
       installing: python-2.7.11-0
       ...
       Python 2.7.11 :: Continuum Analytics, Inc.
       creating default environment... installation finished.

At the end of the installation routine, update the anaconda-server user’s path (prepending /home/anaconda-server/repo) by answering yes at the prompt to add the install location to your path:

    Do you wish the installer to prepend the anaconda_repository install location to PATH in your /home/anaconda-server/.bashrc ? [yes|no]

Type “yes” and press ENTER.

For the new path changes to take effect, exit and restart your terminal session, or source your .bashrc, or start a new bash shell:

    source ~/.bashrc

OR:

    bash

## 4. Configure Anaconda Repository

Now initialize the web server, choose the package storage location, and create the first user.

1. Initialize the web server and indicate the filepath for the package storage location:

       anaconda-server-config --init
       anaconda-server-config --set fs_storage_root /opt/anaconda-server/package-storage

NOTE: The location for file storage can be any location owned by the anaconda-server user that you created in Step 4.

2. Configure the connection to your MongoDB database:

       anaconda-server-config --set MONGO_URL mongodb://localhost

NOTE: You may also configure an external MongoDB database. See the advanced installation instructions for details.

3. If you are not using LDAP or Kerberos authentication, create an initial superuser account for Anaconda Repository:

       anaconda-server-create-user --username "superuser" --password "yourpassword" --email "your@email.com" --superuser

NOTE: Replace “superuser” with a username of your choice, “yourpassword” with a password of your choice, and “you@youremail.com” with an email address where you wish to receive system email notifications.

NOTE: To ensure the bash shell does not process any of the characters in this password, limit the password to lower case letters, upper case letters and numbers, with no punctuation. After setup the password can be changed with the web interface.

4. Initialize the Anaconda Repository database:

       anaconda-server-db-setup --execute

NOTE: When upgrading Anaconda Repository for each future version, you will first install the new version, then run:

    anaconda-server-db-setup --execute

again, and then restart the server.

NOTE: More configuration options can be controlled with one or more .yaml configuration files. Anaconda Repository reads configuration files from `/etc/anaconda-server/*.yaml`, then `$PREFIX/etc/anaconda-server/*.yaml`, then from the path specified in the environment variable `ANACONDA_SERVER_CONFIG` if it is set and the command line argument `--config-file` was not used, then from the path specified in the command line argument `--config-file` if it was used. All configuration is merged, and options from files read earlier are overwritten by files read later. If there are multiple files in the same directory, they are read in alphabetical order.

## 5. Start and log on to Anaconda Repository

Now you are ready to start Anaconda Repository and then log on using your browser.

1. Start the new Anaconda Repository on the Anaconda Repository port:

       anaconda-server --port 8080

2. Open your browser and log onto Anaconda Repository by visiting `http://your.anaconda.repository:8080/` using the superuser account you created in step 5 above.

3. If you are using LDAP or Kerberos authentication, modify your user “jsmith” to be a superuser:

       anaconda-server-admin set-superuser "jsmith"

## 6. Set up automatic restart on reboot, fail or error

1. Run the anaconda-server-install-supervisord-config.sh script to configure supervisord management of the Anaconda server and worker processes:

       anaconda-server-install-supervisord-config.sh

This will generate the /home/anaconda-server/repo/etc/supervisord.conf file and add a crontab rule to restart supervisor after each reboot.

If an error message says that the user is disallowed from using cron and could not add the crontab rule, you can add it manually with sudo. Edit the crontab file:

    sudo crontab -e -u anaconda-server

When the file is open for editing, add this entry:

    @reboot /home/anaconda-server/repo/bin/supervisord

2. Verify that the server is running with:

       supervisorctl status

If installed correctly, you see:

    binstar-server RUNNING   pid 10831, uptime 0:00:05

## 7. Client configuration

Follow the Client configuration instructions so you can use one or more clients to communicate with the server.

## 8. Install Anaconda Repository License file

In your browser, go to `http://your.anaconda.repository:8080`. Follow the onscreen instructions to upload the license file that you received in an email from your sales representative.

Contact your sales representative or support representative if you cannot find or have any questions about your license.

After uploading the license file, you will see the login page. Log in using the superuser user and password that you created in Step 5 above.

TIP: You can view the current license information and upload a new license file by visiting the URL `http://your.anaconda.repository:8080/admin/license`.

Alternate license install: Copy the license file directly into the `/home/anaconda-server/.continuum` directory.

## 9. (Optional) Mirror installers for Anaconda and Miniconda

Miniconda and Anaconda installers can be served by Anaconda Repository via the static directory located at /home/anaconda-server/repo/lib/python2.7/site-packages/binstar/static/extras. This is required for Anaconda Cluster integration. To serve up the latest Miniconda installers for each platform, download them and copy them to the extras directory:

    # miniconda installers
    mkdir -p /tmp/extras
    pushd /tmp/extras
    URL="https://repo.continuum.io/miniconda/"
    versions="Miniconda3-latest-Linux-x86_64.sh Miniconda3-latest-MacOSX-x86_64.sh Miniconda3-latest-Windows-x86.exe Miniconda3-latest-Windows-x86_64.exe Miniconda-latest-Linux-x86_64.sh Miniconda-latest-MacOSX-x86_64.sh Miniconda-latest-Windows-x86.exe Miniconda-latest-Windows-x86_64.exe
    "
    for installer in $versions
    do
        curl -O $URL$installer
    done

    # anaconda installers
    URL="https://repo.continuum.io/archive/"
    versions="Anaconda3-2.4.1-Linux-x86_64.sh Anaconda3-2.4.1-MacOSX-x86_64.pkg Anaconda3-2.4.1-MacOSX-x86_64.sh Anaconda3-2.4.1-Windows-x86.exe Anaconda3-2.4.1-Windows-x86_64.exe Anaconda2-2.4.1-Linux-x86_64.sh Anaconda2-2.4.1-MacOSX-x86_64.pkg Anaconda2-2.4.1-MacOSX-x86_64.sh Anaconda2-2.4.1-Windows-x86.exe Anaconda2-2.4.1-Windows-x86_64.exe"
    for installer in $versions
    do
        curl -O $URL$installer
    done

    # Move installers into static directory
    popd
    cp -a /tmp/extras /home/anaconda-server/repo/lib/python2.7/site-packages/binstar/static

Users can download the installers by using curl:

    # Fill in server name, port, and specific installer for your platform
    curl -s -O http://<your.anaconda.repository>:8080/static/extras/Miniconda-latest-Linux-x86_64.sh

## 10. Mirror Anaconda Cloud

Packages can be mirrored from Anaconda Cloud to the local Anaconda Repository via one of two methods: direct download, or via USB drive provided by Continuum Analytics. This document describes the direct download method. Separate instructions are included with a USB drive.

Mirror the Anaconda Cloud Repository:

    anaconda-server-sync-conda

This command will mirror the anaconda.org repository to the /opt/anaconda-server/package-storage directory.

NOTE: Due to the size of the Anaconda Cloud repo and depending on the available Internet bandwidth, the mirror process can take hours.

## For additional help

Your organization receives priority support with your purchase of Anaconda Repository. Please email support at the email address given to you by your sales representative.

## Advanced topics

- Advanced Installation Options
- Troubleshooting your Anaconda repository installation
- Maintenance and configuration concerns
- User administration
- Client configuration
- Adding a PyPI or Anaconda Mirror
- Recommended Workflow

## Did you find what you needed on this page?

Please let us know.