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 8  
9 9 ## MySQL
10 10  
  11 + # If you are the git user log out since it doesn't have sudo rights
  12 + exit
  13 +
11 14 # Install the database packages
12 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 20 # Login to MySQL
15 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 28 mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
19 29  
20 30 # Create the GitLab production database
... ... @@ -29,6 +39,16 @@ GitLab supports the following databases:
29 39 # Try connecting to the new database with the new user
30 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 52 ## PostgreSQL
33 53  
34 54 # Install the database packages
... ...
doc/install/installation.md
... ... @@ -36,10 +36,10 @@ The GitLab installation consists of setting up the following components:
36 36 `sudo` is not installed on Debian by default. Make sure your system is
37 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 44 **Note:**
45 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 55 Make sure you have the right version of Python installed.
56 56  
57 57 # Install Python
58   - sudo apt-get install python
  58 + sudo apt-get install -y python
59 59  
60 60 # Make sure that Python is 2.5+ (3.x is not supported at the moment)
61 61 python --version
... ... @@ -73,15 +73,17 @@ Make sure you have the right version of Python installed.
73 73 mail server. By default, Debian is shipped with exim4 whereas Ubuntu
74 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 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 88 mkdir /tmp/ruby && cd /tmp/ruby
87 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 94  
93 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 100 # 3. System Users
... ... @@ -152,8 +154,7 @@ To setup the MySQL/PostgreSQL database and dependencies please see [`doc/install
152 154 sudo -u git -H git checkout 5-2-stable
153 155  
154 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 159 ## Configure it
159 160  
... ... @@ -205,10 +206,18 @@ Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup.
205 206 # Mysql
206 207 sudo -u git cp config/database.yml.mysql config/database.yml
207 208  
  209 + or
  210 +
208 211 # PostgreSQL
209 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 222 ## Install Gems
214 223  
... ... @@ -216,10 +225,10 @@ Make sure to update username/password in config/database.yml.
216 225  
217 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 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 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 236  
228 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 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 282 [`Advanced Setup Tips`](./installation.md#advanced-setup-tips) section.
270 283  
271 284 ## Installation
272   - sudo apt-get install nginx
  285 + sudo apt-get install -y nginx
273 286  
274 287 ## Site Configuration
275 288  
... ... @@ -280,10 +293,8 @@ Download an example site config:
280 293  
281 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 298 sudo vim /etc/nginx/sites-available/gitlab
288 299  
289 300 ## Restart
... ...
lib/support/nginx/gitlab
... ... @@ -7,7 +7,7 @@ upstream gitlab {
7 7 }
8 8  
9 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 11 server_name YOUR_SERVER_FQDN; # e.g., server_name source.example.com;
12 12 server_tokens off; # don't show the version number, a security best practice
13 13 root /home/git/gitlab/public;
... ...