Windows xp下建立git伺服器及bug追蹤

來源:互聯網
上載者:User
文章目錄
  • 1.4.1  產生公開金鑰和私密金鑰
  • 1.4.2  配置公開金鑰
  • 1.4.3  嘗試串連sshd伺服器
  • 5.5.1  安裝mongrel
  • 5.5.2  下載mongrel bug補丁
  • 5.5.3  註冊mongrel服務
  • 5.5.4  mongrel和apache同時運行
1      SSH伺服器1.1    安裝open-ssh軟體包

在Ubuntu上建立SSH伺服器是非常簡單的,但是XP上就要費點勁了。首先,安裝Cygwin。好在網易提供了Cygwin的鏡像,所以這一步現在變得異常地簡單。

1.        從Cygwin的官方網站http://Cygwin.com上下載setup.exe

2.        安裝時選擇http://mirrors.163.com,下載速度特別地快

3.        選擇軟體包OpenSSH,安裝直到完畢

1.2    安裝sshd服務

1.        安裝完畢後,將Cygwin安裝資料夾裡的bin檔案夾“C:\Cygwin\bin”放Path環境變數中

2.        雙擊案頭上的Cygwin表徵圖開啟控制台,輸入 “ssh-host-config -y” 將sshd註冊為系統服務,並設定成為自動啟動

3.        手動控制ssh服務啟動(也可以重啟電腦)“net start sshd”(關閉為“net stop sshd”)

4.        配置防火牆,開啟ssh的連接埠,預設是22(tcp)

1.3    配置sshd伺服器

用UltraEdit或寫字板開啟設定檔C:\Cygwin\etc\sshd_config

1.        #PermitRootLogin yes => PermitRootLoginno                           #禁止root登入

2.        #PasswordAuthentication yes=> PasswordAuthenticationno       #僅使用密鑰登入

3.        #Protocol 2,1 => Protocol 2                                                     #只允許SSH2方式

1.4    為使用者添加公開金鑰1.4.1  產生公開金鑰和私密金鑰

1.        從http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html處,下載putty.zip

2.        解壓後運行puttygen.exe

3.        在最下面Parameters裡選擇SSH-2 RSA,Number of bits in a generated key填1024(預設就是這樣)

4.        點擊Generate,然後滑鼠隨機移動,直到產生完畢

5.        複製公開金鑰(最上面的框裡的,以ssh-rsa打頭)到文字檔中,並在儲存為authorized_keys檔案

6.        點擊Save private key儲存私密金鑰檔案

注意:千萬不要直接點Save public key來儲存公開金鑰,那樣會產生很多無用的字串,導致無法登入。

1.4.2  配置公開金鑰

1.        切換到使用者的主目錄:cd ~

2.        建立.ssh檔案夾:mkdir .ssh

3.        將剛才儲存的公開金鑰檔案authorized_keys拷貝到.ssh檔案夾中

4.        修改authorized_keys的屬性為600:chmod 600 authorized_keys

注意:.ssh檔案夾的屬性group和other也不能具有寫入權限,否則無法登入。

注意:每一個伺服器使用者可以有多個公開金鑰和私密金鑰對

1.4.3  嘗試串連sshd伺服器

運行putty.zip解壓出來的putty.exe

1.        Session裡Host name填寫安裝了sshd伺服器的ip

2.        Connection->Data裡的Auto-loginusername填你剛才配置的公開金鑰的使用者名稱

3.        Connection->SSH->Auth裡的Private Keyfile for authentication選擇剛才產生的私密金鑰檔案

4.        點擊Open,應該就能串連上了

2      安裝git2.1    伺服器端

1.        重新運行Cygwin的setup.exe,安裝git

2.        初始化一個bare的倉庫,比如:在/opt/git/test.git檔案夾中運行 git --bare init

3.        保證你設定的使用者名稱有許可權讀寫test.git

2.2    用戶端

1.        安裝msysgit和tortoisegit最新版(都按預設安裝)

2.        tortoisegit找一個空檔案夾,右鍵點擊clone

3.        url裡輸入<username>@<serverip/name>:/opt/git/test.git

4.        在下面選中Load Putty Key,選擇產生的私密金鑰檔案,然後點擊OK,無意外的話,應該是可以成功clone的

5.        添加一個檔案,看看能不能push,沒有意外,應該是可以的

3      通過http拷貝倉庫3.1    安裝apache

1.        重新運行Cygwin的setup.exe

2.        安裝apache httpd2

3.        添加使用者環境變數CYGWIN=server(不知道為什麼添加,不添加就不好使)

4.        重新開啟Cygwin命令列

5.        執行cygserver-config,註冊cygserver為windows系統服務

6.        手動啟動cygserver服務:net start cygserver

7.        運行apache伺服器:/usr/sbin/apachectl2 start

8.        開啟瀏覽器訪問http://localhost,It works!

3.2    配置git倉庫

1.        將倉庫中的hooks檔案夾中的pre-update.sample重新命名為pre-update

2.        添加執行屬性:chmod a+x hooks/pre-update

注意:這個配置使得每次push之後,都會補救伺服器的info,保證通過http,clone是正確的。

3.3    配置apache

1.        開啟/etc/apache2/http.conf檔案

2.        搜尋httpd-vhosts.conf,將#Include /etc/apache2/extra/httpd-vhosts.conf這一行前面的#去掉

3.        開啟/etc/apache2/extra/httpd-vhosts.conf檔案

4.        在結尾添加如下內容

<VirtualHost *:80>

         ServerAdmin<your email>

         ServerNamegit.gitserver

         DocumentRoot/opt/git

         <Directory/opt/git/>

                   Orderallow,deny

                   allowfrom all

         </Directory>

</VirtualHost>

5.        重新啟動apache伺服器

a)        /usr/sbin/apachectl2 stop

b)        /usr/sbin/apachectl2 start

3.4    用戶端clone方法

1.        配置DNS伺服器或直接修改用戶端的hosts檔案,將伺服器的ip指向git.gitserver

2.        在用戶端運行 git clone http://git.gitserver/test.git 不出意外的話應該就能匿名clone了

4      建立gitweb伺服器

即通過網頁訪問git倉庫。

4.1    下載git源碼

1.        重新運行Cygwin的setup.exe,

a)        安裝git的source file,安裝的源檔案在/usr/src中

b)        安裝gcc4和make

2.        解壓git源檔案,進入解壓的檔案夾

3.        make GITWEB_PROJECTROOT=”/opt/git”prefix=/usr gitweb/gitweb.cgi

4.        cp –Rf gitweb /srv/www/

注意:GITWEB_PROJECTROOT指定git倉庫集檔案夾

注意:/srv/www/是apache httpd2建立的檔案夾,也可以放其他檔案夾

4.2    配置apache

1.        開啟/etc/apache2/extra/httpd-vhosts.conf檔案

2.        在結尾添加如下內容

<VirtualHost *:80>

         ServerNameweb.gitserver

         DocumentRoot/srv/www/gitweb

         <Directory/srv/www/gitweb>

                   OptionsExecCGI +FollowSymLinks +SymLinksIfOwnerMatch

                   AllowOverrideAll

                   orderallow,deny

                   Allowfrom all

                   AddHandlercgi-script cgi

                   DirectoryIndexgitweb.cgi

         </Directory>

</VirtualHost>

3.        重新啟動apache伺服器

4.3    用戶端存取方法

1.        配置DNS或直接修改用戶端的hosts檔案,使得web.gitserver指向伺服器

2.        在瀏覽器中輸入http://web.gitserver

3.        不出意外,就可以直接存取git倉庫了

5      安裝redmine

註:安裝完後,我發現官網上提供了一個連結,做了一個windows下的安裝包,不知道好不好使。連結http://bitnami.org/stack/redmine如果好使的話,下面的就不用看了。

註:今天試了試bitnami,確實挺好使的,一鍵裝好apache,mysql,ruby/rails/rake,redmine,自動設定好!只要注意幾個問題:

  1. 安裝時一定要關閉殺毒軟體和安全軟體,比如360等
  2. 所有填的東西都不要有中文,比如人名,否則不能正確組建組態檔案
  3. 注意以前沒有安裝衝突的東西,比如imagemagick(如果最後都裝好了,但是就是不能啟動redmine,看看log檔案)
5.1    安裝ruby/rails/rack等

1.        在rubyforge中下載並安裝rubyinstaller-1.8.7-p357.exe(不要安裝新版,新版不好使)

2.        在開始菜單中,選擇Ruby 1.8.7-p357-> Start Command Prompt with Ruby

3.        gem install rails -v=2.3.11

4.        gem install rack -v=1.1.1

5.        gem install mysql

6.        下載官網安裝說明中libmysql.dll

http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll拷貝到ruby的bin檔案夾

7.        gem update --system 1.6.2 (否則後面的db:migrate會報錯)

5.2    下載redmine並解壓

1.        從官網連結下載redmine 1.3.0

http://rubyforge.org/frs/?group_id=1850

5.3    安裝並配置mysql

1.        下載mysql的win32版,並安裝(我安裝的是mysql-5.5.19-win32.msi),記得鉤選將mysql的執行檔案路徑加入到Path環境變數

2.        開啟cmd,執行mysql -u root -p,並輸入密碼,然後執行以下3個sql語句

a)        create database redminecharacter set utf8;

b)        create user'redmine'@'localhost' identified by 'my_password';

c)        grant all privileges onredmine.* to 'redmine'@'localhost';

5.4    配置redmine

1.        進入redmine解壓的檔案夾,重新命名config/database.yml.example為config/database.yml,並修改production下的內容為

production:

  adapter: mysql

  database: redmine

  host: localhost

  username: redmine

  password:my_password

2.        在redmine檔案夾執行

a)        rake generate_session_store

b)        set RAILS_ENV=production

c)        rake db:migrate

d)        rake redmine:load_default_data

3.        測試:

a)        ruby script/server webrick -eproduction

b)        在瀏覽器中訪問http://localhost:3000

c)        登入管理員登入:使用者名稱 admin 密碼 admin

5.5    mongrel

webrick伺服器只能用來做測試,發布時可以採用mongrel伺服器或apache伺服器,不過apache對應的module太難整了,mongrel比較好配置。

5.5.1  安裝mongrel

1.        安裝mongrel:gem install mongrel

2.        安裝mongrel_service:gem install mongrel_service

5.5.2  下載mongrel bug補丁

rails和mongrel版本有點不相容導致的問題。

1.        下載https://gist.github.com/raw/826692/cb0dcf784c30e6a6d00c631f350de99ab99e389d/mongrel.rb

2.        運行 rails --version 看看rails到底是什麼版本,我的居然是2.3.14,我明明安裝的是2.3.11……

3.        開啟mongrel.rb檔案,第一行if後面一看就知道是個數組,在最後加上你的rails的版本,比如[,’2.3.14’],儲存之

4.        將mongrel.rb檔案儲存到redmine檔案夾中的config\initializers\子檔案夾中

5.5.3  註冊mongrel服務

1.        註冊服務:mongrel_rails service::install -N redmine -c <redmine檔案夾路徑,如c:\redmine>-p 3000 -e production

2.        開啟控制台->管理工具->服務,找到redmine,設定為“自動”,使得redmine服務開機啟動

 

註:

1.        手動啟動服務:mongrel_rails service::start -N redmine

2.        手動停止服務:mongrel_rails service:: stop -N redmine

3.        刪除服務:mongrel_rails service::remove -N redmine

5.5.4  mongrel和apache同時運行

據說可以用apache的mod_proxy模組,將apache的某個folder映射到mongrel所在的連接埠,不過不太會整,放棄之。

用到的資源

為了方便大家,把安裝時用到的檔案上傳了,兩個包:

http://download.csdn.net/detail/windtailljj/3999049

http://download.csdn.net/detail/windtailljj/3999070

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.