[ARVADOS] created: 3267722e638b956a26e985158d1c8fb80dee8771
git at public.curoverse.com
git at public.curoverse.com
Thu Jul 16 15:04:07 EDT 2015
at 3267722e638b956a26e985158d1c8fb80dee8771 (commit)
commit 3267722e638b956a26e985158d1c8fb80dee8771
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Jul 16 15:03:36 2015 -0400
6438: Add missing steps to SSO installation.
diff --git a/doc/install/install-sso.html.textile.liquid b/doc/install/install-sso.html.textile.liquid
index c078e46..73ab279 100644
--- a/doc/install/install-sso.html.textile.liquid
+++ b/doc/install/install-sso.html.textile.liquid
@@ -8,6 +8,24 @@ h2(#dependencies). Install dependencies
Make sure you have "Ruby and Bundler":install-manual-prerequisites-ruby.html installed.
+On a Debian-based system, install the following packages:
+
+<notextile>
+<pre><code>~$ <span class="userinput">sudo apt-get install git libpq-dev postgresql</span>
+</code></pre>
+</notextile>
+
+On a Red Hat-based system, install the following packages:
+
+<notextile>
+<pre><code>~$ <span class="userinput">sudo yum install git postgresql postgresql-devel</span>
+</code></pre>
+</notextile>
+
+{% include 'notebox_begin' %}
+If your distribution offers PostgreSQL 8, consider using Software Collections to install postgresql92 and postgresql92-postgresql-devel instead, as described on the "API server installation page":install-api-server.html.
+{% include 'notebox_end' %}
+
h2(#install). Install SSO server
h3. Get SSO server code and run bundle
@@ -16,7 +34,7 @@ h3. Get SSO server code and run bundle
<pre><code>~$ <span class="userinput">cd $HOME</span> # (or wherever you want to install)
~$ <span class="userinput">git clone https://github.com/curoverse/sso-devise-omniauth-provider.git</span>
~$ <span class="userinput">cd sso-devise-omniauth-provider</span>
-~/sso-devise-omniauth-provider$ <span class="userinput">bundle install</span>
+~/sso-devise-omniauth-provider$ <span class="userinput">bundle</span>
</code></pre></notextile>
h2. Configure the SSO server
@@ -50,26 +68,33 @@ h3(#authentication_methods). Authentication methods
Three authentication methods are supported: google OAuth2, ldap, local accounts.
-h3(#google_oauth2). google_oauth2 authentication
+h3(#google_oauth2). Google+ authentication
-Google OAuth2 authentication can be configured with these options.
+In order to use Google+ authentication, you must use the "Google Developers Console":https://console.developers.google.com to create a set of client credentials. In short:
-<pre>
+* Enable the Contacts and Google+ APIs.
+* Create an OAuth Client ID for a web application.
+** JavaScript origins: @https://sso.example.com/@
+** Redirect URIs: @https://sso.example.com/auth/google_oauth2/callback@
+
+Copy the "Client ID" and "Client secret" values from the Google Developers Console into the Google section of @config/application.yml@, like this:
+
+<notextile>
+<pre><code>
# Google API tokens required for OAuth2 login.
#
# See https://github.com/zquestz/omniauth-google-oauth2
#
# and https://developers.google.com/accounts/docs/OAuth2
- google_oauth2_client_id: false
- google_oauth2_client_secret: false
+ google_oauth2_client_id: "<span class="userinput">---YOUR---CLIENT---ID---HERE---</span>"
+ google_oauth2_client_secret: "<span class="userinput">---YOUR---CLIENT---SECRET---HERE---</span>"
# Set this to your OpenId 2.0 realm to enable migration from Google OpenId
# 2.0 to Google OAuth2 OpenId Connect (Google will provide OpenId 2.0 user
# identifiers via the openid.realm parameter in the OAuth2 flow until 2017).
- google_openid_realm: false
-</pre>
+ google_openid_realm: <span class="userinput">false</span></code></pre></notextile>
-h3(#ldap). ldap authentication
+h3(#ldap). LDAP authentication
LDAP authentication can be configured with these options. Make sure to preserve the indentation of the fields beyond @use_ldap at .
@@ -121,7 +146,7 @@ You can also create local accounts on the SSO server from the rails console:
h2. Set up the database
-Generate a new database password. Nobody ever needs to memorize it or type it, so we'll make a strong one:
+Generate a new database password. Nobody ever needs to memorize it or type it, so make a strong one:
<notextile>
<pre><code>~/sso-devise-omniauth-provider$ <span class="userinput">ruby -e 'puts rand(2**128).to_s(36)'</span>
@@ -153,7 +178,7 @@ Alternatively, if the database user you intend to use for the SSO server is not
<notextile>
<pre><code>~/sso-devise-omniauth-provider$ <span class="userinput">su postgres createdb arvados_sso_production -E UTF8 -O arvados_sso</span>
-~/sso-devise-omniauth-provider$ <span class="userinput">RAILS_ENV=production bundle exec rake db:structure:load</span>
+~/sso-devise-omniauth-provider$ <span class="userinput">RAILS_ENV=production bundle exec rake db:schema:load</span>
~/sso-devise-omniauth-provider$ <span class="userinput">RAILS_ENV=production bundle exec rake db:seed</span>
</code></pre></notextile>
commit 64c1ab20a6a76dd51bfaeaca4fbe5bcee71a0b89
Author: Tom Clegg <tom at curoverse.com>
Date: Mon Jul 13 10:08:20 2015 -0400
6438: Use uuid_prefix (more) consistently.
diff --git a/doc/install/install-api-server.html.textile.liquid b/doc/install/install-api-server.html.textile.liquid
index f7e45bd..16359fd 100644
--- a/doc/install/install-api-server.html.textile.liquid
+++ b/doc/install/install-api-server.html.textile.liquid
@@ -132,7 +132,7 @@ h3. workbench_address
Fill in the url of your workbench application in @workbench_address@, for example
- https://workbench.@prefix_uuid@.your.domain
+ https://workbench.@uuid_prefix@.your.domain
h3(#omniauth). sso_app_id, sso_app_secret, sso_provider_url
@@ -220,7 +220,7 @@ proxy_http_version 1.1;
server {
listen <span class="userinput">[your public IP address]</span>:443 ssl;
- server_name <span class="userinput">uuid-prefix.your.domain</span>;
+ server_name <span class="userinput">uuid_prefix.your.domain</span>;
ssl on;
@@ -240,7 +240,7 @@ server {
server {
listen <span class="userinput">[your public IP address]</span>:443 ssl;
- server_name ws.<span class="userinput">uuid-prefix.your.domain</span>;
+ server_name ws.<span class="userinput">uuid_prefix.your.domain</span>;
ssl on;
commit b687f3af1e220dd8216acac2262240b30e827ac8
Author: Tom Clegg <tom at curoverse.com>
Date: Fri Jul 10 11:07:50 2015 -0400
6438: Merge debian and ubuntu sections. The same recipe works for both.
diff --git a/doc/install/install-manual-prerequisites.html.textile.liquid b/doc/install/install-manual-prerequisites.html.textile.liquid
index de8f8cb..13b875d 100644
--- a/doc/install/install-manual-prerequisites.html.textile.liquid
+++ b/doc/install/install-manual-prerequisites.html.textile.liquid
@@ -40,28 +40,11 @@ baseurl=http://rpm.arvados.org/CentOS/$releasever/os/$basearch/
</code></pre>
</notextile>
-h3. Debian
+h3. Debian and Ubuntu
-Packages are available for Debian 7 ("wheezy"). First, register the Curoverse signing key in apt's database:
+Packages are available for Debian 7 ("wheezy") and Ubuntu 12.04 ("precise").
-{% include 'install_debian_key' %}
-
-Then save the configuration line listed for your version of Debian in @/etc/apt/sources.list.d/arvados.list@:
-
-table(table table-bordered table-condensed).
-|*Debian version*|*@/etc/apt/sources.list.d/arvados.list@*|
-|7 ("wheezy")|@deb http://apt.arvados.org/ wheezy main@|
-
-Finally, add this new repository to apt's database:
-
-<notextile>
-<pre><code>~$ <span class="userinput">sudo /usr/bin/apt-get update</span>
-</code></pre>
-</notextile>
-
-h3. Ubuntu
-
-Packages are available for Ubuntu 12.04 ("precise"). First, register the Curoverse signing key in apt's database:
+First, register the Curoverse signing key in apt's database:
{% include 'install_debian_key' %}
commit 9ba9d82d29f6e3bb97cdde6e6b584b10a7c66e49
Author: Tom Clegg <tom at curoverse.com>
Date: Fri Jul 10 11:02:22 2015 -0400
6438: Use urandom instead of md5(hostname) for UUID. Avoid using Ruby at this stage.
diff --git a/doc/install/install-manual-prerequisites.html.textile.liquid b/doc/install/install-manual-prerequisites.html.textile.liquid
index 420c12a..de8f8cb 100644
--- a/doc/install/install-manual-prerequisites.html.textile.liquid
+++ b/doc/install/install-manual-prerequisites.html.textile.liquid
@@ -81,11 +81,12 @@ 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 </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 at .
commit 56cd4a8d52e2a67429184c3453a6dbda4680b3ec
Author: Tom Clegg <tom at curoverse.com>
Date: Fri Jul 10 11:00:46 2015 -0400
6438: Add missing "apt-get update". Give a command to add the package repo.
Replace version table with $(lsb_release -cs).
diff --git a/doc/install/install-manual-prerequisites.html.textile.liquid b/doc/install/install-manual-prerequisites.html.textile.liquid
index afe2830..420c12a 100644
--- a/doc/install/install-manual-prerequisites.html.textile.liquid
+++ b/doc/install/install-manual-prerequisites.html.textile.liquid
@@ -65,11 +65,19 @@ Packages are available for Ubuntu 12.04 ("precise"). First, register the Curove
{% include 'install_debian_key' %}
-Then save the configuration line listed for your version of Ubuntu in @/etc/apt/sources.list.d/arvados.list@:
+Configure apt to retrieve packages from the Arvados package repository:
-table(table table-bordered table-condensed).
-|*Ubuntu version*|*@/etc/apt/sources.list.d/arvados.list@*|
-|12.04 ("precise")|@deb http://apt.arvados.org/ precise main@|
+<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>
+
+Retrieve the package list:
+
+<notextile>
+<pre><code>~$ <span class="userinput">sudo apt-get update</span>
+</code></pre>
+</notextile>
h2. A unique identifier
commit 030f8a1f4c5c25d30f61fa5b8fd181aca8701195
Author: Tom Clegg <tom at curoverse.com>
Date: Fri Jul 10 10:58:29 2015 -0400
6438: Add specific commands for nginx16 and postgresql92 Software Collections.
diff --git a/doc/install/install-api-server.html.textile.liquid b/doc/install/install-api-server.html.textile.liquid
index 77a90e0..f7e45bd 100644
--- a/doc/install/install-api-server.html.textile.liquid
+++ b/doc/install/install-api-server.html.textile.liquid
@@ -13,7 +13,12 @@ The Arvados package repository includes an API server package that can help auto
* Build tools and the curl and PostgreSQL development libraries, to build gem dependencies
* Nginx
-On older distributions, you may need to use a backports repository to satisfy these requirements. For example, on older Red Hat-based systems, consider using the "postgresql92":https://www.softwarecollections.org/en/scls/rhscl/postgresql92/ and "nginx16":https://www.softwarecollections.org/en/scls/rhscl/nginx16/ Software Collections.
+On older distributions, you may need to use a backports repository to satisfy these requirements. For example, on older Red Hat-based systems, consider using the "postgresql92":https://www.softwarecollections.org/en/scls/rhscl/postgresql92/ and "nginx16":https://www.softwarecollections.org/en/scls/rhscl/nginx16/ Software Collections. For example, on CentOS 6:
+
+<notextile>
+<pre><code>~$ <span class="userinput">sudo yum install scl-utils</span>
+~$ <span class="userinput">sudo yum install https://www.softwarecollections.org/en/scls/rhscl/postgresql92/epel-6-x86_64/download/rhscl-postgresql92-epel-6-x86_64.noarch.rpm</span>
+~$ <span class="userinput">sudo yum install https://www.softwarecollections.org/en/scls/rhscl/nginx16/epel-6-x86_64/download/rhscl-nginx16-epel-6-x86_64.noarch.rpm</span></code></pre></notextile>
On a Debian-based system, install the following packages:
@@ -31,7 +36,10 @@ On a Red Hat-based system, install the following packages:
{% include 'notebox_begin' %}
-If you intend to use specific versions of these packages from Software Collections, you may have to adapt some of the package names to match; e.g., @postgresql92-postgresql-server postgresql92-postgresql-devel nginx16 at .
+If you intend to use specific versions of these packages from Software Collections, you may have to adapt some of the package names to match. For example:
+
+<notextile>
+<pre><code>~$ <span class="userinput">sudo yum install postgresql92 postgresql92-postgresql-devel nginx16</span></code></pre></notextile>
{% include 'notebox_end' %}
commit 5eeae0d3a066b9f3b1290395b19f58c0533e698f
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Jul 9 13:46:30 2015 -0400
6438: Add some missing steps to rvm recipe. Install rvm as root.
diff --git a/doc/install/install-manual-prerequisites-ruby.html.textile.liquid b/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
index 07f1ff2..fa6f24f 100644
--- a/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
+++ b/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
@@ -9,9 +9,16 @@ Currently, only Ruby 2.1 is supported.
h2(#rvm). Option 1: Install with rvm
<notextile>
-<pre><code>~$ <span class="userinput">gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3</span>
-~$ <span class="userinput">\curl -sSL https://get.rvm.io | bash -s stable --ruby=2.1</span>
-~$ <span class="userinput">gem install bundler
+<pre><code><span class="userinput">sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
+\curl -sSL https://get.rvm.io | sudo bash -s stable --ruby=2.1
+sudo -i gem install bundler
+sudo adduser "$USER" rvm
+</span></code></pre></notextile>
+
+Either log out and log back in to activate RVM, or explicitly load it in all open shells like this:
+
+<notextile>
+<pre><code><span class="userinput">source /usr/local/rvm/scripts/rvm
</span></code></pre></notextile>
h2(#fromsource). Option 2: Install from source
commit eaa31258589fb38c5ec8d2b77aa07585b35afe0b
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Jul 9 11:45:02 2015 -0400
6438: Bring back package dependencies for "build Ruby from source" option.
These used to be documented earlier in the process, but were removed.
diff --git a/doc/install/install-manual-prerequisites-ruby.html.textile.liquid b/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
index f1bb5f2..07f1ff2 100644
--- a/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
+++ b/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
@@ -16,6 +16,35 @@ h2(#rvm). Option 1: Install with rvm
h2(#fromsource). Option 2: Install from source
+Install prerequisites for Debian 7 or 8:
+
+<notextile>
+<pre><code><span class="userinput">sudo apt-get install \
+ bison build-essential gettext libcurl3 libcurl3-gnutls \
+ libcurl4-openssl-dev libpcre3-dev libreadline-dev \
+ libssl-dev libxslt1.1 zlib1g-dev
+</span></code></pre></notextile>
+
+Install prerequisites for CentOS 6:
+
+<notextile>
+<pre><code><span class="userinput">sudo yum install \
+ libyaml-devel glibc-headers autoconf gcc-c++ glibc-devel \
+ patch readline-devel zlib-devel libffi-devel openssl-devel \
+ automake libtool bison sqlite-devel
+</span></code></pre></notextile>
+
+Install prerequisites for Ubuntu 12.04:
+
+<notextile>
+<pre><code><span class="userinput">sudo apt-get install \
+ gawk g++ gcc make libc6-dev libreadline6-dev zlib1g-dev libssl-dev \
+ libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev \
+ libncurses5-dev automake libtool bison pkg-config libffi-dev
+</span></code></pre></notextile>
+
+Build and install Ruby:
+
<notextile>
<pre><code><span class="userinput">mkdir -p ~/src
cd ~/src
commit baf9f2f3c2852b6af3c125adf212761c42c66cf4
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Jul 9 11:38:13 2015 -0400
6438: Drop wget dependency. Update ./configure flags for Ruby 2.1.6.
diff --git a/doc/install/install-manual-prerequisites-ruby.html.textile.liquid b/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
index 2142aca..f1bb5f2 100644
--- a/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
+++ b/doc/install/install-manual-prerequisites-ruby.html.textile.liquid
@@ -19,10 +19,9 @@ h2(#fromsource). Option 2: Install from source
<notextile>
<pre><code><span class="userinput">mkdir -p ~/src
cd ~/src
-wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz
-tar xzf ruby-2.1.6.tar.gz
+curl http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz | tar xz
cd ruby-2.1.6
-./configure --no-rdoc --no-ri
+./configure --no-install-rdoc
make
sudo make install
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list