Commit fd86bf4ae9ccfaab6cf4dfba38de6c7e0b80ec9f
Committed by
Dmitriy Zaporozhets
1 parent
5ff6fadc
Exists in
master
and in
4 other branches
Decouple requirements and install
Showing
3 changed files
with
117 additions
and
112 deletions
Show diff stats
@@ -0,0 +1,75 @@ | @@ -0,0 +1,75 @@ | ||
1 | +# Databases: | ||
2 | + | ||
3 | +GitLab use mysql as default database but you are free to use PostgreSQL or SQLite. | ||
4 | + | ||
5 | + | ||
6 | +## SQLite | ||
7 | + | ||
8 | + sudo apt-get install -y sqlite3 libsqlite3-dev | ||
9 | + | ||
10 | +## MySQL | ||
11 | + | ||
12 | + sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev | ||
13 | + | ||
14 | + # Login to MySQL | ||
15 | + $ mysql -u root -p | ||
16 | + | ||
17 | + # Create the GitLab production database | ||
18 | + mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; | ||
19 | + | ||
20 | + # Create the MySQL User change $password to a real password | ||
21 | + mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; | ||
22 | + | ||
23 | + # Grant proper permissions to the MySQL User | ||
24 | + mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; | ||
25 | + | ||
26 | + | ||
27 | +## PostgreSQL | ||
28 | + | ||
29 | + sudo apt-get install -y postgresql-9.2 postgresql-server-dev-9.2 | ||
30 | + | ||
31 | + # Connect to database server | ||
32 | + sudo -u postgres psql -d template1 | ||
33 | + | ||
34 | + # Add a user called gitlab. Change $password to a real password | ||
35 | + template1=# CREATE USER gitlab WITH PASSWORD '$password'; | ||
36 | + | ||
37 | + # Create the GitLab production database | ||
38 | + template1=# CREATE DATABASE IF NOT EXISTS gitlabhq_production; | ||
39 | + | ||
40 | + # Grant all privileges on database | ||
41 | + template1=# GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production to gitlab; | ||
42 | + | ||
43 | + # Quit from PostgreSQL server | ||
44 | + template1=# \q | ||
45 | + | ||
46 | + # Try connect to new database | ||
47 | + $ su - gitlab | ||
48 | + $ psql -d gitlabhq_production -U gitlab | ||
49 | + | ||
50 | + | ||
51 | + | ||
52 | +#### Select the database you want to use | ||
53 | + | ||
54 | + # SQLite | ||
55 | + sudo -u gitlab cp config/database.yml.sqlite config/database.yml | ||
56 | + | ||
57 | + # Mysql | ||
58 | + sudo -u gitlab cp config/database.yml.mysql config/database.yml | ||
59 | + | ||
60 | + # PostgreSQL | ||
61 | + sudo -u gitlab cp config/database.yml.postgres config/database.yml | ||
62 | + | ||
63 | + # make sure to update username/password in config/database.yml | ||
64 | + | ||
65 | +#### Install gems | ||
66 | + | ||
67 | + # mysql | ||
68 | + sudo -u gitlab -H bundle install --without development test sqlite postgres --deployment | ||
69 | + | ||
70 | + # or postgres | ||
71 | + sudo -u gitlab -H bundle install --without development test sqlite mysql --deployment | ||
72 | + | ||
73 | + # or sqlite | ||
74 | + sudo -u gitlab -H bundle install --without development test mysql postgres --deployment | ||
75 | + |
doc/installation.md
1 | -## Platform requirements: | ||
2 | - | ||
3 | -**The project is designed for the Linux operating system.** | ||
4 | - | ||
5 | -It may work on FreeBSD and Mac OS, but we don't test our application for these systems and can't guarantee stability and full functionality. | ||
6 | - | ||
7 | -We officially support (recent versions of) these Linux distributions: | ||
8 | - | ||
9 | -- Ubuntu Linux | ||
10 | -- Debian/GNU Linux | ||
11 | - | ||
12 | -It should work on: | ||
13 | - | ||
14 | -- Fedora | ||
15 | -- CentOs | ||
16 | -- RedHat | ||
17 | - | ||
18 | -You might have some luck using these, but no guarantees: | ||
19 | - | ||
20 | - - MacOS X | ||
21 | - - FreeBSD | ||
22 | - | ||
23 | -GitLab does **not** run on Windows and we have no plans of making GitLab compatible. | ||
24 | - | ||
25 | - | ||
26 | -## Hardware: | ||
27 | - | ||
28 | -We recommend to use server with at least 1GB RAM for gitlab instance. | ||
29 | - | ||
30 | - | ||
31 | -## This installation guide created for Debian/Ubuntu and properly tested. | 1 | +_This installation guide created for Debian/Ubuntu and properly tested._ |
32 | 2 | ||
3 | +_Checkout requirements before setup_ | ||
33 | 4 | ||
34 | ### IMPORTANT | 5 | ### IMPORTANT |
35 | 6 | ||
@@ -39,6 +10,7 @@ Only create a GitHub Issue if you want a specific part of this installation guid | @@ -39,6 +10,7 @@ Only create a GitHub Issue if you want a specific part of this installation guid | ||
39 | 10 | ||
40 | Also read the [Read this before you submit an issue](https://github.com/gitlabhq/gitlabhq/wiki/Read-this-before-you-submit-an-issue) wiki page. | 11 | Also read the [Read this before you submit an issue](https://github.com/gitlabhq/gitlabhq/wiki/Read-this-before-you-submit-an-issue) wiki page. |
41 | 12 | ||
13 | +- - - | ||
42 | 14 | ||
43 | # Basic setup | 15 | # Basic setup |
44 | 16 | ||
@@ -103,12 +75,9 @@ Create user for GitLab: | @@ -103,12 +75,9 @@ Create user for GitLab: | ||
103 | # ubuntu/debian | 75 | # ubuntu/debian |
104 | sudo adduser --disabled-login --gecos 'gitlab system' gitlab | 76 | sudo adduser --disabled-login --gecos 'gitlab system' gitlab |
105 | 77 | ||
106 | -Add your user to the `git` group: | 78 | +Add your users to groups: |
107 | 79 | ||
108 | sudo usermod -a -G git gitlab | 80 | sudo usermod -a -G git gitlab |
109 | - | ||
110 | -Add `git` user to `gitlab` group: | ||
111 | - | ||
112 | sudo usermod -a -G gitlab git | 81 | sudo usermod -a -G gitlab git |
113 | 82 | ||
114 | Generate key: | 83 | Generate key: |
@@ -190,12 +159,19 @@ and ensure you have followed all of the above steps carefully. | @@ -190,12 +159,19 @@ and ensure you have followed all of the above steps carefully. | ||
190 | cd gitlab | 159 | cd gitlab |
191 | 160 | ||
192 | # Rename config files | 161 | # Rename config files |
162 | + # | ||
193 | sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml | 163 | sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml |
194 | 164 | ||
195 | # Copy mysql db config | 165 | # Copy mysql db config |
166 | + # | ||
196 | # make sure to update username/password in config/database.yml | 167 | # make sure to update username/password in config/database.yml |
168 | + # | ||
197 | sudo -u gitlab cp config/database.yml.mysql config/database.yml | 169 | sudo -u gitlab cp config/database.yml.mysql config/database.yml |
198 | 170 | ||
171 | + # Copy unicorn config | ||
172 | + # | ||
173 | + sudo -u gitlab cp config/unicorn.rb.example config/unicorn.rb | ||
174 | + | ||
199 | #### Install gems | 175 | #### Install gems |
200 | 176 | ||
201 | cd /home/gitlab/gitlab | 177 | cd /home/gitlab/gitlab |
@@ -208,9 +184,6 @@ and ensure you have followed all of the above steps carefully. | @@ -208,9 +184,6 @@ and ensure you have followed all of the above steps carefully. | ||
208 | 184 | ||
209 | sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production | 185 | sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production |
210 | 186 | ||
211 | -#### Copy unicorn config | ||
212 | - | ||
213 | - sudo -u gitlab cp config/unicorn.rb.example config/unicorn.rb | ||
214 | 187 | ||
215 | #### Setup GitLab hooks | 188 | #### Setup GitLab hooks |
216 | 189 | ||
@@ -275,7 +248,7 @@ GitLab autostart: | @@ -275,7 +248,7 @@ GitLab autostart: | ||
275 | sudo /etc/init.d/nginx restart | 248 | sudo /etc/init.d/nginx restart |
276 | 249 | ||
277 | 250 | ||
278 | -# Done! Visit **YOUR_SERVER_FQDN** for gitlab instance | 251 | +# Done! Visit YOUR_SERVER for gitlab instance |
279 | 252 | ||
280 | You can login via web using admin generated with setup: | 253 | You can login via web using admin generated with setup: |
281 | 254 | ||
@@ -283,6 +256,8 @@ You can login via web using admin generated with setup: | @@ -283,6 +256,8 @@ You can login via web using admin generated with setup: | ||
283 | 5iveL!fe | 256 | 5iveL!fe |
284 | 257 | ||
285 | 258 | ||
259 | +- - - | ||
260 | + | ||
286 | 261 | ||
287 | # Advanced setup tips: | 262 | # Advanced setup tips: |
288 | 263 | ||
@@ -318,76 +293,3 @@ a different host, you can configure its connection string in the | @@ -318,76 +293,3 @@ a different host, you can configure its connection string in the | ||
318 | 293 | ||
319 | **Ok - we have a working application now. ** | 294 | **Ok - we have a working application now. ** |
320 | **But keep going - there are some things that should be done ** | 295 | **But keep going - there are some things that should be done ** |
321 | - | ||
322 | - | ||
323 | -# Database | ||
324 | - | ||
325 | -## SQLite | ||
326 | - | ||
327 | - sudo apt-get install -y sqlite3 libsqlite3-dev | ||
328 | - | ||
329 | -## MySQL | ||
330 | - | ||
331 | - sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev | ||
332 | - | ||
333 | - # Login to MySQL | ||
334 | - $ mysql -u root -p | ||
335 | - | ||
336 | - # Create the GitLab production database | ||
337 | - mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; | ||
338 | - | ||
339 | - # Create the MySQL User change $password to a real password | ||
340 | - mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; | ||
341 | - | ||
342 | - # Grant proper permissions to the MySQL User | ||
343 | - mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; | ||
344 | - | ||
345 | - | ||
346 | -## PostgreSQL | ||
347 | - | ||
348 | - sudo apt-get install -y postgresql-9.2 postgresql-server-dev-9.2 | ||
349 | - | ||
350 | - # Connect to database server | ||
351 | - sudo -u postgres psql -d template1 | ||
352 | - | ||
353 | - # Add a user called gitlab. Change $password to a real password | ||
354 | - template1=# CREATE USER gitlab WITH PASSWORD '$password'; | ||
355 | - | ||
356 | - # Create the GitLab production database | ||
357 | - template1=# CREATE DATABASE IF NOT EXISTS gitlabhq_production; | ||
358 | - | ||
359 | - # Grant all privileges on database | ||
360 | - template1=# GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production to gitlab; | ||
361 | - | ||
362 | - # Quit from PostgreSQL server | ||
363 | - template1=# \q | ||
364 | - | ||
365 | - # Try connect to new database | ||
366 | - $ su - gitlab | ||
367 | - $ psql -d gitlabhq_production -U gitlab | ||
368 | - | ||
369 | - | ||
370 | - | ||
371 | -#### Select the database you want to use | ||
372 | - | ||
373 | - # SQLite | ||
374 | - sudo -u gitlab cp config/database.yml.sqlite config/database.yml | ||
375 | - | ||
376 | - # Mysql | ||
377 | - sudo -u gitlab cp config/database.yml.mysql config/database.yml | ||
378 | - | ||
379 | - # PostgreSQL | ||
380 | - sudo -u gitlab cp config/database.yml.postgres config/database.yml | ||
381 | - | ||
382 | - # make sure to update username/password in config/database.yml | ||
383 | - | ||
384 | -#### Install gems | ||
385 | - | ||
386 | - # mysql | ||
387 | - sudo -u gitlab -H bundle install --without development test sqlite postgres --deployment | ||
388 | - | ||
389 | - # or postgres | ||
390 | - sudo -u gitlab -H bundle install --without development test sqlite mysql --deployment | ||
391 | - | ||
392 | - # or sqlite | ||
393 | - sudo -u gitlab -H bundle install --without development test mysql postgres --deployment |
@@ -0,0 +1,28 @@ | @@ -0,0 +1,28 @@ | ||
1 | +## Platform requirements: | ||
2 | + | ||
3 | +**The project is designed for the Linux operating system.** | ||
4 | + | ||
5 | +It may work on FreeBSD and Mac OS, but we don't test our application for these systems and can't guarantee stability and full functionality. | ||
6 | + | ||
7 | +We officially support (recent versions of) these Linux distributions: | ||
8 | + | ||
9 | +- Ubuntu Linux | ||
10 | +- Debian/GNU Linux | ||
11 | + | ||
12 | +It should work on: | ||
13 | + | ||
14 | +- Fedora | ||
15 | +- CentOs | ||
16 | +- RedHat | ||
17 | + | ||
18 | +You might have some luck using these, but no guarantees: | ||
19 | + | ||
20 | + - MacOS X | ||
21 | + - FreeBSD | ||
22 | + | ||
23 | +GitLab does **not** run on Windows and we have no plans of making GitLab compatible. | ||
24 | + | ||
25 | + | ||
26 | +## Hardware: | ||
27 | + | ||
28 | +We recommend to use server with at least 1GB RAM for gitlab instance. |