在FreeBSD上CVSD的安裝與配置 轉貼

2021-04-19 03:56:10 字數 4338 閱讀 9365

要說明的是,我是按照老黃的cvsd安裝配置方法來進行的安裝,過程中發現了一些問題,所以我特別重新寫了一篇新的文件,讓大家避免出現不必要的麻煩

1. 安裝cvsd

。(by huangyaoshifog)

建立cvsd使用者和cvsd組

。(by huangyaoshifog)

建議使用: sysinstall 建立組cvsd

。(by huangyaoshifog)

建議實用:adduser 建立使用者cvsd

。(by huangyaoshifog)

建立使用者時:密碼驗證選yes,但是要設定空密碼。屬於cvsd組,使用者要啟用(不能lock out)

。(by huangyaoshifog)

2. 配置cvsd

注意:在真正啟動cvsd服務之前,你需要確定當前並沒有啟動基於inetd的cvs伺服器。請將/etc/inetd.conf中的cvs pserver的服務加上注釋。如果有兩個cvs伺服器同時執行,第二個執行的伺服器將不能繫結埠的。

之後讓我們來建立我們想要存放程式碼的目錄,執行下列命令:

程式碼:

執行這些命令之前要su cvsd ,記住不能用root使用者建立。(by huangyaoshifog)

mkdir /home/quake/cvsd

mkdir /home/quake/cvsd/test

cvsd是我們的cvs庫的根目錄,這個目錄用來存放我們的各個原始碼目錄以及以jail方式執行cvs時所需的一些必要的檔案,主要是一些系統檔案。而test目錄就是我們乙個原始碼庫的目錄。建好這些目錄以後我們最後會對原始碼庫目錄初始化一下:

程式碼:

執行這個命令之前要su cvsd ,記住不能用root使用者建立。(by huangyaoshifog)

cvs -d /home/quake/cvsd/test init

之後我們對cvsd的配置檔案進行一些必要的配置,以保證正常的運轉:

程式碼:

# 設定我們原始碼庫的根目錄

rootjail /home/quake/cvsd

# 啟動cvs的使用者

uid cvsd

# 啟動使用者所屬的組

gid cvsd

# nice

nice 1

# 檔案存放掩碼,027說明檔案的存放許可權為750,如果使用cvsweb,需要設定為022

umask 027

# 出錯時不生成coredump

limit coredumpsize 0

# 執行時pid檔案,通過修改這個,我們可以通過不同的cvsd.conf啟動多個cvsd伺服器

pidfile /var/run/cvsd.pid

# cvsd伺服器監聽的位址和埠

#listen * 2401

# 最大連線數

maxconnections 10

#日值檔案,設定格式為 log

log syslog info

#log /var/log/cvsd.log debug

#設定原始碼庫的路徑

# repos

repos /test

這裡特別需要注意的是uid和gid一定是已經存在於系統的使用者和組,否則cvsd是無法啟動的。同時還需要說明的是,這個uid和gid與執行在jail中的cvsd的使用者/組沒有任何關係。

之後我們開始為原始碼庫建立使用者帳號。我們通過下列命令來完成:

程式碼:

執行這些命令之前要su cvsd ,記住不能用root使用者建立。(by huangyaoshifog)

cvsd-passwd /home/quake/cvsd/test quake

(輸入帳號密碼)

執行這些命令之前要su root,必須用root使用者建立。(by huangyaoshifog)

cvsd-buildroot /home/quake/cvsd

必須注意的是,至少在現在的cvsd 1.0的版本中,在執行cvsd-buildroot命令前,我們必須在伺服器根目錄中有至少乙個原始碼庫,而這個原始碼庫中已經使用cvsd-passwd 生成了至少乙個帳號,即在原始碼庫中生成乙個帶有帳號的passwd檔案。然後再執行cvsd-buildroot構建jail所需的系統檔案。否則通過 cvsd-passwd新增的帳號將無法由cvsd伺服器使用。在此之後我們再新增新的帳號和原始碼庫的時候都會自動的通過其中的passwd檔案來進行認證了,不需要再次執行cvsd-buildroot命令。而且經過我反覆測試,現在在原始碼庫目錄中的cvsroot/config檔案裡面增加 systemauth=no設定已經不具有任何意義了。無論是否設定它,只要在執行cvsd-buildroot前使用cvsd-passwd新增乙個帳號,cvsd都會通過原始碼庫中的passwd檔案進行認證。

2 出現錯誤提示如下:

open /dev/null failed

operation not supported

解決辦法: 伺服器段執行如下命令

mount -t devfs none /home/cvsd/dev

出現錯誤提示如下時:

cvs login: warning: failed to open /root/.cvspass for reading: no such file or directory

說明你現在正在使用root執行cvs -d :pserver:xyf@localhost:/cvsroot login命令

cvs不允許用root登入

可以切換大其他使用者登入

3、建立軟體倉庫

建立軟體倉庫,如「coolsoft」,用如下命令:

# cvs -d /var/lib/cvsd/coolsoft init

這個命令將建立目錄 /var/lib/cvsd/coolsoft,並在其下建立乙個 cvsroot 目錄樹。

如果您允許使用者建立此倉庫的頂級目錄:

# chown cvsd:cvsd /var/lib/cvsd/coolsoft

lockdir /tmp/coolsoft

這個目錄是相對於「rootjail」目錄,如 /var/lib/cvsd。必須手工建立此目錄:

# mkdir /var/lib/cvsd/tmp/coolsoft

# chown cvsd:cvsd /var/lib/cvsd/tmp/coolsoft

現在,建立所有可以訪問這個倉庫的使用者和他們的密碼:

# cvsd-passwd /var/lib/cvsd/coolsoft jack

如果您允許匿名訪問這個倉庫,建立乙個使用者,名為「anonymous」或「anoncvs」,並設定密碼為空:

# cvsd-passwd /var/lib/cvsd/coolsoft anoncvs

建立新檔案/var/lib/cvsd/coolsoft/cvsroot/writers

# touch /var/lib/cvsd/coolsoft/cvsroot/writers

可以保護倉庫的訪問許可權,否則所有的使用者都可以對本倉庫有寫入許可權。在這個檔案裡,加入所有可以對本倉庫有寫入許可權的使用者名稱,一行乙個使用者。

如果您不允許使用者建立倉庫的頂級目錄,您可以先建立將要用到的頂級目錄,以存放使用者遞交的檔案:

# cd /var/lib/cvsd/coolsoft

# mkdir client server

# chown cvsd:cvsd client server

4、啟動 cvsd,測試軟體倉庫及許可權

啟動 cvsd,使用命令

# /etc/init.d/cvsd start

測試新的倉庫:

# cvs -d :pserver:[email protected]/coolsoft login

# cvs -d :pserver:[email protected]/coolsoft co client

在FreeBSD上使用Docker

freebsd是個好東西,因為有zfs。docker也是個好東西,因為很爽。然而之前docker只支援linux,所以在其它平台上都需要搞個linux虛擬機器才能用,麻煩得很。當然現在也是一樣,只是官方出了乙個docker machine可以更方便地管理虛擬機器裡的docker。基本用法可以參考這篇...

在FreeBSD 上配置 Sphinx 搜尋引擎

在freebsd 上配置 sphinx 搜尋引擎 和 linux 上相比,會有一些差異,而且步驟可能會更加的繁瑣。有些可能無法用 make 系統進行編譯,必須手動修改 configure 檔案,或者 或者只能手動編譯。1.安裝 mmse gmmseg 比較成熟,安裝的過程一般不會出什麼問題。但是還是...

apache httpd在Linux上的安裝與配置

apache httpd在linux上的安裝與配置 2.安裝pcre tar zxvf pcre 8.35.tar.gz cd pcre 8.35 configure prefix usr local pcre make make install 3.安裝apr tar zxvf apr 1.5.1...