diff --git a/doc/install/databases.md b/doc/install/databases.md index 1a6f739e..1e714d79 100644 --- a/doc/install/databases.md +++ b/doc/install/databases.md @@ -1,47 +1,63 @@ -# Databases: +# Setup Database -GitLab use MySQL as default database but you are free to use PostgreSQL. +GitLab supports the following databases: + +* MySQL (preferred) +* PostgreSQL ## MySQL + # Install the database packages sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev + # Install only the necessary gems + sudo -u gitlab -H bundle install --deployment --without development test postgres + # Login to MySQL $ mysql -u root -p + # Create a user for GitLab. (change $password to a real password) + mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; + # Create the GitLab production database mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; - # Create the MySQL User change $password to a real password - mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; - - # Grant proper permissions to the MySQL User + # Grant the GitLab user necessary permissopns on the table. mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; + # Quit the database session + mysql> \q + + # Try connecting to the new database with the new user + sudo -u gitlab -H mysql -u gitlab -p -D gitlabhq_production ## PostgreSQL + # Install the database packages sudo apt-get install -y postgresql-9.1 postgresql-server-dev-9.1 - # Connect to database server + # Install only the necessary gems + sudo -u gitlab -H bundle install --deployment --without development test mysql + + # Login to PostgreSQL sudo -u postgres psql -d template1 - # Add a user called gitlab. Change $password to a real password + # Create a user for GitLab. (change $password to a real password) template1=# CREATE USER gitlab WITH PASSWORD '$password'; # Create the GitLab production database & grant all privileges on database template1=# CREATE DATABASE gitlabhq_production OWNER gitlab; - # Quit from PostgreSQL server + # Quit the database session template1=# \q - # Try connect to new database - sudo -u gitlab psql -d gitlabhq_production + # Try connecting to the new database with the new user + sudo -u gitlab -H psql -d gitlabhq_production -#### Select the database you want to use +# Configure GitLab # Mysql 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. # PostgreSQL sudo -u gitlab cp config/database.yml.postgresql config/database.yml - # make sure to update username/password in config/database.yml - -#### Install gems - - # mysql - sudo -u gitlab -H bundle install --without development test postgres --deployment - - # or postgres - sudo -u gitlab -H bundle install --without development test mysql --deployment +Make sure to update username/password in config/database.yml. diff --git a/doc/install/installation.md b/doc/install/installation.md index 6876a875..2702aa89 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -122,21 +122,9 @@ Check the [Trouble Shooting Guide](https://github.com/gitlabhq/gitlab-public-wik and ensure you have followed all of the above steps carefully. -# 5. Mysql database +# 5. Database - sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev - - # Login to MySQL - $ mysql -u root -p - - # Create the GitLab production database - mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; - - # Create the MySQL User change $password to a real password - mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; - - # Grant proper permissions to the MySQL User - mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; +See doc/install/databases.md # 6. GitLab @@ -162,12 +150,6 @@ and ensure you have followed all of the above steps carefully. # sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml - # Copy mysql db config - # - # make sure to update username/password in config/database.yml - # - sudo -u gitlab cp config/database.yml.mysql config/database.yml - # Copy unicorn config # 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: # Advanced setup tips: -_Checkout databases.md for PostgreSQL_ - ## Customizing Resque's Redis connection If you'd like Resque to connect to a Redis server on a non-standard port or on