X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ad79a64bd1503e1e47d3849a00b894c4a6bc9810..016ecd4c969e5bfa560702843c8e381eb3a33060:/doc/install/install-api-server.html.textile.liquid diff --git a/doc/install/install-api-server.html.textile.liquid b/doc/install/install-api-server.html.textile.liquid index 14719e960c..e1de8c3e60 100644 --- a/doc/install/install-api-server.html.textile.liquid +++ b/doc/install/install-api-server.html.textile.liquid @@ -12,9 +12,11 @@ h2. Prerequisites: h2(#dependencies). Install dependencies -
~$ sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev \
-    libxslt1.1 zlib1g-dev gettext bison libssl-dev libreadline-dev \
-    libpq-dev sqlite3 libsqlite3-dev build-essential wget postgresql sudo
+
~$ sudo apt-get install \
+    bison build-essential gettext libcurl3 libcurl3-gnutls \
+    libcurl4-openssl-dev libpcre3-dev libpq-dev libreadline-dev \
+    libsqlite3-dev libssl-dev libxslt1.1 postgresql sqlite3 sudo \
+    wget zlib1g-dev
 
h2(#ruby). Install Ruby and bundler @@ -24,9 +26,9 @@ We recommend Ruby >= 2.1.
mkdir -p ~/src
 cd ~/src
-wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz
-tar xzf ruby-2.1.1.tar.gz
-cd ruby-2.1.1
+wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
+tar xzf ruby-2.1.2.tar.gz
+cd ruby-2.1.2
 ./configure
 make
 sudo make install
@@ -37,7 +39,8 @@ sudo gem install bundler
 h2. Download the source tree
 
 
-
~$ git clone https://github.com/curoverse/arvados.git
+
~$ cd $HOME # (or wherever you want to install)
+~$ git clone https://github.com/curoverse/arvados.git
 
See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki. @@ -75,6 +78,8 @@ Generate a new secret token for signing cookies: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+If you want access control on your Keep server(s), you should set @blob_signing_key@ to the same value as the permission key you provided to your "Keep server(s)":install-keep.html. + Put it in @config/application.yml@ in the production or common section: @@ -121,12 +126,25 @@ Set up omniauth:
~/arvados/services/api$ cp -i config/initializers/omniauth.rb.example config/initializers/omniauth.rb
 
-Edit @config/initializers/omniauth.rb@. Set @APP_SECRET@ to the value of @app_secret@ from "installing the single sign on server":install-sso.html . +Edit @config/initializers/omniauth.rb@, and tell your api server to use the Curoverse SSO server for authentication: + + +
APP_ID = 'local_docker_installation'
+APP_SECRET = 'yohbai4eecohshoo1Yoot7tea9zoca9Eiz3Tajahweo9eePaeshaegh9meiye2ph'
+CUSTOM_PROVIDER_URL = 'https://auth.curoverse.com'
+
+
+ +
+ +

Note!

+

You can also run your own SSO server. However, the SSO server codebase currently uses OpenID 2.0 to talk to Google's authentication service. Google has deprecated that protocol. This means that new clients will not be allowed to talk to Google's authentication services anymore over OpenID 2.0, and they will phase out the use of OpenID 2.0 completely in the coming monts. We are working on upgrading the SSO server codebase to a newer protocol. That work should be complete by the end of November 2014. In the mean time, anyone is free to use the existing Curoverse SSO server for any local Arvados installation.

+
You can now run the development server: -
~/arvados/services/api$ bundle exec rails server
+
~/arvados/services/api$ bundle exec rails server --port=3030
 
h3. Apache/Passenger (optional) @@ -140,30 +158,24 @@ To enable streaming so users can monitor crunch jobs in real time, add to your P
-h2. Add an admin user - -Point browser to the API endpoint. Log in with a google account. +h2(#admin-user). Add an admin user -In the rails console: +Point your browser to the API server's login endpoint: -
~/arvados/services/api$ rails console
-irb(main):001:0> Thread.current[:user] = User.find(1)
-irb(main):002:0> Thread.current[:user].is_admin = true
-irb(main):003:0> User.find(1).update_attributes is_admin: true, is_active: true
-irb(main):004:0> User.find(1).is_admin
-=> true
-
+
https://localhost:3030/login
+
+
-h2. Create an API token +Log in with your google account. -In rails console: +Use the rails console to give yourself admin privileges: -
~/arvados/services/api$ rails console
-irb(main):001:0> a = ApiClient.new(owner_uuid:'0')
-irb(main):002:0> a.save!
-irb(main):003:0> x = ApiClientAuthorization.new(api_client_id:a.id, user_id:1)
-irb(main):004:0> x.save
-irb(main):005:0> x.api_token
+
~/arvados/services/api$ bundle exec rails console
+irb(main):001:0> Thread.current[:user] = User.all.select(&:identity_url).last
+irb(main):002:0> Thread.current[:user].is_admin = true
+irb(main):003:0> Thread.current[:user].update_attributes is_admin: true, is_active: true
+irb(main):004:0> User.where(is_admin: true).collect &:email
+=> ["root", "your_address@example.com"]