我在架設好 gitweb 之後,發現就算設定網站只有公司內部 ip 可以連線,但還是太過公開,但是又不想花心力去做帳密系統管理,請教朋友後他建議利用 htpasswd 就能輕鬆達成我的需求。

htpasswd 是 apache 套件附上的一個功能,可以做出基本的使用者認證。
htpasswd 的詳細指令可以參考這篇文章: htpasswd - 管理用於基本認證的用戶文件

 

產生帳密檔案:

cd /home/git/gitweb
htpasswd -cb 檔名 帳號 密碼
htpasswd -b 其他帳號 密碼

其中參數 c 是建立檔案,只有第一次產生時需要。修改密碼也是一樣的指令,就會覆蓋掉原本檔案內的字串。

設定 nginx :

找到 gitweb 的 server 設定區塊,到 location / 中的最前面加上

location / {
   auth_basic "Yoursite Gitweb";
   auth_basic_user_file /home/git/gitweb/htpasswd檔名;
   ...
}

完成後執行 /etc/init.d/nginx restart ,連到 http://gitweb.yoursite.com.tw ,就會出現要求輸入帳號密碼囉!

 

延伸閱讀: 架設 gitweb with nginx

arrow
arrow
    全站熱搜

    笨笨小蟹 發表在 痞客邦 留言(1) 人氣()