日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Gitorious安装与配置

發(fā)布時間:2025/3/21 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gitorious安装与配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大家都知道Github,但知道Gitorious相對要少,Gitorious同樣是一個基于Git的項目托管平臺,功能上和Github基本一致,地址是http://www.gitorious.org。

它使用Ruby on Rails開發(fā),而且是開源的,適合在團(tuán)隊內(nèi)部搭建項目托管平臺。

Gitorious安裝與配置相對繁瑣,會碰到各種問題,折騰了一段時間,深有體會,

所以整理了安裝配置步驟和常見問題,一來是做個總結(jié),好記性不如爛筆頭,二來是希望給同樣處于困惑中的朋友帶來些許幫助。

下面以Redhat為例,進(jìn)行說明,我也嘗試過Ubuntu下的配置,基本上差不多。

提前展示一下我的目錄結(jié)構(gòu),便于后續(xù)說明。

/home/git

? ? ? ? ? ?| -- .ssh

? ? ? ? ? ?\ -- gitorious

? ? ? ? ? ? ? ? ? ? ?| -- data

? ? ? ? ? ? ? ? ? ? ?| ? ? ? ?| -- repositories

? ? ? ? ? ? ? ? ? ? ?| ? ? ? ?| -- tarballs

? ? ? ? ? ? ? ? ? ? ?| ? ? ? ?\ -- tarballs-work

? ? ? ? ? ? ? ? ? ? ?\ -- source

注:以上均是目錄。

安裝必要的package,yum -y install git httpd httpd-devel mod_xsendfile mysql mysql-devel mysql-server memcached sphinx ImageMagick aspell apg expect

建立一個新的系統(tǒng)用戶"git",/home/git下手動創(chuàng)建.ssh和gitorious及其子目錄如上圖所示。

在.ssh下新建文件authorized_keys和sshd_config,文件訪問權(quán)限設(shè)置是600。

編輯sshd_config,echo "AllowGroups git" > sshd_config,目的是讓其他主機(jī)可以通過git系統(tǒng)賬戶ssh到本機(jī)。

安裝Ruby和RubyGems,需要注意的是RubyGems版本是1.4.2,命令是gem install update -v 1.4.2 && update_rubygems

安裝bundler和passenger,后面會用到,gem install --no-ri --no-rdoc bundler passenger

passenger包安裝完成后,根據(jù)你的web服務(wù)器生成對應(yīng)的模塊,比如apache,執(zhí)行命令passenger-install-apache2-module

使用git檢出Gitorious項目至/home/gitorious/source目錄下,git clone??git://gitorious.org/gitorious/mainline.git /home/gitorious/source

在source/tmp目錄下建立pids目錄,后面會用到;source/script/gitirious拷貝至/usr/local/bin

在source目錄下執(zhí)行bundle install,根據(jù)Gemfile安裝此Rails項目所需的package。

*******重要,執(zhí)行命令:chown -R git:git /home/git,將git目錄(包括子目錄及文件)的所有者移交給git系統(tǒng)賬戶

?apache配置,修改配置文件/etc/httpd/conf/httpd.conf,附加下列幾行,相關(guān)路徑根據(jù)你的系統(tǒng)環(huán)境修改即可。

########## gitorious server config ##########
LoadModule passenger_module /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.19
PassengerRuby /usr/bin/ruby
XSendFile on
XSendFilePath /home/git/gitorious/data/tarballs

Listen 8000

<VirtualHost *:8000>
? ? ServerName your.host.domain
? ? DocumentRoot /home/git/gitorious/source/public
? ? <Directory /home/git/gitorious/source/public>
? ? ? ? # This relaxes Apache security settings.
? ? ? ? AllowOverride all
? ? ? ? # MultiViews must be turned off.
? ? ? ? Options -MultiViews
? ? </Directory>
</VirtualHost>

在source/config目錄下,利用模板配置文件創(chuàng)建3個配置文件 broker.yml ?database.yml ?gitorious.yml

broker.yml不需要編輯,database.yml注意數(shù)據(jù)庫的類型、用戶名、密碼,

gitorious.yml需要配置gitorious_host、gitorious_client_port、repository_base_path、repository_base_path、archive_work_dir、

use_ssl: false、is_gitorious_dot_org: false

執(zhí)行apg -m 64命令,使用其中任意一行,替換cookie_secret: ssssht中的ssssht

創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,

理論上在source目錄下執(zhí)行bundle exec rake db:create RAILS_ENV=production命令能夠創(chuàng)建數(shù)據(jù)庫,但是我沒有成功,所以手動建庫gitorious_production

然后創(chuàng)建表,執(zhí)行命令bundle exec rake db:setup RAILS_ENV=production

?

修改source/doc/templates/centos目錄下服務(wù)腳本 git-daemon git-poller stomp

需要注意配置正確上述腳本的變量?RUBY_HOME、GITORIOUS_HOME、GEMS_HOME?

將上述腳本拷貝至/etc/init.d/目錄下

啟動服務(wù)

service stomp start
service git-daemon start
service git-poller start
service memcached start
service mysqld start
service httpd start

?

?

可能遇到的問題:

1. 使用瀏覽器訪問Gitorious服務(wù)報#13權(quán)限錯誤

確保/home/git目錄有可執(zhí)行權(quán)限,因為要執(zhí)行Ruby腳本

2. login失敗

提供gitorious服務(wù)的主機(jī)名只有IP,沒有域名,在配置中使用的主機(jī)名均是IP,導(dǎo)致client訪問時無法創(chuàng)建session cookie,

需要修改源碼,config/initializers/session_store.rb

注釋掉此行 :domain => domain,?

3. 利用ssh協(xié)議git clone失敗

確保 /home/git/.ssh目錄下的文件的訪問權(quán)限是600

?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/caosiyang/archive/2013/04/13/3017636.html

總結(jié)

以上是生活随笔為你收集整理的Gitorious安装与配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。