1. 程式人生 > >Ubuntu下通過gitweb來瀏覽原始碼

Ubuntu下通過gitweb來瀏覽原始碼


本文介紹在ubuntu下快速搭建一個git伺服器,通過gitweb來瀏覽原始碼。


安裝git和openssh:

sudo apt-get install git-core openssh-server openssh-client

建立git使用者

建立git使用者,home目錄為/home/git,該目錄專門來放git倉庫   

sudo adduser --system --shell /bin/sh  --gecos 'git version control' --group --disabled-password --home /home/git git

sudo passwd git

安裝apache2


sudo apt-get install apache2

安裝gitweb

sudo apt-get install gitweb


修改gitweb配置

vi /etc/gitweb.conf可看到

$projectroot = "/var/lib/git";

由於我們採用/home/git作為gitweb的工作目錄,這裡將工作目錄改為

$projectroot = "/home/git";

重啟apache2

sudo /etc/init.d/apache2 restart
訪問gitweb
http://localhost/gitweb/

工作路徑預設是沒有原始碼的,這時要建一個git裸倉,然後將原始碼推送到裸倉上。

1切換到git使用者,並進入工作目錄su git,cd /home/git

2建立裸倉git init --bare driver.git

3找一個git倉庫,新增遠端地址,如git remote add origin [email protected]:/home/git/driver.git

4推送原始碼到裸倉中,git push origin master:master

5網頁訪問localhost/gitweb就可看到driver.git

對於Ubuntu16.04還需進行小範圍的修改,

檢視/etc/apache2/conf-available/gitweb.conf檔案,可知

<IfModule mod_alias.c>
  <IfModule mod_mime.c>
    <IfModule mod_cgi.c>
      Define ENABLE_GITWEB
    </IfModule>
    <IfModule mod_cgid.c>
      Define ENABLE_GITWEB
    </IfModule>
  </IfModule>
</IfModule>

<IfDefine ENABLE_GITWEB>
  Alias /gitweb /usr/share/gitweb

  <Directory /usr/share/gitweb>
    Options +FollowSymLinks +ExecCGI
    AddHandler cgi-script .cgi
  </Directory>
</IfDefine>

要聲明瞭enable_gitweb,才能用gitweb,由上述程式碼可知,要載入了特定的模組才能使用該巨集,預設只加載了下列的模組,那載入一下需要的模組即可。檢視apachectl的模組(http://blog.csdn.net/qmhball/article/details/7631384)

[email protected]:~$ apachectl -t -D DUMP_MODULES 
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgid_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_event_module (shared)
 negotiation_module (shared)
 setenvif_module (shared)
 status_module (shared)

cd /etc/apache2/mods-enabled

[email protected]:/etc/apache2/mods-enabled# a2enmod alias mime cgid
Module alias already enabled
Module mime already enabled
Module cgid already enabled

重啟apache2服務

sudo /etc/init.d/apache2 restart

如果ubuntu是伺服器版本(/var/log/apache2/error.log報錯aborted at /usr/share/gitweb/index.cgi line 13),需安裝桌面環境

 sudo apt-get install ubuntu-desktop

相關推薦

Ubuntu通過gitweb瀏覽原始碼

本文介紹在ubuntu下快速搭建一個git伺服器,通過gitweb來瀏覽原始碼。安裝git和openssh:sudo apt-get install git-core openssh-server openssh-client建立git使用者建立git使用者,home目錄為/

Ubuntu使用CMake編譯OpenSSL原始碼操作步驟(C語言)

OpenSSL的版本為1.0.1g,在ubuntu下通過CMake僅編譯c程式碼不包括彙編程式碼,指令碼內容如下: build.sh內容: #! /bin/bash real_path=$(realpath $0) dir_name=`dirname "${real_path}"` e

Ubuntu如何安裝mysql的原始碼

一、mysql原始碼包的下載 開啟該下載地址後,在 “Select Version:”處,選擇要下載的mysql的版本,我選擇的是5.6.34;在“Select Platform:”處,選擇適用的作業系統型別,由於是下載原始碼包,故這裡我們要選擇Source Cod

Ubuntugcc 8.2.0原始碼安裝

gcc 8.2.0 原始碼安裝 下載原始碼並解壓: wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz tar xzvf gcc-8.2.0.ta

Ubuntu通過SSH遠端登入伺服器

首先在伺服器上安裝ssh的伺服器端 sudo aptitude install openssh-server 啟動ssh-server /etc/init.d/ssh restart 確認ssh-server已經正常工作

ubuntu通過u盤安裝軟體方法(命令列)

    如果在我們Ubuntu沒有網路連線的情況下,安裝軟體就不可使用 apt-get install xxx,因為不能通過網路下載資料包,我們這裡介紹通過U盤用命令列的方式給Ubuntu系統安裝軟體的方法。     在將我們想要安裝的軟體包放到U盤中後(以.tar.gz檔

Ubuntu通過Chrome執行Android應用

如何在Linux下執行Android應用。(平臺 chrome 64位,系統版本為Ubuntu14.04 64位) 1,下載最新的chrome64位瀏覽器。 2,下載chrome執行Android應用所需的拓展包vladikoff-archon並解壓。下載網址:https:

ubuntu通過privoxy將Socks代理轉換為Http代理

目前很多代理都是socks型別(如shadowsocks)的代理,但是很多軟體僅支援http型別的代理,如scrapy等 所以我們需要將socks代理轉換為http代理。 本文將演示如何將shadowsocks代理轉換為http型別的代理。 一、sha

liunx(ubuntu) 通過 nexus 搭建maven 私服

jdk 安裝(因為 nexus是基於java 開發的) 下載地址 http://pc6.down.123ch.cn/download/[email protected] 在 usr 建立 jvm 目錄(usr/jvm),將下載的 jdk

ubuntu通過sh檔案export環境變數

有一些環境變數需要匯入, 但不想一個一個手動的匯入,於是可以寫一個shell指令碼匯入,比如在export_lib.sh中-Cpp 程式碼1export LD_LIBRARY_PATH=./lib如果直

Ubuntu通過wine安裝SourceInsight

1、首先安裝wine,開啟命令列輸入下列命令: sudo apt-get install wine 2、安裝wine過程中出現下面的選項,按tab鍵來選擇確定 完成後,再在命令列輸入下列指令用於配置wine winecfg 到這裡,wine

通過FTP服務端實現匿名用戶和基本用戶的訪問,可以實現文件上傳和下載。通過web網站瀏覽內容

ges 用戶 分享圖片 size 下載 mark col term http 通過FTP服務端來實現匿名用戶和基本用戶的訪問,可以實現文件上傳和下載。通過web網站來瀏覽內容

記錄linux通過對limits的設置優化系統性能

pgrep 目前 接下來 total 滿足 執行 獲取 linux下 第一個 系統中子進程繼承父進程的系統限制。只有以root用戶運行的進程能任意修改限制。其它進程不能增加硬限制值。這樣在一個session中登錄進程設置的硬限制值影響該session中的所有進程。 當要優化

通過twisted自己寫scrapy框架了解scrapy原始碼

from twisted.internet import reactor #事件迴圈 相當於selecet作用 監聽是否有連線成功(終止條件,所有的socket物件都被移除。) from twisted.web.client import getPage #socket物件(如果下載完成,自動從事件

深度學習入門:詳解 Ubuntu PaddlePaddle 原始碼編譯安裝

PaddlePaddle 是百度開源的一個深度學習框架,Paddle 提供的 Paddle book 對於那些深度學習入門的人簡直再方便不過。 想用 Paddle 進行模型訓練必然先進行安裝,這篇文章主要詳細的記錄一下 Paddle cpu 和 gpu 的原始碼編譯安裝。 個人認為原始

Ubuntu/Debian通過Apt-get簡單安裝Oracle JDK

近幾年本人對各種Arm小板,開發板不明原因中毒,基本以Linux系統為主,本篇文章以記錄在32位Arm的Debian8上,通過Apt-get的簡單命令安裝Oracle JDK8併成功的記錄。 1.首先更新下package index總沒錯 $ sudo apt-get update  

Ubuntu系統通過命令查詢檔案或資料夾

1. whereis+檔名 用於程式名的搜尋,搜尋結果只限於二進位制檔案(引數-b)、man說明檔案(引數-m)和原始碼檔案(引數-s),如果省略引數,則返回所有資訊。 2. find / -name +檔名 find是在指定的目錄下遍歷查詢,如果目錄使用 /

ubuntu原始碼安裝wget

1.背景 ubuntu18.04 64bit 2.安裝方法如下: 2.1.獲取原始碼 curl -o wget-1.20.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.20.tar.gz 2.2.解壓原始碼 tar xvf wget-1.20.tar.

Ubuntuzxing原始碼編譯

1、下載zxing原始碼 2、安裝依賴工具cmake sudo apt-get install cmake cmake-qt-gui 在此安裝中需要使用3.0以上版本的cmake工具,而ubuntu的映象源提供的為2.8.7版本的映象源,所以需要將其解除安裝,然後安

Ubuntu 使用 putty並通過 ch340 usb 串列埠線進行除錯

安裝putty   sudo apt-get install putty -y   插入usb轉串列埠線 由於linux下沒有Windos類似的裝置管理器,所以我們可以通過其他方法獲取對應的串列埠號 可以在插拔之前  ls /dev/ttyUSB* 進行比對 或者通