Commit 95ffe08674787b21172e38f9e1a4b47309c56418
1 parent
d1e31bfc
Exists in
master
and in
4 other branches
Update database setup instructions to be more consistent
Showing
2 changed files
with
31 additions
and
43 deletions
Show diff stats
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 |