README.md 2.35 KB
Newer Older
Nihad Abbasov's avatar
Nihad Abbasov committed
1
2
3
4
# Welcome to GitLab [![build status](https://secure.travis-ci.org/gitlabhq/gitlabhq.png)](https://secure.travis-ci.org/gitlabhq/gitlabhq)

GitLab is a free Project/Repository management application

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
5
6
7
8

<img src="http://gitlabhq.com/front.png" width="900" height="471">


Nihad Abbasov's avatar
Nihad Abbasov committed
9
10
11
## Application details

rails 3.1
12
works only with gitolite
Nihad Abbasov's avatar
Nihad Abbasov committed
13
14
15
16
17
18
19
sqlite as default a database

## Requirements

* ruby 1.9.2
* sqlite
* git
20
* gitolite
Nihad Abbasov's avatar
Nihad Abbasov committed
21
22
23
24
25
26
27
28
29
30
31
* ubuntu/debian
* pygments lib - `sudo easy_install pygments`

## Install Project

```bash
git clone git://github.com/gitlabhq/gitlabhq.git

cd gitlabhq/

# install this library first
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
32
33
sudo pip install pygments
sudo apt-get install python-dev
Nihad Abbasov's avatar
Nihad Abbasov committed
34
35
36

sudo gem install bundler

37
bundle install --without development test
Nihad Abbasov's avatar
Nihad Abbasov committed
38
39
40
41
42
43
44
45
46

bundle exec rake db:setup RAILS_ENV=production

# create admin user
# login....admin@local.host
# pass.....5iveL!fe
bundle exec rake db:seed_fu RAILS_ENV=production
```

47
Install gitolite (with repo umask 0007), edit `config/gitlab.yml` and start server
Nihad Abbasov's avatar
Nihad Abbasov committed
48
49

```bash
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
50
bundle exec rails s -e production
Nihad Abbasov's avatar
Nihad Abbasov committed
51
52
```

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
53
54
55

## Install Gitolite

Nihad Abbasov's avatar
Nihad Abbasov committed
56
57
58

```bash

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
59
60

# create git user
Nihad Abbasov's avatar
Nihad Abbasov committed
61
62
63
64
65
66
67
68
69
sudo adduser \
  --system \
  --shell /bin/sh \
  --gecos 'git version control' \
  --group \
  --disabled-password \
  --home /home/git \
  git

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
70
71
72
73
74
75

# Add your user to git group
usermod -a -G git gitlabhq_user_name 

```

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
76
77
78
79
80
81
### !!! IMPORTANT !!! Gitolite should have repository umask 0007 so users from git group has read/write access to repo

```bash

# copy your pub key to git home
cp ~/.ssh/id_rsa.pub /home/git/rails.pub
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
82

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# enter user git
sudo -i -u git 

# clone gitolite
git clone git://github.com/gitlabhq/gitolite

# install gitolite
gitolite/src/gl-system-install


# Setup (Dont forget to set umask as 0007!!)
gl-setup ~/rails.pub


```
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
98

99

Nihad Abbasov's avatar
Nihad Abbasov committed
100
101
102
## Install ruby 1.9.2

```bash
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
103
sudo aptitude install git-core openssh-server curl gcc checkinstall libxml2-dev libxslt-dev sqlite3 libsqlite3-dev libcurl4-openssl-dev libreadline5-dev libc6-dev libssl-dev libmysql++-dev make build-essential zlib1g-dev
Nihad Abbasov's avatar
Nihad Abbasov committed
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz

tar xfvz ruby-1.9.2-p290.tar.gz

cd ruby-1.9.2-p290
./configure
make
sudo checkinstall -D

sudo gem update --system

echo "gem: --no-rdoc --no-ri" > ~/.gemrc
```

## Community

[Google Group](https://groups.google.com/group/gitlabhq)

## Contribute

We develop project on our private server.
Want to help? Contact us on twitter or email to become a team member.