一键安装GitLab7在RHEL6.4上
參考原文:http://www.linuxidc.com/Linux/2014-08/105137.htm
1 關(guān)于gitlab7
無(wú)論如何gitlab是個(gè)好東西,但是極難安裝和配置。bitnami(https://bitnami.com/)的一鍵安裝包雖然可以解決大問(wèn)題,但是仍有很多人無(wú)法配置gitlab+nginx和email發(fā)送等等問(wèn)題。今天特意完整地再梳理一次。對(duì)各位讀者的問(wèn)題不再逐一解答。
首先,bitmami的一些版本有問(wèn)題,無(wú)法成功在rhel6.4上成功安裝。因此,我找到了一個(gè)較新的可以使用的版本7.8.1(響應(yīng)式頁(yè)面):
ftp://pepstack.com/pub/tarball/bitnami-gitlab-7.8.1-0-linux-x64-installer.run
(我的ftp不會(huì)一直提供,請(qǐng)想要的盡快下載)
那么,最后安裝好的效果就是(點(diǎn)擊可訪問(wèn),第一次訪問(wèn)可能會(huì)比較慢,要求較新版本的firefox或chrome,IE未測(cè)試):
http://pepstack.com/gitlab
2 需求描述
好了,先把需求陳述一下,如果讀者的需求與我不同,我無(wú)能為力。假設(shè)我有一臺(tái)web主機(jī)(我這里是pepstack.com),我在主機(jī)后面創(chuàng)建虛擬機(jī)(vm-gitlab),在vm-gitlab上安裝gitlab7,然后通過(guò)配置web主機(jī)上的ngnix,可以通過(guò)下面的url訪問(wèn)到我的gitlab:
http://pepstack.com/gitlab
創(chuàng)建虛擬機(jī)vm-gitlab的過(guò)程不細(xì)說(shuō)了,如果你使用實(shí)體機(jī)也是一樣的。vm-gitlab安裝的是rhel6.4版本。確保在vm內(nèi)部可以訪問(wèn)外部主機(jī)和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
安裝過(guò)程中會(huì)提示:
----------------------------------------------------------------------------
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 [user@example.com]: cheungmine@qq.com
Login [user]: master (此處是你登錄gitlab用的用戶名)
Password : (輸入你登錄gitlab時(shí)要用的密碼)
Please confirm your password :? (輸入你登錄gitlab時(shí)要用的密碼)
----------------------------------------------------------------------------
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 []: cheungmine@qq.com
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
配置尤其要小心。下面幾個(gè)配置文件要用到:
/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
下面逐一說(shuō)明:
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 => "cheungmine@qq.com",
? ? :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: "cheungmine@qq.com",
? ? 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: cheungmine@qq.com
? ? support_email: cheungmine@qq.com
? ? # 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
......
上面文件改動(dòng)之處在于:
host: pepstack.com
relative_url_root: /gitlab
email_from: cheungmine@qq.com
support_email: cheungmine@qq.com
下面的配置是因?yàn)橐裧itlab置于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/
...
這樣我們?cè)L問(wèn)gitlab就是按照下面的地址:
http://pepstack.com/gitlab/
5 主機(jī)nginx配置
上面的配置都是在vm-gitlab上進(jìn)行的,注意打開(kāi)80:http端口。下面要給主機(jī)nginx增加配置,配置文件:
/etc/nginx/conf.d/redmine.conf
內(nèi)容如下(我同時(shí)還提供了redmine服務(wù)):
# 指向內(nèi)網(wǎng)redmine的web服務(wù)(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 啟動(dòng)服務(wù)
大功告成,在主機(jī)啟動(dòng)nginx:
$ sudo nginx -s reload
在vm-gitlab啟動(dòng)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 升級(jí)注意事項(xiàng) http://www.linuxidc.com/Linux/2013-06/86473.htm
在 CentOS 上部署 GitLab (自托管的Git項(xiàng)目倉(cāng)庫(kù)) 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教程及相關(guān)問(wèn)題解決 http://www.linuxidc.com/Linux/2014-05/101526.htm
GitLab 的詳細(xì)介紹:請(qǐng)點(diǎn)這里
GitLab 的下載地址:請(qǐng)點(diǎn)這里
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2015-11/124919.htm
總結(jié)
以上是生活随笔為你收集整理的一键安装GitLab7在RHEL6.4上的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: port常用和不常用端口一览表
- 下一篇: 基于多种服务的地理位置查询系统