Commit b2f57409931ddd9bf059e992bc255da93a8192b5

Authored by Dmitriy Zaporozhets
1 parent 4a535e17

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  
... ...