Commit b2f57409931ddd9bf059e992bc255da93a8192b5
1 parent
4a535e17
Exists in
master
and in
4 other branches
Updated installation docs with better db origanisation
Showing
1 changed file
with
50 additions
and
48 deletions
Show diff stats
doc/installation.md
| ... | ... | @@ -70,14 +70,56 @@ Now install the required packages: |
| 70 | 70 | sudo apt-get update |
| 71 | 71 | sudo apt-get upgrade |
| 72 | 72 | |
| 73 | - sudo apt-get install -y wget curl gcc checkinstall libxml2-dev libxslt-dev sqlite3 libsqlite3-dev libcurl4-openssl-dev libreadline6-dev libc6-dev libssl-dev libmysql++-dev make build-essential zlib1g-dev libicu-dev redis-server openssh-server git-core python-dev python-pip libyaml-dev postfix | |
| 73 | + sudo apt-get install -y wget curl gcc checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libreadline6-dev libc6-dev libssl-dev libmysql++-dev make build-essential zlib1g-dev libicu-dev redis-server openssh-server git-core python-dev python-pip libyaml-dev postfix | |
| 74 | + | |
| 75 | + | |
| 76 | +# Database | |
| 77 | + | |
| 78 | +## SQLite | |
| 79 | + | |
| 80 | + sudo apt-get install -y sqlite3 libsqlite3-dev | |
| 81 | + | |
| 82 | +## MySQL | |
| 74 | 83 | |
| 75 | - # If you want to use MySQL: | |
| 76 | 84 | sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev |
| 77 | 85 | |
| 78 | - # If you want to use PostgreSQL: | |
| 86 | + # Login to MySQL | |
| 87 | + $ mysql -u root -p | |
| 88 | + | |
| 89 | + # Create the GitLab production database | |
| 90 | + mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; | |
| 91 | + | |
| 92 | + # Create the MySQL User change $password to a real password | |
| 93 | + mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; | |
| 94 | + | |
| 95 | + # Grant proper permissions to the MySQL User | |
| 96 | + mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; | |
| 97 | + | |
| 98 | + | |
| 99 | +## PostgreSQL | |
| 100 | + | |
| 79 | 101 | sudo apt-get install -y postgresql-9.2 postgresql-server-dev-9.2 |
| 80 | 102 | |
| 103 | + # Connect to database server | |
| 104 | + sudo -u postgres psql -d template1 | |
| 105 | + | |
| 106 | + # Add a user called gitlab. Change $password to a real password | |
| 107 | + template1=# CREATE USER gitlab WITH PASSWORD '$password'; | |
| 108 | + | |
| 109 | + # Create the GitLab production database | |
| 110 | + template1=# CREATE DATABASE IF NOT EXISTS gitlabhq_production; | |
| 111 | + | |
| 112 | + # Grant all privileges on database | |
| 113 | + template1=# GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production to gitlab; | |
| 114 | + | |
| 115 | + # Quit from PostgreSQL server | |
| 116 | + template1=# \q | |
| 117 | + | |
| 118 | + # Try connect to new database | |
| 119 | + $ su - gitlab | |
| 120 | + $ psql -d gitlabhq_production -U gitlab | |
| 121 | + | |
| 122 | + | |
| 81 | 123 | # 2. Install Ruby |
| 82 | 124 | |
| 83 | 125 | wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz |
| ... | ... | @@ -172,62 +214,22 @@ and ensure you have followed all of the above steps carefully. |
| 172 | 214 | # SQLite |
| 173 | 215 | sudo -u gitlab cp config/database.yml.sqlite config/database.yml |
| 174 | 216 | |
| 175 | - # Or | |
| 176 | 217 | # Mysql |
| 177 | - # Install MySQL as directed in Step #1 | |
| 178 | - | |
| 179 | - # Login to MySQL | |
| 180 | - $ mysql -u root -p | |
| 218 | + sudo -u gitlab cp config/database.yml.mysql config/database.yml | |
| 181 | 219 | |
| 182 | - # Create the GitLab production database | |
| 183 | - mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; | |
| 184 | - | |
| 185 | - # Create the MySQL User change $password to a real password | |
| 186 | - mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password'; | |
| 187 | - | |
| 188 | - # Grant proper permissions to the MySQL User | |
| 189 | - mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; | |
| 190 | - | |
| 191 | - # Exit MySQL Server and copy the example config, make sure to update username/password in config/database.yml | |
| 192 | - sudo -u gitlab cp config/database.yml.example config/database.yml | |
| 193 | - | |
| 194 | - # Or | |
| 195 | 220 | # PostgreSQL |
| 196 | - # Install PostgreSQL as directed in Step #1 | |
| 197 | - | |
| 198 | - # Connect to database server | |
| 199 | - sudo -u postgres psql -d template1 | |
| 200 | - | |
| 201 | - # Add a user called gitlab. Change $password to a real password | |
| 202 | - template1=# CREATE USER gitlab WITH PASSWORD '$password'; | |
| 203 | - | |
| 204 | - # Create the GitLab production database | |
| 205 | - template1=# CREATE DATABASE IF NOT EXISTS gitlabhq_production; | |
| 206 | - | |
| 207 | - # Grant all privileges on database | |
| 208 | - template1=# GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production to gitlab; | |
| 209 | - | |
| 210 | - # Quit from PostgreSQL server | |
| 211 | - template1=# \q | |
| 212 | - | |
| 213 | - # Try connect to new database | |
| 214 | - $ su - gitlab | |
| 215 | - $ psql -d gitlabhq_production -U gitlab | |
| 216 | - | |
| 217 | - # Exit PostgreSQL Server and copy the example config, make sure to update username/password in config/database.yml | |
| 218 | 221 | sudo -u gitlab cp config/database.yml.postgres config/database.yml |
| 219 | 222 | |
| 220 | - # If you need create development, test, staging or another database | |
| 221 | - # Repeate some steps with actual commands | |
| 223 | + # make sure to update username/password in config/database.yml | |
| 222 | 224 | |
| 223 | 225 | #### Install gems |
| 224 | 226 | |
| 225 | - # Please, check Gemfile before run bundle install | |
| 226 | - # Select database gem, wich you will use | |
| 227 | - # or run to setup gems with mysql usage | |
| 227 | + # mysql | |
| 228 | 228 | sudo -u gitlab -H bundle install --without development test sqlite postgres --deployment |
| 229 | + | |
| 229 | 230 | # or postgres |
| 230 | 231 | sudo -u gitlab -H bundle install --without development test sqlite mysql --deployment |
| 232 | + | |
| 231 | 233 | # or sqlite |
| 232 | 234 | sudo -u gitlab -H bundle install --without development test mysql postgres --deployment |
| 233 | 235 | ... | ... |