歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 一鍵安裝GitLab7在RHEL6.4上

一鍵安裝GitLab7在RHEL6.4上

日期:2017/2/28 13:56:41   编辑:Linux教程

參考原文:http://www.linuxidc.com/Linux/2014-08/105137.htm

1 關於gitlab7

無論如何gitlab是個好東西,但是極難安裝和配置。bitnami(https://bitnami.com/)的一鍵安裝包雖然可以解決大問題,但是仍有很多人無法配置gitlab+nginx和email發送等等問題。今天特意完整地再梳理一次。對各位讀者的問題不再逐一解答。

首先,bitmami的一些版本有問題,無法成功在rhel6.4上成功安裝。因此,我找到了一個較新的可以使用的版本7.8.1(響應式頁面):

ftp://pepstack.com/pub/tarball/bitnami-gitlab-7.8.1-0-linux-x64-installer.run

(我的ftp不會一直提供,請想要的盡快下載)

那麼,最後安裝好的效果就是(點擊可訪問,第一次訪問可能會比較慢,要求較新版本的firefox或chrome,IE未測試):

http://pepstack.com/gitlab

2 需求描述

好了,先把需求陳述一下,如果讀者的需求與我不同,我無能為力。假設我有一台web主機(我這裡是pepstack.com),我在主機後面創建虛擬機(vm-gitlab),在vm-gitlab上安裝gitlab7,然後通過配置web主機上的ngnix,可以通過下面的url訪問到我的gitlab:

http://pepstack.com/gitlab

創建虛擬機vm-gitlab的過程不細說了,如果你使用實體機也是一樣的。vm-gitlab安裝的是rhel6.4版本。確保在vm內部可以訪問外部主機和internet(如ping www.baidu.com)。

3 安裝gitlab

ssh 到vm-gitlab:

# ssh root@vm-gitlab

下載一鍵式安裝包:

# wget ftp://pepstack.com/pub/tarball/bitnami-gitlab-7.8.1-0-linux-x64-installer.run

安裝:

# chmod a+x bitnami-gitlab-7.8.1-0-linux-x64-installer.run

# ./bitnami-gitlab-7.8.1-0-linux-x64-installer.run

安裝過程中會提示:

----------------------------------------------------------------------------
Welcome to the Bitnami Gitlab Stack Setup Wizard.

----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.

GitLab : Y (Cannot be edited)

GitLab CI [Y/n] :Y

Is the selection above correct? [Y/n]: Y

----------------------------------------------------------------------------
Installation folder

Please, choose a folder to install Bitnami Gitlab Stack

Select a folder [/opt/gitlab-7.8.1-0]:

----------------------------------------------------------------------------
Create Admin account

Bitnami Gitlab Stack admin user creation

Email Address [[email protected]]: [email protected]

Login [user]: master (此處是你登錄gitlab用的用戶名)

Password : (輸入你登錄gitlab時要用的密碼)
Please confirm your password : (輸入你登錄gitlab時要用的密碼)
----------------------------------------------------------------------------
Hostname that will be used to create internal URLs. If this value is incorrect,
you may be unable to access your Gitlab installation from other computers. It is
advisable to use a Domain instead of an IP address for compatibility with
different browsers.

Domain [127.0.0.1]:

Do you want to configure mail support? [y/N]: Y

----------------------------------------------------------------------------
Configure SMTP Settings

This is required so your application can send notifications via email.

Default email provider:

[1] GMail
[2] Custom
Please choose an option [1] : 2

----------------------------------------------------------------------------
Configure SMTP Settings

This data is stored in the application configuration files and may be visible to
others. For this reason, it is recommended that you do not use your personal
account credentials.

Username []: [email protected]

Password : (輸入你的QQ密碼)
Re-enter : (輸入你的QQ密碼)
SMTP Host []: smtp.qq.com

SMTP Port []: 25

Secure connection

[1] None
[2] SSL
[3] TLS
Please choose an option [3] :

----------------------------------------------------------------------------
Setup is now ready to begin installing Bitnami Gitlab Stack on your computer.

Do you want to continue? [Y/n]: Y

----------------------------------------------------------------------------
Please wait while Setup installs Bitnami Gitlab Stack on your computer.

Installing
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
Setup has finished installing Bitnami Gitlab Stack on your computer.

Info: To access the Bitnami Gitlab Stack, go to
http://127.0.0.1:80 from your browser.
Press [Enter] to continue:

4 配置gitlab
配置尤其要小心。下面幾個配置文件要用到:

/opt/gitlab-7.8.1-0/apps/gitlab/htdocs/config/environments/production.rb
/opt/gitlab-7.8.1-0/apps/gitlab/htdocs/config/initializers/smtp_settings.rb
/opt/gitlab-7.8.1-0/apps/gitlab/htdocs/config/gitlab.yml
/opt/gitlab-7.8.1-0/apps/gitlab/conf/httpd-app.conf
/opt/gitlab-7.8.1-0/apps/gitlab/gitlab-shell/config.yml

下面逐一說明:

4.1 production.rb

......
# config.action_mailer.delivery_method = :sendmail
# Defaults to:
# # config.action_mailer.sendmail_settings = {
# # location: '/usr/sbin/sendmail',
# # arguments: '-i -t'
# # }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.qq.com",
:port => "25",
:domain => "qq.com",
:authentication => :plain,
:user_name => "[email protected]",
:password => "********",
:enable_starttls_auto => true
}

config.eager_load = true
config.assets.js_compressor = :uglifier

config.allow_concurrency = false
......

4.2 smtp_settings.rb
# cp smtp_settings.rb.sample smtp_settings.rb

# To enable smtp email delivery for your GitLab instance do the following:
# 1. Rename smtp_settings.rb.sample to smtp_settings.rb
# 2. Edit settings inside this file
# 3. Restart GitLab instance
#
if Rails.env.production?
Gitlab::Application.config.action_mailer.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
address: "smtp.qq.com",
port: 25,
user_name: "[email protected]",
password: "********",
domain: "qq.com",
authentication: :login,
enable_starttls_auto: true,
openssl_verify_mode: 'none'
}
end

4.3 gitlab.yml

# # # # # # # # # # # # # # # # # #
# GitLab application config file #
# # # # # # # # # # # # # # # # # #
#
# How to use:
# 1. Copy file as gitlab.yml
# 2. Update gitlab -> host with your fully qualified domain name
# 3. Update gitlab -> email_from
# 4. If you installed Git from source, change git -> bin_path to /usr/local/bin/git
# 5. Review this configuration file for other settings you may want to adjust

production: &base
#
# 1. GitLab app settings
# ==========================

## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: pepstack.com
port: 80 # Set to 443 if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
https: false # Set to true if using HTTPS, see installation.md#using-https for additional HTTPS configuration details

# Uncommment this line below if your ssh host is different from HTTP/HTTPS one
# (you'd obviously need to replace ssh.host_example.com with your own host).
# Otherwise, ssh host will be set to the `host:` value above
# ssh_host: ssh.host_example.com

# WARNING: See config/application.rb under "Relative url support" for the list of
# other files that need to be changed for relative url support
relative_url_root: /gitlab

# Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
# user: git

## Date & Time settings
# Uncomment and customize if you want to change the default time zone of GitLab application.
# To see all available zones, run `bundle exec rake time:zones:all RAILS_ENV=production`
# time_zone: 'UTC'

## Email settings
# Uncomment and set to false if you need to disable email sending from GitLab (default: true)
# email_enabled: true
# Email address used in the "From" field in mails sent by GitLab
email_from: [email protected]
support_email: [email protected]

# Email server smtp settings are in config/initializers/smtp_settings.rb.sample

# default_can_create_group: false # default: true
# username_changing_enabled: false # default: true - User can change her username/namespace
## Default theme
## BASIC = 1
## MARS = 2
## MODERN = 3
## GRAY = 4
## COLOR = 5
# default_theme: 2 # default: 2
......

上面文件改動之處在於:

host: pepstack.com
relative_url_root: /gitlab
email_from: [email protected]
support_email: [email protected]

下面的配置是因為要把gitlab置於nginx後面使用:

4.4 httpd-app.conf

<Directory "/opt/gitlab-7.8.1-0/apps/gitlab/htdocs/public">
Options -MultiViews
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>

SetEnv RAILS_RELATIVE_URL_ROOT "/gitlab"

PassengerEnabled on
PassengerAppRoot "/opt/gitlab-7.8.1-0/apps/gitlab/htdocs/"
<IfModule pagespeed_module>
ModPagespeedDisallow "*"
</IfModule>
PassengerUser git
PassengerGroup git
SetEnv MAGIC "/opt/gitlab-7.8.1-0/ruby/lib/ruby/gems/2.0.0/gems/charlock_holmes-0.6.9.4/ext/charlock_holmes/src/file-5.08/magic/magic.mgc"
SetEnv PATH "/opt/gitlab-7.8.1-0/python/bin:${PATH}"


</Directory>
PassengerPreStart http://127.0.0.1:80/gitlab

不同之處在於:

SetEnv RAILS_RELATIVE_URL_ROOT "/gitlab"
PassengerPreStart http://127.0.0.1:80/gitlab

4.5 config.yml

...
gitlab_url: http://pepstack.com:80/gitlab/
...

這樣我們訪問gitlab就是按照下面的地址:

http://pepstack.com/gitlab/

5 主機nginx配置

上面的配置都是在vm-gitlab上進行的,注意打開80:http端口。下面要給主機nginx增加配置,配置文件:

/etc/nginx/conf.d/redmine.conf

內容如下(我同時還提供了redmine服務):

# 指向內網redmine的web服務(192.168.122.21:80)
#
upstream redmine {
server 192.168.122.21:80;
}

upstream gitlab {
server 192.168.122.20:80;
}

server {
server_name pepstack.com;

# /var/log/nginx 本地目錄必須存在
access_log /var/log/nginx/redmine_access.log;
error_log /var/log/nginx/redmine_error.log;

location /redmine {
try_files $uri @red; # @red 名字是任意的
}

location /gitlab {
try_files $uri @git;
}

location @red {
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;

proxy_pass http://redmine; # 指向 upstream redmine
}

location @git {
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;

proxy_pass http://gitlab; # 指向 upstream gitlab
}
}

即注釋掉:include /etc/nginx/sites-enabled/*;

6 啟動服務

大功告成,在主機啟動nginx:

$ sudo nginx -s reload

在vm-gitlab啟動gitlab:

# cd /opt/gitlab-7.8.1-0/

# ./ctlscript.sh restart

CentOS源碼安裝GitLab漢化版 http://www.linuxidc.com/Linux/2015-10/124648.htm

在 Ubuntu 12.04 上安裝 GitLab http://www.linuxidc.com/Linux/2012-12/75249.htm

GitLab 5.3 升級注意事項 http://www.linuxidc.com/Linux/2013-06/86473.htm

在 CentOS 上部署 GitLab (自托管的Git項目倉庫) http://www.linuxidc.com/Linux/2013-06/85754.htm

在RHEL6/CentOS6/ScientificLinux6上安裝GitLab 6.0.2 http://www.linuxidc.com/Linux/2014-03/97831.htm

CentOS 6.5安裝GitLab教程及相關問題解決 http://www.linuxidc.com/Linux/2014-05/101526.htm

GitLab 的詳細介紹:請點這裡
GitLab 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved