Merge branch '8784-dir-listings'
[arvados.git] / doc / install / install-manual-prerequisites.html.textile.liquid
index 420c12a7e896d9cac2e82bd3da1c4d160f4d2e2e..b36c20b859b2828f966a6e748cd576b55a07f3f3 100644 (file)
@@ -3,6 +3,11 @@ layout: default
 navsection: installguide
 title: Prerequisites
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
 
 h2. Hardware (or virtual machines)
 
@@ -13,7 +18,7 @@ table(table table-bordered table-condensed).
 |_Function_|_Number of nodes_|
 |Arvados API, Crunch dispatcher, Git, Websockets and Workbench|1|
 |Arvados Compute node|1|
-|Arvados Keepproxy server|1|
+|Arvados Keepproxy and Keep-web server|1|
 |Arvados Keepstore servers|2|
 |Arvados Shell server|1|
 |Arvados SSO server|1|
@@ -21,56 +26,58 @@ table(table table-bordered table-condensed).
 
 The number of Keepstore, shell and compute nodes listed above is a minimum. In a real production installation, you will likely run many more of each of those types of nodes. In such a scenario, you would probably also want to dedicate a node to the Workbench server and Crunch dispatcher, respectively. For performance reasons, you may want to run the database server on a separate node as well.
 
+h2. Supported GNU/Linux distributions
+
+table(table table-bordered table-condensed).
+|_Distribution_|_State_|_Last supported version_|
+|CentOS 7|Supported|Latest|
+|Debian 8 ("jessie")|Supported|Latest|
+|Ubuntu 14.04 ("trusty")|Supported|Latest|
+|Ubuntu 16.04 ("xenial")|Supported|Latest|
+|Ubuntu 12.04 ("precise")|EOL|8ed7b6dd5d4df93a3f37096afe6d6f81c2a7ef6e (2017-05-03)|
+|Debian 7 ("wheezy")|EOL|997479d1408139e96ecdb42a60b4f727f814f6c9 (2016-12-28)|
+|CentOS 6 |EOL|997479d1408139e96ecdb42a60b4f727f814f6c9 (2016-12-28)|
+
 h2(#repos). Arvados package repositories
 
 On any host where you install Arvados software, you'll need to set up an Arvados package repository.  They're available for several popular distributions.
 
 h3. CentOS
 
-Packages are available for CentOS 6.  First, register the Curoverse signing key in RPM's database:
-
-{% include 'install_redhat_key' %}
-
-Then save this configuration block in @/etc/yum.repos.d/arvados.repo@:
+Packages are available for CentOS 7. To install them with yum, save this configuration block in @/etc/yum.repos.d/arvados.repo@:
 
 <notextile>
 <pre><code>[arvados]
 name=Arvados
 baseurl=http://rpm.arvados.org/CentOS/$releasever/os/$basearch/
+gpgcheck=1
+gpgkey=http://rpm.arvados.org/CentOS/RPM-GPG-KEY-curoverse
 </code></pre>
 </notextile>
 
-h3. Debian
-
-Packages are available for Debian 7 ("wheezy").  First, register the Curoverse signing key in apt's database:
-
-{% include 'install_debian_key' %}
+{% include 'install_redhat_key' %}
 
-Then save the configuration line listed for your version of Debian in @/etc/apt/sources.list.d/arvados.list@:
+h3. Debian and Ubuntu
 
-table(table table-bordered table-condensed).
-|*Debian version*|*@/etc/apt/sources.list.d/arvados.list@*|
-|7 ("wheezy")|@deb http://apt.arvados.org/ wheezy main@|
+Packages are available for Debian 8 ("jessie"), Ubuntu 14.04 ("trusty") and Ubuntu 16.04 ("xenial").
 
-Finally, add this new repository to apt's database:
+First, register the Curoverse signing key in apt's database:
 
-<notextile>
-<pre><code>~$ <span class="userinput">sudo /usr/bin/apt-get update</span>
-</code></pre>
-</notextile>
+{% include 'install_debian_key' %}
 
-h3. Ubuntu
+Configure apt to retrieve packages from the Arvados package repository. This command depends on your OS vendor and version:
 
-Packages are available for Ubuntu 12.04 ("precise").  First, register the Curoverse signing key in apt's database:
+table(table table-bordered table-condensed).
+|OS version|Command|
+|Debian 8 ("jessie")|<notextile><code><span class="userinput">echo "deb http://apt.arvados.org/ jessie main" &#x7c; sudo tee /etc/apt/sources.list.d/arvados.list</span></code></notextile>|
+|Ubuntu 14.04 ("trusty")[1]|<notextile><code><span class="userinput">echo "deb http://apt.arvados.org/ trusty main" &#x7c; sudo tee /etc/apt/sources.list.d/arvados.list</span></code></notextile>|
+|Ubuntu 16.04 ("xenial")[1]|<notextile><code><span class="userinput">echo "deb http://apt.arvados.org/ xenial main" &#x7c; sudo tee /etc/apt/sources.list.d/arvados.list</span></code></notextile>|
 
-{% include 'install_debian_key' %}
+{% include 'notebox_begin' %}
 
-Configure apt to retrieve packages from the Arvados package repository:
+fn1. Arvados packages for Ubuntu may depend on third-party packages in Ubuntu's "universe" repository.  If you're installing on Ubuntu, make sure you have the universe sources uncommented in @/etc/apt/sources.list@.
 
-<notextile>
-<pre><code>~$ <span class="userinput">echo "deb http://apt.arvados.org/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/arvados.list</span>
-</code></pre>
-</notextile>
+{% include 'notebox_end' %}
 
 Retrieve the package list:
 
@@ -81,18 +88,37 @@ Retrieve the package list:
 
 h2. A unique identifier
 
-Each Arvados installation should have a globally unique identifier, which is a unique 5-character alphanumeric string. Here is a snippet of ruby that generates such a string based on the hostname of your computer:
+Each Arvados installation should have a globally unique identifier, which is a unique 5-character lowercase alphanumeric string. For testing purposes, here is one way to make a random 5-character string:
 
-<pre>
-Digest::MD5.hexdigest(`hostname`).to_i(16).to_s(36)[0..4]
-</pre>
+<notextile>
+<pre><code>~$ <span class="userinput">tr -dc 0-9a-z &lt;/dev/urandom | head -c5; echo</span>
+</code></pre>
+</notextile>
 
 You may also use a different method to pick the unique identifier. The unique identifier will be part of the hostname of the services in your Arvados cluster. The rest of this documentation will refer to it as your @uuid_prefix@.
 
 
 h2. SSL certificates
 
-There are six public-facing services that will require an SSL certificate. If you do not have official SSL certificates, you can use self-signed certificates. By convention, we use the following hostname pattern:
+There are six public-facing services that require an SSL certificate. If you do not have official SSL certificates, you can use self-signed certificates.
+
+{% include 'notebox_begin' %}
+
+Most Arvados clients and services will accept self-signed certificates when the @ARVADOS_API_HOST_INSECURE@ environment variable is set to @true@.  However, web browsers generally do not make it easy for users to accept self-signed certificates from Web sites.
+
+Users who log in through Workbench will visit at least three sites: the SSO server, the API server, and Workbench itself.  When a browser visits each of these sites, it will warn the user if the site uses a self-signed certificate, and the user must accept it before continuing.  This procedure usually only needs to be done once in a browser.
+
+After that's done, Workbench includes JavaScript clients for other Arvados services.  Users are usually not warned if these client connections are refused because the server uses a self-signed certificate, and it is especially difficult to accept those cerficiates:
+
+* JavaScript connects to the Websockets server to provide incremental page updates and view logs from running jobs.
+* JavaScript connects to the API and Keepproxy servers to upload local files to collections.
+* JavaScript connects to the Keep-web server to download log files.
+
+In sum, Workbench will be much less pleasant to use in a cluster that uses self-signed certificates.  You should avoid using self-signed certificates unless you plan to deploy a cluster without Workbench; you are deploying only to evaluate Arvados as an individual system administrator; or you can push configuration to users' browsers to trust your self-signed certificates.
+
+{% include 'notebox_end' %}
+
+By convention, we use the following hostname pattern:
 
 <div class="offset1">
 table(table table-bordered table-condensed).
@@ -100,6 +126,11 @@ table(table table-bordered table-condensed).
 |Arvados API|@uuid_prefix@.your.domain|
 |Arvados Git server|git.@uuid_prefix@.your.domain|
 |Arvados Keepproxy server|keep.@uuid_prefix@.your.domain|
+|Arvados Keep-web server|download.@uuid_prefix@.your.domain
+_and_
+*.collections.@uuid_prefix@.your.domain or
+*<notextile>--</notextile>collections.@uuid_prefix@.your.domain or
+collections.@uuid_prefix@.your.domain (see the "keep-web install docs":install-keep-web.html)|
 |Arvados SSO Server|auth.your.domain|
 |Arvados Websockets endpoint|ws.@uuid_prefix@.your.domain|
 |Arvados Workbench|workbench.@uuid_prefix@.your.domain|