Nov 10, 2012 5
Install Gitlabhq with Gitolite on Mac OS X server (Mountain Lion 10.8)
Recently I got a task of setting up a mac mini server (Mountain Lion) with gitlabhq (with gitolite). I tried for around 15 times and finally got succeed. Here are the steps which I followed to setup, hope it will help someone setting up mac server with gitlab.
Step 1 – Create a user “git”
Step 2 – Login into user “git”
Step 3 - Install xcode 4.5
Step 4 - Install command line tools in Xcode. (Xcode -> Preferences -> downloads -> install command line tools)
Step 5 - Install “rails installer” from rails installer.org (this will install many dependencies)
Step 6 - Download and Install mysql from here http://dev.mysql.com/downloads/mysql
Step 7 – Setup root password for mysql with this command
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Step 8 – Install Homebrew on mac (needed to install few things)
$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
After homebrew install run doctor -
$ brew doctor
Step 9 – Get ownership of /usr/local
$ sudo chown -R $(whoami) /usr/local
Step 10 – Install qt and icu4c with brew.
$ brew install qt $ brew install icu4c $ brew install redis
Step 11 – Enable ssh login in system preferences. System Preferences -> Sharing -> Enable remote login
Step 12 – Create a ssh key without a password
$ ssh-keygen -t rsa -N ''
Step 13 -Clone gitolite
$ git clone git://github.com/sitaramc/gitolite
Step 14 - Install gitolite
$ gitolite/install
use the following full path for gitolite: /Users/git/gitolite/src/gitolite
Step 15 - Put this in .bashrc file and save in your home folder (~) -
export GIT_EXEC_PATH=/opt/local/libexec/git-core
Step 16 - Add this in .bash_profile and save in home folder (~)
$ sudo nano .bash_profile
and put this below text.
export PATH=/Users/git/gitolite/src:$PATH export PATH=/Users/git/bin:$PATH export PATH=/usr/local/mysql/bin:$PATH
Restart terminal
Step 17 -Setting up gitolite
Create link for .pub file
$ ln -s .ssh/id_rsa.pub GitlabAdmin.pub
setting up gitolite with ssh key
$ gitolite setup -pk ~/GitlabAdmin.pub
Step 18 - Making sure you can connect with ssh
$ ssh localhost
Step 19 - Confirm that you can connect to the gitolite-admin repository
$ git clone git@localhost:gitolite-admin
Step 20 - Cloning gitlabhq
$ git clone -b stable git://github.com/gitlabhq/gitlabhq.git
Step 21 - Running “bundle” on gitlabhq
$ cd gitlabhq $ bundle
Step 22 - Bundle complete now -
$ bundle install --without development test
Step 23 - Configuriing gitlabhq
$ cp config/database.yml.example config/database.yml $ cp config/gitlab.yml.example config/gitlab.yml
Step 24 - Now open this “config/gitlab.yml” and change “base_path” to “Users/git/repositories”
Step 25 - Open config/database.yml and change mysql password to your root account password. for production environment.
Step 26 - Setting up gitlabhq database in production environment -
$ bundle exec rake db:setup RAILS_ENV=production
Got this error -
rake aborted!
dlopen(/usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
Referenced from: /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
Reason: image not found – /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle(See full trace by running task with –trace)
Got this fix on Stackoverflow -
$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Running previous command again -
$ bundle exec rake db:setup RAILS_ENV=production
$ bundle exec rake db:setup RAILS_ENV=production
Step 27 - Run redis
$ redis-server /usr/local/etc/redis.conf
Step 28 - Run this -
$ bundle exec rake db:setup RAILS_ENV=production $ bundle exec rake db:seed_fu RAILS_ENV=production
Step 29 - Run -
</pre> $ rails s -e production -p 8080 <pre>
Step 30 - open “localhost:8080″ in browser and login with -
login………admin@local.host
password……5iveL!fe
I hope you find this guide helpful. Comments are most welcome!



