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 | + |