Commit f01d482427dd586c9b7b36887941e8af6bb42391

Authored by Sytse Sijbrandij
1 parent 70e80d95

Make the installation guide easier to follow for non-unix people.

doc/install/databases.md
@@ -8,13 +8,23 @@ GitLab supports the following databases: @@ -8,13 +8,23 @@ GitLab supports the following databases:
8 8
9 ## MySQL 9 ## MySQL
10 10
  11 + # If you are the git user log out since it doesn't have sudo rights
  12 + exit
  13 +
11 # Install the database packages 14 # Install the database packages
12 sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev 15 sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
13 16
  17 + # Pick a database root password (can be anything), type it and press enter
  18 + # Retype the database root password and press enter
  19 +
14 # Login to MySQL 20 # Login to MySQL
15 mysql -u root -p 21 mysql -u root -p
16 22
17 - # Create a user for GitLab. (change $password to a real password) 23 + # Type the database root password
  24 +
  25 + # Create a user for GitLab
  26 + # do not type the 'mysql>', this is part of the prompt
  27 + # change $password in the command below to a real password you pick
18 mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; 28 mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
19 29
20 # Create the GitLab production database 30 # Create the GitLab production database
@@ -29,6 +39,16 @@ GitLab supports the following databases: @@ -29,6 +39,16 @@ GitLab supports the following databases:
29 # Try connecting to the new database with the new user 39 # Try connecting to the new database with the new user
30 sudo -u git -H mysql -u gitlab -p -D gitlabhq_production 40 sudo -u git -H mysql -u gitlab -p -D gitlabhq_production
31 41
  42 + # Type the password you replaced $password with earlier
  43 +
  44 + # You should now see a 'mysql>' prompt
  45 +
  46 + # Quit the database session
  47 + mysql> \q
  48 +
  49 + # You are done installing the database and can go back to the rest of the installation.
  50 +
  51 +
32 ## PostgreSQL 52 ## PostgreSQL
33 53
34 # Install the database packages 54 # Install the database packages
doc/install/installation.md
@@ -36,10 +36,10 @@ The GitLab installation consists of setting up the following components: @@ -36,10 +36,10 @@ The GitLab installation consists of setting up the following components:
36 `sudo` is not installed on Debian by default. Make sure your system is 36 `sudo` is not installed on Debian by default. Make sure your system is
37 up-to-date and install it. 37 up-to-date and install it.
38 38
39 - # run as root  
40 - apt-get update  
41 - apt-get upgrade  
42 - apt-get install sudo 39 + # run as root!
  40 + apt-get update -y
  41 + apt-get upgrade -y
  42 + apt-get install sudo -y
43 43
44 **Note:** 44 **Note:**
45 Vim is an editor that is used here whenever there are files that need to be 45 Vim is an editor that is used here whenever there are files that need to be
@@ -55,7 +55,7 @@ Install the required packages: @@ -55,7 +55,7 @@ Install the required packages:
55 Make sure you have the right version of Python installed. 55 Make sure you have the right version of Python installed.
56 56
57 # Install Python 57 # Install Python
58 - sudo apt-get install python 58 + sudo apt-get install -y python
59 59
60 # Make sure that Python is 2.5+ (3.x is not supported at the moment) 60 # Make sure that Python is 2.5+ (3.x is not supported at the moment)
61 python --version 61 python --version
@@ -73,15 +73,17 @@ Make sure you have the right version of Python installed. @@ -73,15 +73,17 @@ Make sure you have the right version of Python installed.
73 mail server. By default, Debian is shipped with exim4 whereas Ubuntu 73 mail server. By default, Debian is shipped with exim4 whereas Ubuntu
74 does not ship with one. The recommended mail server is postfix and you can install it with: 74 does not ship with one. The recommended mail server is postfix and you can install it with:
75 75
76 - sudo apt-get install postfix 76 + sudo apt-get install -y postfix
  77 +
  78 +Then select 'Internet Site' and press enter to confirm the hostname.
77 79
78 # 2. Ruby 80 # 2. Ruby
79 81
80 -Remove old 1.8 ruby if present 82 +Remove the old Ruby 1.8 if present
81 83
82 - sudo apt-get remove ruby1.8 84 + sudo apt-get remove -y ruby1.8
83 85
84 -Download and compile it: 86 +Download Ruby and compile it:
85 87
86 mkdir /tmp/ruby && cd /tmp/ruby 88 mkdir /tmp/ruby && cd /tmp/ruby
87 curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz 89 curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz
@@ -92,7 +94,7 @@ Download and compile it: @@ -92,7 +94,7 @@ Download and compile it:
92 94
93 Install the Bundler Gem: 95 Install the Bundler Gem:
94 96
95 - sudo gem install bundler 97 + sudo gem install bundler --no-ri --no-rdoc
96 98
97 99
98 # 3. System Users 100 # 3. System Users
@@ -152,8 +154,7 @@ To setup the MySQL/PostgreSQL database and dependencies please see [`doc/install @@ -152,8 +154,7 @@ To setup the MySQL/PostgreSQL database and dependencies please see [`doc/install
152 sudo -u git -H git checkout 5-2-stable 154 sudo -u git -H git checkout 5-2-stable
153 155
154 **Note:** 156 **Note:**
155 -You can change `5-2-stable` to `master` if you want the *bleeding edge* version, but  
156 -do so with caution! 157 +You can change `5-2-stable` to `master` if you want the *bleeding edge* version, but do so with caution!
157 158
158 ## Configure it 159 ## Configure it
159 160
@@ -205,10 +206,18 @@ Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup. @@ -205,10 +206,18 @@ Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup.
205 # Mysql 206 # Mysql
206 sudo -u git cp config/database.yml.mysql config/database.yml 207 sudo -u git cp config/database.yml.mysql config/database.yml
207 208
  209 + or
  210 +
208 # PostgreSQL 211 # PostgreSQL
209 sudo -u git cp config/database.yml.postgresql config/database.yml 212 sudo -u git cp config/database.yml.postgresql config/database.yml
210 213
211 -Make sure to update username/password in config/database.yml. 214 + # Make sure to update username/password in config/database.yml.
  215 + # You only need to adapt the production settings (first part).
  216 + # If you followed the database guide than please do as follows:
  217 + # Change 'root' to 'gitlab'
  218 + # Change 'secure password' with the value you have given to $password
  219 + # You can keep the double quotes around the password
  220 + sudo -u git -H vim config/database.yml
212 221
213 ## Install Gems 222 ## Install Gems
214 223
@@ -216,10 +225,10 @@ Make sure to update username/password in config/database.yml. @@ -216,10 +225,10 @@ Make sure to update username/password in config/database.yml.
216 225
217 sudo gem install charlock_holmes --version '0.6.9.4' 226 sudo gem install charlock_holmes --version '0.6.9.4'
218 227
219 - # For MySQL (note, the option says "without") 228 + # For MySQL (note, the option says "without ... postgres")
220 sudo -u git -H bundle install --deployment --without development test postgres 229 sudo -u git -H bundle install --deployment --without development test postgres
221 230
222 - # Or for PostgreSQL 231 + # Or for PostgreSQL (note, the option says "without ... mysql")
223 sudo -u git -H bundle install --deployment --without development test mysql 232 sudo -u git -H bundle install --deployment --without development test mysql
224 233
225 234
@@ -227,6 +236,10 @@ Make sure to update username/password in config/database.yml. @@ -227,6 +236,10 @@ Make sure to update username/password in config/database.yml.
227 236
228 sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production 237 sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
229 238
  239 + # Type 'yes' to create the database.
  240 +
  241 + # When done you see 'Administrator account created:'
  242 +
230 243
231 ## Install Init Script 244 ## Install Init Script
232 245
@@ -269,7 +282,7 @@ If you can't or don't want to use Nginx as your web server, have a look at the @@ -269,7 +282,7 @@ If you can't or don't want to use Nginx as your web server, have a look at the
269 [`Advanced Setup Tips`](./installation.md#advanced-setup-tips) section. 282 [`Advanced Setup Tips`](./installation.md#advanced-setup-tips) section.
270 283
271 ## Installation 284 ## Installation
272 - sudo apt-get install nginx 285 + sudo apt-get install -y nginx
273 286
274 ## Site Configuration 287 ## Site Configuration
275 288
@@ -280,10 +293,8 @@ Download an example site config: @@ -280,10 +293,8 @@ Download an example site config:
280 293
281 Make sure to edit the config file to match your setup: 294 Make sure to edit the config file to match your setup:
282 295
283 - # **YOUR_SERVER_FQDN** to the fully-qualified  
284 - # domain name of your host serving GitLab. Also, replace  
285 - # the 'listen' line with the following:  
286 - # listen 80 default_server; # e.g., listen 192.168.1.1:80; 296 + # Change YOUR_SERVER_FQDN to the fully-qualified
  297 + # domain name of your host serving GitLab.
287 sudo vim /etc/nginx/sites-available/gitlab 298 sudo vim /etc/nginx/sites-available/gitlab
288 299
289 ## Restart 300 ## Restart
lib/support/nginx/gitlab
@@ -7,7 +7,7 @@ upstream gitlab { @@ -7,7 +7,7 @@ upstream gitlab {
7 } 7 }
8 8
9 server { 9 server {
10 - listen YOUR_SERVER_IP:80 default_server; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea 10 + listen *:80 default_server; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
11 server_name YOUR_SERVER_FQDN; # e.g., server_name source.example.com; 11 server_name YOUR_SERVER_FQDN; # e.g., server_name source.example.com;
12 server_tokens off; # don't show the version number, a security best practice 12 server_tokens off; # don't show the version number, a security best practice
13 root /home/git/gitlab/public; 13 root /home/git/gitlab/public;