ubuntu 中搭建gitlab方法

来源:互联网 发布:邪恶吧下载软件 编辑:程序博客网 时间:2024/04/30 08:52
1 首先需要使用root用户登录系统,更新与升级系统
# run as root
apt-get update
apt-get upgrade
apt-get install sudo
2 安装编辑器vim
sudo apt-get install -y vim
3. 安装gitlab 依赖的软件包
sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev
注意: 如果使用的是xshell或者securecrt 客户端连接ubuntu,需要设置终端编码为utf-8,字体设置为中文字体。
 
4. 安装python
sudo apt-get install python
 
# 确认python版本为2.5及其以上 (3.x 不支持)
python --version
 
# If it's Python 3 you might need to install Python 2 separately
sudo apt-get install python2.7
 
# Make sure you can access Python via python2
python2 --version
 
# If you get a "command not found" error create a link to the python binary
sudo ln -s /usr/bin/python /usr/bin/python2
5 . 编译安装ruby 
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz | tar xz
cd ruby-1.9.3-p327
./configure
make
sudo make install
Install the Bundler Gem:
sudo gem install bundler
如果在安装过程中遇到下面错误
It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.
需要安装libyaml
$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make
$ make install
重新编译安装ruby
$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
$ tar xzvf ruby-1.9.3-p0.tar.gz
$ cd ruby-1.9.3-p0
$ ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib
$ make
$ make install
 
或者是使用apt-get install libyaml-dev
 
6 创建用户
sudo adduser --disabled-login --gecos 'GitLab' git
 

7. GitLab shell

GitLab Shell is a ssh access and repository management software developed specially for GitLab.

# Login as git
sudo su git
 
# Go to home directory
cd /home/git
 
# Clone gitlab shell
git clone https://github.com/gitlabhq/gitlab-shell.git
 
cd gitlab-shell
 
# switch to right version for v5.0
git checkout v1.1.0
git checkout -b v1.1.0
 
cp config.yml.example config.yml
 
# Edit config and replace gitlab_url
# with something like 'http://domain.com/'
vim config.yml
 
# Do setup
./bin/install
8 安装Mysql数据库
 
# Install the database packages
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
 
# 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`;
 
# 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 git -H mysql -u gitlab -p -D gitlabhq_production
9.  gitlab 安装  
# We'll install GitLab into home directory of the user "git"
cd /home/git
# Clone GitLab repository
sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
 
# Go to gitlab dir
cd /home/git/gitlab
 
# Checkout to stable release
sudo -u git -H git checkout 5-0-stable
10 gitlab配置
cd /home/git/gitlab
 
# Copy the example GitLab config
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
 
# Make sure to change "localhost" to the fully-qualified domain name of your
# host serving GitLab where necessary
sudo -u git -H vim config/gitlab.yml
 
# Make sure GitLab can write to the log/ and tmp/ directories
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX  log/
sudo chmod -R u+rwX  tmp/
 
# Create directory for satellites
sudo -u git -H mkdir /home/git/gitlab-satellites
 
# Create directory for pids and make sure GitLab can write to it
sudo -u git -H mkdir tmp/pids/
sudo chmod -R u+rwX  tmp/pids/
 
# Copy the example Unicorn config
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
11 配置gitlab 数据库文件 
# Mysql
sudo -u git cp config/database.yml.mysql config/database.yml
注意 修改 config/database.yml.中的用户名与密码
12 安装gmes
 
cd /home/git/gitlab
 
sudo gem install charlock_holmes --version '0.6.9'
 
# For MySQL (note, the option says "without")
sudo -u git -H bundle install --deployment --without development test postgres
 

13 Initialise Database and Activate Advanced Features

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

14 Install Init Script

Download the init script (will be /etc/init.d/gitlab):

sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-0-stable/init.d/gitlab
sudo chmod +x /etc/init.d/gitlab

Make GitLab start on boot:

sudo update-rc.d gitlab defaults 21

15 Check Application Status

Check if GitLab and its environment are configured correctly:

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

To make sure you didn't miss anything run a more thorough check with:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

If all items are green, then congratulations on successfully installing GitLab! However there are still a few steps left.

16 Start Your GitLab Instance

sudo service gitlab start
# or
sudo /etc/init.d/gitlab restart
17 安装配置nginx 
sudo apt-get install nginx
sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-0-stable/nginx/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

Make sure to edit the config file to match your setup:

# Change **YOUR_SERVER_IP** and **YOUR_SERVER_FQDN**
# to the IP address and fully-qualified domain name
# of your host serving GitLab
sudo vim /etc/nginx/sites-available/gitlab
 
sudo service nginx restart

Visit YOUR_SERVER for your first GitLab login. The setup has created an admin account for you. You can use it to log in:

admin@local.host
5iveL!fe

Important Note: Please go over to your profile page and immediately chage the password, so nobody can access your GitLab by using this login information later on.


来源: <https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md>
 
 
 
 
原创粉丝点击