From 5704e6fee9d2dea67c4a91b43d06a9958484d29b Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Fri, 12 Sep 2014 14:59:58 +0200 Subject: [PATCH] Use sockets to connect to Redis --- CHANGELOG | 1 + config/resque.yml.example | 2 +- doc/install/installation.md | 24 ++++++++++++++++++++++-- doc/update/7.2-to-7.3.md | 23 ++++++++++++++++++++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 49bf983eb5e..f5e37725077 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ v 7.3.0 - Always set the 'origin' remote in satellite actions - Write authorized_keys in tmp/ during tests + - Use sockets to connect to Redis - Expire Rack sessions after 1 week - Cleaner signin/signup pages - Improved comments UI diff --git a/config/resque.yml.example b/config/resque.yml.example index 3c7ad0e5778..347f3599b20 100644 --- a/config/resque.yml.example +++ b/config/resque.yml.example @@ -1,3 +1,3 @@ development: redis://localhost:6379 test: redis://localhost:6379 -production: redis://redis.example.com:6379 +production: unix:/var/run/redis/redis.sock diff --git a/doc/install/installation.md b/doc/install/installation.md index 5ad8392fb63..826eaec7d14 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -133,7 +133,21 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da # Try connecting to the new database with the new user sudo -u git -H psql -d gitlabhq_production -## 5. GitLab +## 5. Redis + + sudo apt-get install redis-server + + # Configure redis to use sockets + sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig + sed -e 's/^# unixsocket /unixsocket /' -e 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf + + # Activate the changes to redis.conf + sudo service redis-server restart + + # Add git to the redis group + sudo usermod -aG redis git + +## 6. GitLab # We'll install GitLab into home directory of the user "git" cd /home/git @@ -189,6 +203,12 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da sudo -u git -H git config --global user.email "example@example.com" sudo -u git -H git config --global core.autocrlf input + # Configure Redis connection settings + sudo -u git -H cp config/resque.yml.example config/resque.yml + + # Change the Redis socket path if necessary + sudo -u git -H editor config/resque.yml + **Important Note:** Make sure to edit both `gitlab.yml` and `unicorn.rb` to match your setup. **Note:** If you want to use HTTPS, see [Using HTTPS](#using-https) for the additional steps. @@ -284,7 +304,7 @@ Check if GitLab and its environment are configured correctly: # or sudo /etc/init.d/gitlab restart -## 6. Nginx +## 7. Nginx **Note:** Nginx is the officially supported web server for GitLab. If you cannot or do not want to use Nginx as your web server, have a look at the [GitLab recipes](https://gitlab.com/gitlab-org/gitlab-recipes/). diff --git a/doc/update/7.2-to-7.3.md b/doc/update/7.2-to-7.3.md index 7cc8f8e2ede..f6af9d56860 100644 --- a/doc/update/7.2-to-7.3.md +++ b/doc/update/7.2-to-7.3.md @@ -7,4 +7,25 @@ This document currently just serves as a place to keep track of updates that wil ### Update config files * HTTP setups: Make `/etc/nginx/sites-available/nginx` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-0-stable/lib/support/nginx/gitlab but with your settings. -* HTTPS setups: Make `/etc/nginx/sites-available/nginx-ssl` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-0-stable/lib/support/nginx/gitlab-ssl but with your setting \ No newline at end of file +* HTTPS setups: Make `/etc/nginx/sites-available/nginx-ssl` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-0-stable/lib/support/nginx/gitlab-ssl but with your setting + +### Configure Redis to use sockets + + # Configure redis to use sockets + sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig + sed -e 's/^# unixsocket /unixsocket /' -e 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf + # Activate the changes to redis.conf + sudo service redis-server restart + # Add git to the redis group + sudo usermod -aG redis git + + cd /home/git/gitlab + # Configure Redis connection settings + sudo -u git -H cp config/resque.yml.example config/resque.yml + # Change the Redis socket path if necessary + sudo -u git -H editor config/resque.yml + + cd /home/git/gitlab-shell + # Configure gitlab-shell to use Redis sockets + sudo -u git -H sed -i 's|^ # socket.*| socket: /var/run/redis/redis.sock|' config.yml +