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 @@
  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 5 ### IMPORTANT
35 6  
... ... @@ -39,6 +10,7 @@ Only create a GitHub Issue if you want a specific part of this installation guid
39 10  
40 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 15 # Basic setup
44 16  
... ... @@ -103,12 +75,9 @@ Create user for GitLab:
103 75 # ubuntu/debian
104 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 80 sudo usermod -a -G git gitlab
109   -
110   -Add `git` user to `gitlab` group:
111   -
112 81 sudo usermod -a -G gitlab git
113 82  
114 83 Generate key:
... ... @@ -190,12 +159,19 @@ and ensure you have followed all of the above steps carefully.
190 159 cd gitlab
191 160  
192 161 # Rename config files
  162 + #
193 163 sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml
194 164  
195 165 # Copy mysql db config
  166 + #
196 167 # make sure to update username/password in config/database.yml
  168 + #
197 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 175 #### Install gems
200 176  
201 177 cd /home/gitlab/gitlab
... ... @@ -208,9 +184,6 @@ and ensure you have followed all of the above steps carefully.
208 184  
209 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 188 #### Setup GitLab hooks
216 189  
... ... @@ -275,7 +248,7 @@ GitLab autostart:
275 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 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 256 5iveL!fe
284 257  
285 258  
  259 +- - -
  260 +
286 261  
287 262 # Advanced setup tips:
288 263  
... ... @@ -318,76 +293,3 @@ a different host, you can configure its connection string in the
318 293  
319 294 **Ok - we have a working application now. **
320 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 @@
  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.
... ...