Commit 5c6492662ef730eef7a9122f53438c32724ae91d

Authored by Dmitriy Zaporozhets
1 parent 27d9ac0f

update installation docs

Showing 1 changed file with 36 additions and 90 deletions   Show diff stats
doc/install/installation.md
... ... @@ -90,86 +90,32 @@ Install the Bundler Gem:
90 90  
91 91 # 3. System Users
92 92  
93   -Create a user for Git and Gitolite:
  93 +Create a `git` user for Gitlab:
94 94  
95   - sudo adduser \
96   - --system \
97   - --shell /bin/sh \
98   - --gecos 'Git Version Control' \
99   - --group \
100   - --disabled-password \
101   - --home /home/git \
102   - git
  95 + sudo adduser --disabled-login --gecos 'GitLab' git
103 96  
104   -Create a user for GitLab:
  97 +# 4. GitLab shell
105 98  
106   - sudo adduser --disabled-login --gecos 'GitLab' gitlab
107   -
108   - # Add it to the git group
109   - sudo usermod -a -G git gitlab
110   -
111   - # Generate the SSH key
112   - sudo -u gitlab -H ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa
113   -
114   -
115   -# 4. Gitolite
116   -
117   -Clone GitLab's fork of the Gitolite source code:
  99 + # login as git
  100 + sudo su git
118 101  
  102 + # go to home directory
119 103 cd /home/git
120   - sudo -u git -H git clone -b gl-v320 https://github.com/gitlabhq/gitolite.git /home/git/gitolite
121   -
122   -Setup Gitolite with GitLab as its admin:
123   -
124   -**Important Note:**
125   -GitLab assumes *full and unshared* control over this Gitolite installation.
126   -
127   - # Add Gitolite scripts to $PATH
128   - sudo -u git -H mkdir /home/git/bin
129   - sudo -u git -H sh -c 'printf "%b\n%b\n" "PATH=\$PATH:/home/git/bin" "export PATH" >> /home/git/.profile'
130   - sudo -u git -H sh -c 'gitolite/install -ln /home/git/bin'
131   -
132   - # Copy the gitlab user's (public) SSH key ...
133   - sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub
134   - sudo chmod 0444 /home/git/gitlab.pub
135 104  
136   - # ... and use it as the admin key for the Gitolite setup
137   - sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; gitolite setup -pk /home/git/gitlab.pub"
  105 + # clone gitlab shell
  106 + git clone https://dzaporozhets@dev.gitlab.org/gitlab/gitlab-shell.git
138 107  
139   -Fix the directory permissions for the configuration directory:
140   -
141   - # Make sure the Gitolite config dir is owned by git
142   - sudo chmod 750 /home/git/.gitolite/
143   - sudo chown -R git:git /home/git/.gitolite/
144   -
145   -Fix the directory permissions for the repositories:
146   -
147   - # Make sure the repositories dir is owned by git and it stays that way
148   - sudo chmod -R ug+rwX,o-rwx /home/git/repositories/
149   - sudo chown -R git:git /home/git/repositories/
150   - find /home/git/repositories -type d -print0 | sudo xargs -0 chmod g+s
  108 + # setup
  109 + cd gitlab-shell
  110 + cp config.yml.example config.yml
  111 + ./bin/install
151 112  
152 113  
153 114 ## Add domains to list to the list of known hosts
154 115  
155   - sudo -u gitlab -H ssh git@localhost
156   - sudo -u gitlab -H ssh git@YOUR_DOMAIN_NAME
157   - sudo -u gitlab -H ssh git@YOUR_GITOLITE_DOMAIN_NAME
158   -
159   -
160   -## Test if everything works so far
161   -
162   - # Clone the admin repo so SSH adds localhost to known_hosts ...
163   - # ... and to be sure your users have access to Gitolite
164   - sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin
165   -
166   - # If it succeeded without errors you can remove the cloned repo
167   - sudo rm -rf /tmp/gitolite-admin
168   -
169   -**Important Note:**
170   -If you can't clone the `gitolite-admin` repository: **DO NOT PROCEED WITH INSTALLATION**!
171   -Check the [Trouble Shooting Guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide)
172   -and make sure you have followed all of the above steps carefully.
  116 + sudo -u git -H ssh git@localhost
  117 + sudo -u git -H ssh git@YOUR_DOMAIN_NAME
  118 + sudo -u git -H ssh git@YOUR_GITOLITE_DOMAIN_NAME
173 119  
174 120  
175 121 # 5. Database
... ... @@ -179,19 +125,19 @@ See `doc/install/databases.md`
179 125  
180 126 # 6. GitLab
181 127  
182   - # We'll install GitLab into home directory of the user "gitlab"
183   - cd /home/gitlab
  128 + # We'll install GitLab into home directory of the user "git"
  129 + cd /home/git
184 130  
185 131 ## Clone the Source
186 132  
187 133 # Clone GitLab repository
188   - sudo -u gitlab -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
  134 + sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
189 135  
190 136 # Go to gitlab dir
191   - cd /home/gitlab/gitlab
  137 + cd /home/git/gitlab
192 138  
193 139 # Checkout to stable release
194   - sudo -u gitlab -H git checkout 4-1-stable
  140 + sudo -u git -H git checkout 4-1-stable
195 141  
196 142 **Note:**
197 143 You can change `4-1-stable` to `master` if you want the *bleeding edge* version, but
... ... @@ -199,14 +145,14 @@ do so with caution!
199 145  
200 146 ## Configure it
201 147  
202   - cd /home/gitlab/gitlab
  148 + cd /home/git/gitlab
203 149  
204 150 # Copy the example GitLab config
205   - sudo -u gitlab -H cp config/gitlab.yml.example config/gitlab.yml
  151 + sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
206 152  
207 153 # Make sure to change "localhost" to the fully-qualified domain name of your
208 154 # host serving GitLab where necessary
209   - sudo -u gitlab -H vim config/gitlab.yml
  155 + sudo -u git -H vim config/gitlab.yml
210 156  
211 157 # Make sure GitLab can write to the log/ and tmp/ directories
212 158 sudo chown -R gitlab log/
... ... @@ -215,10 +161,10 @@ do so with caution!
215 161 sudo chmod -R u+rwX tmp/
216 162  
217 163 # Make directory for satellites
218   - sudo -u gitlab -H mkdir /home/gitlab/gitlab-satellites
  164 + sudo -u git -H mkdir /home/git/gitlab-satellites
219 165  
220 166 # Copy the example Unicorn config
221   - sudo -u gitlab -H cp config/unicorn.rb.example config/unicorn.rb
  167 + sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
222 168  
223 169 **Important Note:**
224 170 Make sure to edit both files to match your setup.
... ... @@ -226,24 +172,24 @@ Make sure to edit both files to match your setup.
226 172 ## Configure GitLab DB settings
227 173  
228 174 # Mysql
229   - sudo -u gitlab cp config/database.yml.mysql config/database.yml
  175 + sudo -u git cp config/database.yml.mysql config/database.yml
230 176  
231 177 # PostgreSQL
232   - sudo -u gitlab cp config/database.yml.postgresql config/database.yml
  178 + sudo -u git cp config/database.yml.postgresql config/database.yml
233 179  
234 180 Make sure to update username/password in config/database.yml.
235 181  
236 182 ## Install Gems
237 183  
238   - cd /home/gitlab/gitlab
  184 + cd /home/git/gitlab
239 185  
240 186 sudo gem install charlock_holmes --version '0.6.9'
241 187  
242 188 # For MySQL (note, the option says "without")
243   - sudo -u gitlab -H bundle install --deployment --without development test postgres
  189 + sudo -u git -H bundle install --deployment --without development test postgres
244 190  
245 191 # Or for PostgreSQL
246   - sudo -u gitlab -H bundle install --deployment --without development test mysql
  192 + sudo -u git -H bundle install --deployment --without development test mysql
247 193  
248 194 ## Configure Git
249 195  
... ... @@ -251,8 +197,8 @@ GitLab needs to be able to commit and push changes to Gitolite. In order to do
251 197 that Git requires a username and email. (We recommend using the same address
252 198 used for the `email.from` setting in `config/gitlab.yml`)
253 199  
254   - sudo -u gitlab -H git config --global user.name "GitLab"
255   - sudo -u gitlab -H git config --global user.email "gitlab@localhost"
  200 + sudo -u git -H git config --global user.name "GitLab"
  201 + sudo -u git -H git config --global user.email "gitlab@localhost"
256 202  
257 203 ## Setup GitLab Hooks
258 204  
... ... @@ -261,7 +207,7 @@ used for the `email.from` setting in `config/gitlab.yml`)
261 207  
262 208 ## Initialise Database and Activate Advanced Features
263 209  
264   - sudo -u gitlab -H bundle exec rake gitlab:setup RAILS_ENV=production
  210 + sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
265 211  
266 212  
267 213 ## Install Init Script
... ... @@ -280,11 +226,11 @@ Make GitLab start on boot:
280 226  
281 227 Check if GitLab and its environment is configured correctly:
282 228  
283   - sudo -u gitlab -H bundle exec rake gitlab:env:info RAILS_ENV=production
  229 + sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
284 230  
285 231 To make sure you didn't miss anything run a more thorough check with:
286 232  
287   - sudo -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=production
  233 + sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
288 234  
289 235 If all items are green, then congratulations on successfully installing GitLab!
290 236 However there are still a few steps left.
... ... @@ -357,7 +303,7 @@ a different host, you can configure its connection string via the
357 303  
358 304 If you are running SSH on a non-standard port, you must change the gitlab user'S SSH config.
359 305  
360   - # Add to /home/gitlab/.ssh/config
  306 + # Add to /home/git/.ssh/config
361 307 host localhost # Give your setup a name (here: override localhost)
362 308 user git # Your remote git user
363 309 port 2222 # Your port number
... ...