Commit aa708ed961e6c84010b3371cf64359152f08e7a8
1 parent
4fe438ce
Exists in
master
and in
4 other branches
Simplify setup for nginx, initd with already predefined files
Showing
3 changed files
with
96 additions
and
90 deletions
Show diff stats
doc/installation.md
@@ -244,42 +244,14 @@ You can login via web using admin generated with setup: | @@ -244,42 +244,14 @@ You can login via web using admin generated with setup: | ||
244 | sudo -u gitlab cp config/unicorn.rb.orig config/unicorn.rb | 244 | sudo -u gitlab cp config/unicorn.rb.orig config/unicorn.rb |
245 | sudo -u gitlab bundle exec unicorn_rails -c config/unicorn.rb -E production -D | 245 | sudo -u gitlab bundle exec unicorn_rails -c config/unicorn.rb -E production -D |
246 | 246 | ||
247 | -Edit /etc/nginx/nginx.conf. In the *http* section add: | ||
248 | - | ||
249 | - upstream gitlab { | ||
250 | - server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket; | ||
251 | - } | ||
252 | - | ||
253 | - server { | ||
254 | - listen YOUR_SERVER_IP:80; # e.g., listen 192.168.1.1:80; | ||
255 | - server_name YOUR_SERVER_FQDN; # e.g., server_name source.example.com; | ||
256 | - root /home/gitlab/gitlab/public; | ||
257 | - | ||
258 | - # individual nginx logs for this gitlab vhost | ||
259 | - access_log /var/log/nginx/gitlab_access.log; | ||
260 | - error_log /var/log/nginx/gitlab_error.log; | ||
261 | - | ||
262 | - location / { | ||
263 | - # serve static files from defined root folder;. | ||
264 | - # @gitlab is a named location for the upstream fallback, see below | ||
265 | - try_files $uri $uri/index.html $uri.html @gitlab; | ||
266 | - } | ||
267 | - | ||
268 | - # if a file, which is not found in the root folder is requested, | ||
269 | - # then the proxy pass the request to the upsteam (gitlab unicorn) | ||
270 | - location @gitlab { | ||
271 | - proxy_redirect off; | ||
272 | - | ||
273 | - # you need to change this to "https", if you set "ssl" directive to "on" | ||
274 | - proxy_set_header X-FORWARDED_PROTO http; | ||
275 | - proxy_set_header Host $http_host; | ||
276 | - proxy_set_header X-Real-IP $remote_addr; | ||
277 | - | ||
278 | - proxy_pass http://gitlab; | ||
279 | - } | ||
280 | - } | ||
281 | - | ||
282 | -Change **YOUR_SERVER_IP** and **YOUR_SERVER_FQDN** to the IP address and fully-qualified domain name of the host serving GitLab. | 247 | +Add gitlab to nginx sites & change with your host specific settings |
248 | + | ||
249 | + cp /home/gitlab/gitlab/lib/support/nginx-gitlab /etc/nginx/sites-enabled/gitlab | ||
250 | + | ||
251 | + # Change **YOUR_SERVER_IP** and **YOUR_SERVER_FQDN** | ||
252 | + # to the IP address and fully-qualified domain name | ||
253 | + # of the host serving GitLab. | ||
254 | + vim /etc/nginx/sites-enabled/nginx-gitlab | ||
283 | 255 | ||
284 | Restart nginx: | 256 | Restart nginx: |
285 | 257 | ||
@@ -287,60 +259,7 @@ Restart nginx: | @@ -287,60 +259,7 @@ Restart nginx: | ||
287 | 259 | ||
288 | Create init script in /etc/init.d/gitlab: | 260 | Create init script in /etc/init.d/gitlab: |
289 | 261 | ||
290 | - #! /bin/bash | ||
291 | - ### BEGIN INIT INFO | ||
292 | - # Provides: gitlab | ||
293 | - # Required-Start: $local_fs $remote_fs $network $syslog redis-server | ||
294 | - # Required-Stop: $local_fs $remote_fs $network $syslog | ||
295 | - # Default-Start: 2 3 4 5 | ||
296 | - # Default-Stop: 0 1 6 | ||
297 | - # Short-Description: GitLab git repository management | ||
298 | - # Description: GitLab git repository management | ||
299 | - ### END INIT INFO | ||
300 | - | ||
301 | - DAEMON_OPTS="-c /home/gitlab/gitlab/config/unicorn.rb -E production -D" | ||
302 | - NAME=unicorn | ||
303 | - DESC="Gitlab service" | ||
304 | - PID=/home/gitlab/gitlab/tmp/pids/unicorn.pid | ||
305 | - RESQUE_PID=/home/gitlab/gitlab/tmp/pids/resque_worker.pid | ||
306 | - | ||
307 | - case "$1" in | ||
308 | - start) | ||
309 | - CD_TO_APP_DIR="cd /home/gitlab/gitlab" | ||
310 | - START_DAEMON_PROCESS="bundle exec unicorn_rails $DAEMON_OPTS" | ||
311 | - START_RESQUE_PROCESS="./resque.sh" | ||
312 | - | ||
313 | - echo -n "Starting $DESC: " | ||
314 | - if [ `whoami` = root ]; then | ||
315 | - sudo -u gitlab sh -l -c "$CD_TO_APP_DIR > /dev/null 2>&1 && $START_DAEMON_PROCESS && $START_RESQUE_PROCESS" | ||
316 | - else | ||
317 | - $CD_TO_APP_DIR > /dev/null 2>&1 && $START_DAEMON_PROCESS && $START_RESQUE_PROCESS | ||
318 | - fi | ||
319 | - echo "$NAME." | ||
320 | - ;; | ||
321 | - stop) | ||
322 | - echo -n "Stopping $DESC: " | ||
323 | - kill -QUIT `cat $PID` | ||
324 | - kill -QUIT `cat $RESQUE_PID` | ||
325 | - echo "$NAME." | ||
326 | - ;; | ||
327 | - restart) | ||
328 | - echo -n "Restarting $DESC: " | ||
329 | - kill -USR2 `cat $PID` | ||
330 | - echo "$NAME." | ||
331 | - ;; | ||
332 | - reload) | ||
333 | - echo -n "Reloading $DESC configuration: " | ||
334 | - kill -HUP `cat $PID` | ||
335 | - echo "$NAME." | ||
336 | - ;; | ||
337 | - *) | ||
338 | - echo "Usage: $NAME {start|stop|restart|reload}" >&2 | ||
339 | - exit 1 | ||
340 | - ;; | ||
341 | - esac | ||
342 | - | ||
343 | - exit 0 | 262 | + cp /home/gitlab/gitlab/lib/support/init-gitlab /etc/init.d/gitlab |
344 | 263 | ||
345 | Adding permission: | 264 | Adding permission: |
346 | 265 |
@@ -0,0 +1,54 @@ | @@ -0,0 +1,54 @@ | ||
1 | +#! /bin/bash | ||
2 | +### BEGIN INIT INFO | ||
3 | +# Provides: gitlab | ||
4 | +# Required-Start: $local_fs $remote_fs $network $syslog redis-server | ||
5 | +# Required-Stop: $local_fs $remote_fs $network $syslog | ||
6 | +# Default-Start: 2 3 4 5 | ||
7 | +# Default-Stop: 0 1 6 | ||
8 | +# Short-Description: GitLab git repository management | ||
9 | +# Description: GitLab git repository management | ||
10 | +### END INIT INFO | ||
11 | + | ||
12 | +DAEMON_OPTS="-c /home/gitlab/gitlab/config/unicorn.rb -E production -D" | ||
13 | +NAME=unicorn | ||
14 | +DESC="Gitlab service" | ||
15 | +PID=/home/gitlab/gitlab/tmp/pids/unicorn.pid | ||
16 | +RESQUE_PID=/home/gitlab/gitlab/tmp/pids/resque_worker.pid | ||
17 | + | ||
18 | +case "$1" in | ||
19 | + start) | ||
20 | + CD_TO_APP_DIR="cd /home/gitlab/gitlab" | ||
21 | + START_DAEMON_PROCESS="bundle exec unicorn_rails $DAEMON_OPTS" | ||
22 | + START_RESQUE_PROCESS="./resque.sh" | ||
23 | + | ||
24 | + echo -n "Starting $DESC: " | ||
25 | + if [ `whoami` = root ]; then | ||
26 | + sudo -u gitlab sh -l -c "$CD_TO_APP_DIR > /dev/null 2>&1 && $START_DAEMON_PROCESS && $START_RESQUE_PROCESS" | ||
27 | + else | ||
28 | + $CD_TO_APP_DIR > /dev/null 2>&1 && $START_DAEMON_PROCESS && $START_RESQUE_PROCESS | ||
29 | + fi | ||
30 | + echo "$NAME." | ||
31 | + ;; | ||
32 | + stop) | ||
33 | + echo -n "Stopping $DESC: " | ||
34 | + kill -QUIT `cat $PID` | ||
35 | + kill -QUIT `cat $RESQUE_PID` | ||
36 | + echo "$NAME." | ||
37 | + ;; | ||
38 | + restart) | ||
39 | + echo -n "Restarting $DESC: " | ||
40 | + kill -USR2 `cat $PID` | ||
41 | + echo "$NAME." | ||
42 | + ;; | ||
43 | + reload) | ||
44 | + echo -n "Reloading $DESC configuration: " | ||
45 | + kill -HUP `cat $PID` | ||
46 | + echo "$NAME." | ||
47 | + ;; | ||
48 | + *) | ||
49 | + echo "Usage: $NAME {start|stop|restart|reload}" >&2 | ||
50 | + exit 1 | ||
51 | + ;; | ||
52 | +esac | ||
53 | + | ||
54 | +exit 0 |
@@ -0,0 +1,33 @@ | @@ -0,0 +1,33 @@ | ||
1 | +upstream gitlab { | ||
2 | + server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket; | ||
3 | +} | ||
4 | + | ||
5 | +server { | ||
6 | + listen YOUR_SERVER_IP:80; # e.g., listen 192.168.1.1:80; | ||
7 | + server_name YOUR_SERVER_FQDN; # e.g., server_name source.example.com; | ||
8 | + root /home/gitlab/gitlab/public; | ||
9 | + | ||
10 | + # individual nginx logs for this gitlab vhost | ||
11 | + access_log /var/log/nginx/gitlab_access.log; | ||
12 | + error_log /var/log/nginx/gitlab_error.log; | ||
13 | + | ||
14 | + location / { | ||
15 | + # serve static files from defined root folder;. | ||
16 | + # @gitlab is a named location for the upstream fallback, see below | ||
17 | + try_files $uri $uri/index.html $uri.html @gitlab; | ||
18 | + } | ||
19 | + | ||
20 | + # if a file, which is not found in the root folder is requested, | ||
21 | + # then the proxy pass the request to the upsteam (gitlab unicorn) | ||
22 | + location @gitlab { | ||
23 | + proxy_redirect off; | ||
24 | + | ||
25 | + # you need to change this to "https", if you set "ssl" directive to "on" | ||
26 | + proxy_set_header X-FORWARDED_PROTO http; | ||
27 | + proxy_set_header Host $http_host; | ||
28 | + proxy_set_header X-Real-IP $remote_addr; | ||
29 | + | ||
30 | + proxy_pass http://gitlab; | ||
31 | + } | ||
32 | +} | ||
33 | + |