匿名
尚未登入
登入
DILA Wiki
搜尋
檢視 Pro Git 4.5 公開存取 的原始碼
出自DILA Wiki
命名空間
頁面
討論
更多
更多
頁面操作
閱讀
檢視原始碼
歷史
←
Pro Git 4.5 公開存取
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
匿名的讀取許可權該怎麼實現呢?也許除了內部私有的專案之外,你還需要託管一些開源專案。抑或你使用一些自動化的伺服器來進行編譯,或者一些經常變化的伺服器群組,而又不想整天產生新的 SSH 金鑰——總之,你需要簡單的匿名讀取許可權。 或許對小型的配置來說最簡單的辦法就是運行一個靜態 web 服務,把它的根目錄設定為 Git 倉庫所在的位置,然後開啟本章第一節提到的 post-update 掛鉤(hook)。這裡繼續使用之前的例子。假設倉庫處於 /opt/git 目錄,主機上運行著 Apache 服務。重申一下,任何 web 服務程式都可以達到相同效果;作為範例,我們將用一些基本的 Apache 設定來展示大體需要的步驟。 首先,開啟掛鉤: <syntaxhighlight lang="XML"> $ cd project.git $ mv hooks/post-update.sample hooks/post-update $ chmod a+x hooks/post-update </syntaxhighlight> 假如使用的 Git 版本小於 1.6,那 mv 命令可以省略—— Git 是從較晚的版本才開始在掛鉤實例的結尾添加 .sample 尾碼名的。 post-update 掛鉤是做什麼的呢?其內容大致如下: <syntaxhighlight lang="XML"> $ cat .git/hooks/post-update #!/bin/sh exec git-update-server-info </syntaxhighlight> 意思是當通過 SSH 向伺服器推送時,Git 將執行這個命令來更新 HTTP 獲取所需的檔。 下一步,你需要在 Apache 設定檔中添加一個 VirtualHost 條目,把 DocumentRoot 參數設定為 Git 專案的根目錄。這裏我們假設你在 DNS 設定中使用萬用字元,以便將 *.gitserver 發送到任何你所在的主機來運行所有這些東西: <syntaxhighlight lang="XML"> <VirtualHost *:80> ServerName git.gitserver DocumentRoot /opt/git <Directory /opt/git/> Order allow, deny allow from all </Directory> </VirtualHost> </syntaxhighlight> 另外,需要把 /opt/git 目錄的 Unix 使用者組設定為 www-data ,這樣 web 服務才可以讀取倉庫內容,因為 Apache 運行 CGI 腳本的模組(預設)使用的是該用戶: <syntaxhighlight lang="XML"> $ chgrp -R www-data /opt/git </syntaxhighlight> 重啟 Apache 之後,就可以通過專案的 URL 來克隆該目錄下的倉庫了。 <syntaxhighlight lang="XML"> $ git clone http://git.gitserver/project.git </syntaxhighlight> 這一招可以讓你在幾分鐘內為相當數量的用戶架設好基於 HTTP 的讀取許可權。另一個提供非授權訪問的簡單方法是開啟一個 Git 守護進程,不過這將要求該進程(process)的常駐,我們將在下一節討論這部份,如果你傾向走這條路的話。
返回到「
Pro Git 4.5 公開存取
」。
導覽
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
wiki工具
wiki工具
特殊頁面
頁面工具
頁面工具
使用者頁面工具
更多
連結至此的頁面
相關變更
頁面資訊
頁面日誌