Commit 95ffe08674787b21172e38f9e1a4b47309c56418

Authored by Riyad Preukschas
1 parent d1e31bfc

Update database setup instructions to be more consistent

doc/install/databases.md
1 -# Databases: 1 +# Setup Database
2 2
3 -GitLab use MySQL as default database but you are free to use PostgreSQL. 3 +GitLab supports the following databases:
  4 +
  5 +* MySQL (preferred)
  6 +* PostgreSQL
4 7
5 8
6 ## MySQL 9 ## MySQL
7 10
  11 + # Install the database packages
8 sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev 12 sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
9 13
  14 + # Install only the necessary gems
  15 + sudo -u gitlab -H bundle install --deployment --without development test postgres
  16 +
10 # Login to MySQL 17 # Login to MySQL
11 $ mysql -u root -p 18 $ mysql -u root -p
12 19
  20 + # Create a user for GitLab. (change $password to a real password)
  21 + mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
  22 +
13 # Create the GitLab production database 23 # Create the GitLab production database
14 mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; 24 mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
15 25
16 - # Create the MySQL User change $password to a real password  
17 - mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';  
18 -  
19 - # Grant proper permissions to the MySQL User 26 + # Grant the GitLab user necessary permissopns on the table.
20 mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; 27 mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
21 28
  29 + # Quit the database session
  30 + mysql> \q
  31 +
  32 + # Try connecting to the new database with the new user
  33 + sudo -u gitlab -H mysql -u gitlab -p -D gitlabhq_production
22 34
23 ## PostgreSQL 35 ## PostgreSQL
24 36
  37 + # Install the database packages
25 sudo apt-get install -y postgresql-9.1 postgresql-server-dev-9.1 38 sudo apt-get install -y postgresql-9.1 postgresql-server-dev-9.1
26 39
27 - # Connect to database server 40 + # Install only the necessary gems
  41 + sudo -u gitlab -H bundle install --deployment --without development test mysql
  42 +
  43 + # Login to PostgreSQL
28 sudo -u postgres psql -d template1 44 sudo -u postgres psql -d template1
29 45
30 - # Add a user called gitlab. Change $password to a real password 46 + # Create a user for GitLab. (change $password to a real password)
31 template1=# CREATE USER gitlab WITH PASSWORD '$password'; 47 template1=# CREATE USER gitlab WITH PASSWORD '$password';
32 48
33 # Create the GitLab production database & grant all privileges on database 49 # Create the GitLab production database & grant all privileges on database
34 template1=# CREATE DATABASE gitlabhq_production OWNER gitlab; 50 template1=# CREATE DATABASE gitlabhq_production OWNER gitlab;
35 51
36 - # Quit from PostgreSQL server 52 + # Quit the database session
37 template1=# \q 53 template1=# \q
38 54
39 - # Try connect to new database  
40 - sudo -u gitlab psql -d gitlabhq_production 55 + # Try connecting to the new database with the new user
  56 + sudo -u gitlab -H psql -d gitlabhq_production
41 57
42 58
43 59
44 -#### Select the database you want to use 60 +# Configure GitLab
45 61
46 # Mysql 62 # Mysql
47 sudo -u gitlab cp config/database.yml.mysql config/database.yml 63 sudo -u gitlab cp config/database.yml.mysql config/database.yml
@@ -49,12 +65,4 @@ GitLab use MySQL as default database but you are free to use PostgreSQL. @@ -49,12 +65,4 @@ GitLab use MySQL as default database but you are free to use PostgreSQL.
49 # PostgreSQL 65 # PostgreSQL
50 sudo -u gitlab cp config/database.yml.postgresql config/database.yml 66 sudo -u gitlab cp config/database.yml.postgresql config/database.yml
51 67
52 - # make sure to update username/password in config/database.yml  
53 -  
54 -#### Install gems  
55 -  
56 - # mysql  
57 - sudo -u gitlab -H bundle install --without development test postgres --deployment  
58 -  
59 - # or postgres  
60 - sudo -u gitlab -H bundle install --without development test mysql --deployment 68 +Make sure to update username/password in config/database.yml.
doc/install/installation.md
@@ -122,21 +122,9 @@ Check the [Trouble Shooting Guide](https://github.com/gitlabhq/gitlab-public-wik @@ -122,21 +122,9 @@ Check the [Trouble Shooting Guide](https://github.com/gitlabhq/gitlab-public-wik
122 and ensure you have followed all of the above steps carefully. 122 and ensure you have followed all of the above steps carefully.
123 123
124 124
125 -# 5. Mysql database 125 +# 5. Database
126 126
127 - sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev  
128 -  
129 - # Login to MySQL  
130 - $ mysql -u root -p  
131 -  
132 - # Create the GitLab production database  
133 - mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;  
134 -  
135 - # Create the MySQL User change $password to a real password  
136 - mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';  
137 -  
138 - # Grant proper permissions to the MySQL User  
139 - mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; 127 +See doc/install/databases.md
140 128
141 129
142 # 6. GitLab 130 # 6. GitLab
@@ -162,12 +150,6 @@ and ensure you have followed all of the above steps carefully. @@ -162,12 +150,6 @@ and ensure you have followed all of the above steps carefully.
162 # 150 #
163 sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml 151 sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml
164 152
165 - # Copy mysql db config  
166 - #  
167 - # make sure to update username/password in config/database.yml  
168 - #  
169 - sudo -u gitlab cp config/database.yml.mysql config/database.yml  
170 -  
171 # Copy unicorn config 153 # Copy unicorn config
172 # 154 #
173 sudo -u gitlab cp config/unicorn.rb.example config/unicorn.rb 155 sudo -u gitlab cp config/unicorn.rb.example config/unicorn.rb
@@ -269,8 +251,6 @@ You can login via web using admin generated with setup: @@ -269,8 +251,6 @@ You can login via web using admin generated with setup:
269 251
270 # Advanced setup tips: 252 # Advanced setup tips:
271 253
272 -_Checkout databases.md for PostgreSQL_  
273 -  
274 ## Customizing Resque's Redis connection 254 ## Customizing Resque's Redis connection
275 255
276 If you'd like Resque to connect to a Redis server on a non-standard port or on 256 If you'd like Resque to connect to a Redis server on a non-standard port or on