Merge pull request #1369 from tsigo/installation_doc

Clean up doc/installation.md
This commit is contained in:
Dmitriy Zaporozhets 2012-09-04 03:03:24 -07:00
commit a48064c06e

View file

@ -20,7 +20,7 @@ You might have some luck using these, but no guarantees:
- MacOS X - MacOS X
- FreeBSD - FreeBSD
Gitlab does **not** run on Windows and we have no plans of making Gitlab compatible. GitLab does **not** run on Windows and we have no plans of making GitLab compatible.
## This installation guide created for Debian/Ubuntu and properly tested. ## This installation guide created for Debian/Ubuntu and properly tested.
@ -28,21 +28,21 @@ The installation consists of 6 steps:
1. Install packages / dependencies 1. Install packages / dependencies
2. Install ruby 2. Install ruby
3. Install gitolite 3. Install Gitolite
4. Install and configure Gitlab. 4. Install and configure GitLab.
5. Start the web front-end 5. Start the web front-end
6. Start a Resque worker (for background processing) 6. Start a Resque worker (for background processing)
### IMPORTANT ### IMPORTANT
Please make sure you have followed all the steps below before posting to the mailinglist with installation and configuration questions. Please make sure you have followed all the steps below before posting to the mailing list with installation and configuration questions.
Only create a Github Issue if you want a specific part of this installation guide updated. Only create a GitHub Issue if you want a specific part of this installation guide updated.
Also read the [Read this before you submit an issue](https://github.com/gitlabhq/gitlabhq/wiki/Read-this-before-you-submit-an-issue) wiki page. Also read the [Read this before you submit an issue](https://github.com/gitlabhq/gitlabhq/wiki/Read-this-before-you-submit-an-issue) wiki page.
> - - - > - - -
> First 3 steps can be easily skipped with simply install script: > The first 3 steps of this guide can be easily skipped by executing an install script:
> >
> # Install curl and sudo > # Install curl and sudo
> apt-get install curl sudo > apt-get install curl sudo
@ -50,9 +50,9 @@ Also read the [Read this before you submit an issue](https://github.com/gitlabhq
> # 3 steps in 1 command :) > # 3 steps in 1 command :)
> curl https://raw.github.com/gitlabhq/gitlabhq/master/doc/debian_ubuntu.sh | sh > curl https://raw.github.com/gitlabhq/gitlabhq/master/doc/debian_ubuntu.sh | sh
> >
> Now you can go to step 4" > Now you can go to [Step 4](#4-install-gitlab-and-configuration-check-status-configuration)
> >
> Or if you are installing on Amazon Web Services using Ubuntu 12.04 you can do all steps (1 to 6) at once with: > Or if you are installing on Amazon Web Services using Ubuntu 12.04 you can do all steps (1 to 6) at once with:
> >
> curl https://raw.github.com/gitlabhq/gitlabhq/master/lib/support/aws/debian_ubuntu_aws.sh | sh > curl https://raw.github.com/gitlabhq/gitlabhq/master/lib/support/aws/debian_ubuntu_aws.sh | sh
> >
@ -61,7 +61,11 @@ Also read the [Read this before you submit an issue](https://github.com/gitlabhq
# 1. Install packages # 1. Install packages
*Keep in mind that `sudo` is not installed for debian by default. You should install it with as root:* **apt-get update && apt-get upgrade && apt-get install sudo** *Keep in mind that `sudo` is not installed on Debian by default. You should install it as root:*
apt-get update && apt-get upgrade && apt-get install sudo
Now install the required packages:
sudo apt-get update sudo apt-get update
sudo apt-get upgrade sudo apt-get upgrade
@ -71,7 +75,7 @@ Also read the [Read this before you submit an issue](https://github.com/gitlabhq
# If you want to use MySQL: # If you want to use MySQL:
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
# 2. Install ruby # 2. Install Ruby
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
tar xzfv ruby-1.9.2-p290.tar.gz tar xzfv ruby-1.9.2-p290.tar.gz
@ -80,7 +84,7 @@ Also read the [Read this before you submit an issue](https://github.com/gitlabhq
make make
sudo make install sudo make install
# 3. Install gitolite # 3. Install Gitolite
Create user for git: Create user for git:
@ -93,12 +97,12 @@ Create user for git:
--home /home/git \ --home /home/git \
git git
Create user for gitlab: Create user for GitLab:
# ubuntu/debian # ubuntu/debian
sudo adduser --disabled-login --gecos 'gitlab system' gitlab sudo adduser --disabled-login --gecos 'gitlab system' gitlab
Add your user to git group: Add your user to the `git` group:
sudo usermod -a -G git gitlab sudo usermod -a -G git gitlab
@ -106,10 +110,10 @@ Generate key:
sudo -H -u gitlab ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa sudo -H -u gitlab ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa
Get gitolite source code: Clone GitLab's fork of the Gitolite source code:
cd /home/git cd /home/git
sudo -H -u git git clone git://github.com/gitlabhq/gitolite /home/git/gitolite sudo -H -u git git clone https://github.com/gitlabhq/gitolite.git /home/git/gitolite
Setup: Setup:
@ -135,23 +139,23 @@ Permissions:
# if succeed you can remove it # if succeed you can remove it
sudo rm -rf /tmp/gitolite-admin sudo rm -rf /tmp/gitolite-admin
**IMPORTANT! If you cant clone `gitolite-admin` repository - DONT PROCEED INSTALLATION** **IMPORTANT! If you can't clone `gitolite-admin` repository - DO NOT PROCEED WITH INSTALLATION**
Check the [Trouble Shooting Guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide)
and ensure you have followed all of the above steps carefully.
# 4. Install gitlab and configuration. Check status configuration. # 4. Clone GitLab source and install prerequisites
sudo gem install charlock_holmes --version '0.6.8' sudo gem install charlock_holmes --version '0.6.8'
sudo pip install pygments sudo pip install pygments
sudo gem install bundler sudo gem install bundler
cd /home/gitlab cd /home/gitlab
sudo -H -u gitlab git clone -b stable git://github.com/gitlabhq/gitlabhq.git gitlab sudo -H -u gitlab git clone -b stable https://github.com/gitlabhq/gitlabhq.git gitlab
cd gitlab cd gitlab
sudo -u gitlab mkdir tmp
# Rename config files # Rename config files
sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml
#### Select db you want to use #### Select the database you want to use
# SQLite # SQLite
sudo -u gitlab cp config/database.yml.sqlite config/database.yml sudo -u gitlab cp config/database.yml.sqlite config/database.yml
@ -179,15 +183,17 @@ Permissions:
sudo -u gitlab -H bundle install --without development test --deployment sudo -u gitlab -H bundle install --without development test --deployment
#### Setup DB #### Setup database
sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production
#### Setup gitlab hooks #### Setup GitLab hooks
sudo cp ./lib/hooks/post-receive /home/git/share/gitolite/hooks/common/post-receive sudo cp ./lib/hooks/post-receive /home/git/share/gitolite/hooks/common/post-receive
sudo chown git:git /home/git/share/gitolite/hooks/common/post-receive sudo chown git:git /home/git/share/gitolite/hooks/common/post-receive
#### Check application status
Checking status: Checking status:
sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production
@ -208,9 +214,9 @@ Checking status:
UMASK for .gitolite.rc is 0007? ............YES UMASK for .gitolite.rc is 0007? ............YES
/home/git/share/gitolite/hooks/common/post-receive exists? ............YES /home/git/share/gitolite/hooks/common/post-receive exists? ............YES
If you got all YES - congrats! You can go to next step. If you got all YES - congratulations! You can go to the next step.
# 5. Server up # 5. Start the web server
Application can be started with next command: Application can be started with next command:
@ -225,12 +231,12 @@ You can login via web using admin generated with setup:
admin@local.host admin@local.host
5iveL!fe 5iveL!fe
# 6. Run resque process (for processing queue). # 6. Run Resque process (for processing job queue).
# Manually # Manually
sudo -u gitlab bundle exec rake environment resque:work QUEUE=* RAILS_ENV=production BACKGROUND=yes sudo -u gitlab bundle exec rake environment resque:work QUEUE=* RAILS_ENV=production BACKGROUND=yes
# Gitlab start script # GitLab start script
sudo -u gitlab ./resque.sh sudo -u gitlab ./resque.sh
# if you run this as root /home/gitlab/gitlab/tmp/pids/resque_worker.pid will be owned by root # if you run this as root /home/gitlab/gitlab/tmp/pids/resque_worker.pid will be owned by root
# causing the resque worker not to start via init script on next boot/service restart # causing the resque worker not to start via init script on next boot/service restart
@ -250,7 +256,7 @@ You can login via web using admin generated with setup:
sudo -u gitlab cp config/unicorn.rb.orig config/unicorn.rb sudo -u gitlab cp config/unicorn.rb.orig config/unicorn.rb
sudo -u gitlab bundle exec unicorn_rails -c config/unicorn.rb -E production -D sudo -u gitlab bundle exec unicorn_rails -c config/unicorn.rb -E production -D
Add gitlab to nginx sites & change with your host specific settings Add GitLab to nginx sites & change with your host specific settings
sudo cp /home/gitlab/gitlab/lib/support/nginx-gitlab /etc/nginx/sites-available/gitlab sudo cp /home/gitlab/gitlab/lib/support/nginx-gitlab /etc/nginx/sites-available/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
@ -272,10 +278,10 @@ Adding permission:
sudo chmod +x /etc/init.d/gitlab sudo chmod +x /etc/init.d/gitlab
Gitlab autostart: GitLab autostart:
sudo update-rc.d gitlab defaults sudo update-rc.d gitlab defaults
Now you can start/restart/stop gitlab like: Now you can start/restart/stop GitLab like:
sudo /etc/init.d/gitlab restart sudo /etc/init.d/gitlab restart