Commit fd86bf4ae9ccfaab6cf4dfba38de6c7e0b80ec9f

Authored by randx
Committed by Dmitriy Zaporozhets
1 parent 5ff6fadc

Decouple requirements and install

doc/databases.md 0 → 100644
@@ -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  
doc/requirements.md 0 → 100644
@@ -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.