SSO installation doc fix: to run rails console, you need to be in the
[arvados.git] / doc / install / install-arv-git-httpd.html.textile.liquid
index cd14ed340b80687c128524f37fa73f88121a48e5..1c31dc4d6ef664b424a5ee6b901c8a2350912b4e 100644 (file)
@@ -34,20 +34,22 @@ DNS and network configuration should be set up so port 443 reaches your HTTPS pr
 
 h2. Generate an API token
 
-On the API server, if you are using RVM:
+Use the following command to generate an API token, changing *@webserver-user@* to the user of the web server process.  This is typically *@www-data@* on Debian systems by default, other systems may use different defaults such the name of the web server software (for example, *@nginx@*).
+
+Using RVM:
 
 <notextile>
 <pre><code>gitserver:~$ <span class="userinput">cd /var/www/arvados-api/current</span>
-gitserver:/var/www/arvados-api/current$ <span class="userinput">sudo -u www-data RAILS_ENV=production `which rvm-exec` default bundle exec ./script/create_superuser_token.rb</span>
+gitserver:/var/www/arvados-api/current$ <span class="userinput">sudo -u <b>webserver-user</b> RAILS_ENV=production `which rvm-exec` default bundle exec ./script/create_superuser_token.rb</span>
 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 </code></pre>
 </notextile>
 
-If you are not using RVM:
+Not using RVM:
 
 <notextile>
 <pre><code>gitserver:~$ <span class="userinput">cd /var/www/arvados-api/current</span>
-gitserver:/var/www/arvados-api/current$ <span class="userinput">sudo -u www-data RAILS_ENV=production bundle exec ./script/create_superuser_token.rb</span>
+gitserver:/var/www/arvados-api/current$ <span class="userinput">sudo -u <b>webserver-user</b> RAILS_ENV=production bundle exec ./script/create_superuser_token.rb</span>
 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 </code></pre>
 </notextile>
@@ -70,6 +72,8 @@ On Red Hat-based systems:
 </code></pre>
 </notextile>
 
+{% include 'install_git' %}
+
 h2. Create a "git" user and a storage directory
 
 Gitolite and some additional scripts will be installed in @/var/lib/arvados/git@, which means hosted repository data will be stored in @/var/lib/arvados/git/repositories@. If you choose to install gitolite in a different location, make sure to update the @git_repositories_dir@ entry in your API server's @application.yml@ file accordingly: for example, if you install gitolite at @/data/gitolite@ then your @git_repositories_dir@ will be @/data/gitolite/repositories@.
@@ -165,6 +169,13 @@ Add the following lines inside the section that begins @%RC = (@:
 </span></code></pre>
 </notextile>
 
+Inside that section, adjust the 'UMASK' setting to @022@, to ensure the API server has permission to read repositories:
+
+<notextile>
+<pre><code>    UMASK => <span class="userinput">022</span>,
+</code></pre>
+</notextile>
+
 Uncomment the 'Alias' line in the section that begins @ENABLE => [@:
 
 <notextile>
@@ -213,7 +224,7 @@ h3. Configure the API server to advertise the correct SSH URLs
 In your API server's @application.yml@ file, add the following entry:
 
 <notextile>
-<pre><code>git_repo_ssh_base: git@git.<span class="userinput">uuid_prefix.your.domain</span>:
+<pre><code>git_repo_ssh_base: "git@git.<span class="userinput">uuid_prefix.your.domain</span>:"
 </code></pre>
 </notextile>
 
@@ -284,8 +295,9 @@ EOF</span>
 #!/bin/sh
 export ARVADOS_API_HOST=<b>uuid_prefix.your.domain</b>
 export GITOLITE_HTTP_HOME=/var/lib/arvados/git
+export GL_BYPASS_ACCESS_CHECKS=1
 export PATH="$PATH:/var/lib/arvados/git/bin"
-exec chpst -u git:git arvados-git-httpd -address=:9001 -git-command="$(which git)" -repo-root=<b>/var/lib/arvados/git/repositories</b> 2&gt;&1
+exec chpst -u git:git arvados-git-httpd -address=:9001 -git-command=/var/lib/arvados/git/gitolite/src/gitolite-shell -repo-root=<b>/var/lib/arvados/git</b>/repositories 2&gt;&1
 EOF</span>
 /etc/sv/arvados-git-httpd$ <span class="userinput">sudo chmod +x run log/run</span>
 </code></pre>
@@ -297,8 +309,9 @@ If you are using a different daemon supervisor, or if you want to test the daemo
 <pre><code>sudo -u git \
   ARVADOS_API_HOST=<span class="userinput">uuid_prefix.your.domain</span> \
   GITOLITE_HTTP_HOME=/var/lib/arvados/git \
+  GL_BYPASS_ACCESS_CHECKS=1 \
   PATH="$PATH:/var/lib/arvados/git/bin" \
-  arvados-git-httpd -address=:9001 -git-command="$(which git)" -repo-root=<span class="userinput">/var/lib/arvados/git/repositories</span> 2&gt;&1
+  arvados-git-httpd -address=:9001 -git-command=/var/lib/arvados/git/gitolite/src/gitolite-shell -repo-root=/var/lib/arvados/git/repositories 2&gt;&1
 </code></pre>
 </notextile>