Commit a962217db808616065a8160458fe6f4a084f7cd1

Authored by Dmitriy Zaporozhets
2 parents 48d37272 76f2e065

Merge branch 'install-guide-improvements' of /home/git/repositories/gitlab/gitlabhq

doc/install/databases.md
... ... @@ -11,10 +11,17 @@ GitLab supports the following databases:
11 11 # Install the database packages
12 12 sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
13 13  
  14 + # Pick a database root password (can be anything), type it and press enter
  15 + # Retype the database root password and press enter
  16 +
14 17 # Login to MySQL
15 18 mysql -u root -p
16 19  
17   - # Create a user for GitLab. (change $password to a real password)
  20 + # Type the database root password
  21 +
  22 + # Create a user for GitLab
  23 + # do not type the 'mysql>', this is part of the prompt
  24 + # change $password in the command below to a real password you pick
18 25 mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
19 26  
20 27 # Create the GitLab production database
... ... @@ -29,6 +36,16 @@ GitLab supports the following databases:
29 36 # Try connecting to the new database with the new user
30 37 sudo -u git -H mysql -u gitlab -p -D gitlabhq_production
31 38  
  39 + # Type the password you replaced $password with earlier
  40 +
  41 + # You should now see a 'mysql>' prompt
  42 +
  43 + # Quit the database session
  44 + mysql> \q
  45 +
  46 + # You are done installing the database and can go back to the rest of the installation.
  47 +
  48 +
32 49 ## PostgreSQL
33 50  
34 51 # 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
... ... @@ -106,28 +108,25 @@ Create a `git` user for Gitlab:
106 108  
107 109 GitLab Shell is a ssh access and repository management software developed specially for GitLab.
108 110  
109   - # Login as git
110   - sudo su git
111   -
112 111 # Go to home directory
113 112 cd /home/git
114 113  
115 114 # Clone gitlab shell
116   - git clone https://github.com/gitlabhq/gitlab-shell.git
  115 + sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git
117 116  
118 117 cd gitlab-shell
119 118  
120 119 # switch to right version
121   - git checkout v1.4.0
  120 + sudo -u git -H git checkout v1.4.0
122 121  
123   - cp config.yml.example config.yml
  122 + sudo -u git -H cp config.yml.example config.yml
124 123  
125 124 # Edit config and replace gitlab_url
126 125 # with something like 'http://domain.com/'
127   - vim config.yml
  126 + sudo -u git -H vim config.yml
128 127  
129 128 # Do setup
130   - ./bin/install
  129 + sudo -u git -H ./bin/install
131 130  
132 131  
133 132 # 5. Database
... ... @@ -152,8 +151,7 @@ To setup the MySQL/PostgreSQL database and dependencies please see [`doc/install
152 151 sudo -u git -H git checkout 5-3-stable
153 152  
154 153 **Note:**
155   -You can change `5-3-stable` to `master` if you want the *bleeding edge* version, but
156   -do so with caution!
  154 +You can change `5-3-stable` to `master` if you want the *bleeding edge* version, but do so with caution!
157 155  
158 156 ## Configure it
159 157  
... ... @@ -205,10 +203,18 @@ Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup.
205 203 # Mysql
206 204 sudo -u git cp config/database.yml.mysql config/database.yml
207 205  
  206 + or
  207 +
208 208 # PostgreSQL
209 209 sudo -u git cp config/database.yml.postgresql config/database.yml
210 210  
211   -Make sure to update username/password in config/database.yml.
  211 + # Make sure to update username/password in config/database.yml.
  212 + # You only need to adapt the production settings (first part).
  213 + # If you followed the database guide then please do as follows:
  214 + # Change 'root' to 'gitlab'
  215 + # Change 'secure password' with the value you have given to $password
  216 + # You can keep the double quotes around the password
  217 + sudo -u git -H vim config/database.yml
212 218  
213 219 ## Install Gems
214 220  
... ... @@ -216,10 +222,10 @@ Make sure to update username/password in config/database.yml.
216 222  
217 223 sudo gem install charlock_holmes --version '0.6.9.4'
218 224  
219   - # For MySQL (note, the option says "without")
  225 + # For MySQL (note, the option says "without ... postgres")
220 226 sudo -u git -H bundle install --deployment --without development test postgres
221 227  
222   - # Or for PostgreSQL
  228 + # Or for PostgreSQL (note, the option says "without ... mysql")
223 229 sudo -u git -H bundle install --deployment --without development test mysql
224 230  
225 231  
... ... @@ -227,6 +233,10 @@ Make sure to update username/password in config/database.yml.
227 233  
228 234 sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
229 235  
  236 + # Type 'yes' to create the database.
  237 +
  238 + # When done you see 'Administrator account created:'
  239 +
230 240  
231 241 ## Install Init Script
232 242  
... ... @@ -269,7 +279,7 @@ If you can't or don't want to use Nginx as your web server, have a look at the
269 279 [`Advanced Setup Tips`](./installation.md#advanced-setup-tips) section.
270 280  
271 281 ## Installation
272   - sudo apt-get install nginx
  282 + sudo apt-get install -y nginx
273 283  
274 284 ## Site Configuration
275 285  
... ... @@ -280,10 +290,8 @@ Download an example site config:
280 290  
281 291 Make sure to edit the config file to match your setup:
282 292  
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;
  293 + # Change YOUR_SERVER_FQDN to the fully-qualified
  294 + # domain name of your host serving GitLab.
287 295 sudo vim /etc/nginx/sites-available/gitlab
288 296  
289 297 ## Restart
... ...
lib/support/init.d/gitlab
... ... @@ -51,7 +51,7 @@ start() {
51 51 exit 1
52 52 else
53 53 if [ `whoami` = root ]; then
54   - execute "rm $SOCKET_PATH/gitlab.socket"
  54 + execute "rm -f $SOCKET_PATH/gitlab.socket"
55 55 execute "RAILS_ENV=production bundle exec puma $DAEMON_OPTS"
56 56 execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &"
57 57 echo "$DESC started"
... ...
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;
... ...