国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

在WDCP一鍵安裝包的基礎(chǔ)上安裝SVN及實(shí)現(xiàn)nginx web同步更新

2024-04-25 20:45:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
在WDCP一鍵安裝包的基礎(chǔ)上安裝SVN及實(shí)現(xiàn)nginx web同步更新

  一、安裝

  1.查看是否安裝cvs

  rpm -qa | grep subversion

  2.安裝

  yum install subversion

  3.測(cè)試是否安裝成功

  /usr/bin/svnserve --version

  如提示以下內(nèi)容,說(shuō)明已安裝成功

  --------------------------------------

  svnserve,版本1.6.11 (r934486)

  編譯于Apr 11 2013,17:28:04

  版權(quán)所有(C) 2000-2009 CollabNet。

  Subversion 是開(kāi)放源代碼軟件,請(qǐng)參閱http://subversion.tigris.org/ 站點(diǎn)。

  此產(chǎn)品包含由CollabNet(http://www.Collab.Net/) 開(kāi)發(fā)的軟件。

  下列版本庫(kù)后端(FS) 模塊可用:

  * fs_base : 模塊只能操作BDB版本庫(kù)。

  * fs_fs : 模塊與文本文件(FSFS)版本庫(kù)一起工作。

  Cyrus SASL 認(rèn)證可用。

  --------------------------------------------------------------

  二、配置

  1、新建一個(gè)目錄:repos 可用于存儲(chǔ)SVN所有文件

  mkdir -p /opt/svndata/repos

  注意,這里的目錄(項(xiàng)目名稱)路徑可以更改,格式如下:

  mkdir -p 目錄路徑(如:mkdir -p /www/svn/project)

  2、新建一個(gè)版本倉(cāng)庫(kù)(使用svnadmin create 目錄倉(cāng)庫(kù)路徑與上面新建的目錄要一致)

  svnadmin create /opt/svndata/repos

  3、修改svn版本庫(kù)的配置文件

  vi /opt/svndata/repos/conf/svnserve.conf

  按以下格式內(nèi)容修改,其中realm的值為項(xiàng)目名稱,本例中即為repos。

  [general]

  anon-access = none

  auth-access = write

  password-db = /opt/svndata/project/conf/passwd

  authz-db = /opt/svndata/project/conf/authz

  realm = repos

  注意:對(duì)用戶配置文件的修改立即生效,不必重啟svn。

  4、添加用戶

  vi /opt/svndata/repos/conf/passwd

  要添加SVN用戶非常簡(jiǎn)單,只需在/opt/svn/project/conf/passwd文件添加一個(gè)形如“username=password”的條目就可以了。

  為了測(cè)試,我添加了如下內(nèi)容:

  [users]

  # harry = harryssecret

  # sally = sallyssecret

  pm = pm_pw

  server_group = server_pw

  client_group = client_pw

  test_group = test_pw

  5、修改用戶訪問(wèn)策略

  vi /opt/svndata/repos/conf/authz

  記錄用戶的訪問(wèn)策略,以下是參考:

  [groups]

  project_p = pm

  project_s = server_group

  project_c = client_group

  project_t = test_group

  [project:/]

  @project_p = rw

  * =

  [project:/server]

  @project_p = rw

  @project_s = rw

  * =

  [project:/client]

  @project_p = rw

  @project_c = rw

  * =

  [project:/doc]

  @project_p = rw

  @project_s = rw

  @project_c = rw

  @project_t = rw

  * =

  以上信息表示,只有pm有根目錄的讀寫(xiě)權(quán),server_group能訪問(wèn)server目錄,client_group能訪問(wèn)client目錄,所有人都可以訪問(wèn)doc目錄。

  當(dāng)然,以上是比較復(fù)雜的權(quán)限控制,如果只是測(cè)試,可以簡(jiǎn)單些。建立一個(gè)用戶組,把所有的用戶都放到一個(gè)用戶組,如下:

  [groups]

  admin = pm,server_group,client_group,test_group

  [/]

  @admin = rw

  關(guān)于權(quán)限的控制,本文不詳情敘述,大家可以去咨詢度娘。

  5、啟動(dòng)svn服務(wù)

  svnserve -d --listen-port 3690 -r /opt/svndata/repos (以root用戶在運(yùn)行)

  假如有多個(gè)項(xiàng)目同時(shí)在開(kāi)發(fā)的話,可以通過(guò)不同端口可以開(kāi)啟多個(gè)SVN服務(wù),使用TortoiseSVN操作時(shí)記得加上端口號(hào)。

  6、測(cè)試svn服務(wù)器

  進(jìn)入網(wǎng)站根目錄

  cd /www/web/repos/public_html

  svn co svn://127.0.0.1:3690 /www/web/repos/public_html --username pm --password pm_pw

  會(huì)出現(xiàn)以下認(rèn)證的提示

  -----------------------------------------------------------------------

  注意! 你的密碼,對(duì)于認(rèn)證域:

   repos

  只能明文保存在磁盤(pán)上! 如果可能的話,請(qǐng)考慮配置你的系統(tǒng),讓Subversion

  可以保存加密后的密碼。請(qǐng)參閱文檔以獲得詳細(xì)信息。

  你可以通過(guò)在“/root/.subversion/servers”中設(shè)置選項(xiàng)“store-plaintext-passwords”為“yes”或“no”,

  來(lái)避免再次出現(xiàn)此警告。

  -----------------------------------------------------------------------

  保存未加密的密碼(yes/no)?

  輸入“yes” 回車,因?yàn)榘姹緜}(cāng)庫(kù)還沒(méi)有添加任何文件,所以取出版本為0,如下:

  取出版本0。

  三、配置post-commit,實(shí)現(xiàn)自動(dòng)同步svn版本庫(kù)文件到web目錄

  為了可以在修改完代碼提交到SVN服務(wù)器后,WEB服務(wù)器直接同步.需要配置SVN的鉤子,進(jìn)入hooks目錄,

  cd /opt/svndata/repos/hooks

  ls

  可以看到有一個(gè)post-commit.tmpl文件,這是一個(gè)模板文件,復(fù)制一份放在此目錄下,命名為post-commit,并將其用戶組設(shè)為www,并設(shè)置為可執(zhí)行:

  cp post-commit.tmpl post-commit

  chown www:www post-commit

  chmod +x post-commit

  這樣就有了訪問(wèn)www目錄的權(quán)限。

  里面原有的代碼全部注釋掉.這里可以執(zhí)行shell命令,每次commit完成后都會(huì)調(diào)用此文件.

  文件內(nèi)容參考以下:

  vi post-commit

  #!/bin/sh

  export LANG=zh_CN.UTF-8

  REPOS="$1"

  REV="$2"

  SVN_PATH=/usr/bin/svn

  WEB_PATH=/web/web/repos/public_html

  LOG_PATH=/tmp/svn_update.log

  #/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache

  echo "nnn##########開(kāi)始提交" `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH

  echo `whoami`,$REPOS,$REV >> $LOG_PATH

  $SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH

  chown -R www:www $WEB_PATH

  說(shuō)明:

  1、#!/bin/sh 說(shuō)明是執(zhí)行shell命令/*設(shè)定環(huán)境變量,如果沒(méi)有設(shè)定可能會(huì)出現(xiàn)update報(bào)錯(cuò)*/

  2、export LANG=zh_CN.UTF-8 是為了解決svn post commit 中文亂碼。

  如果你是GBK編碼可能會(huì)提示:Error output could not be translated from the native locale to UTF-8

  這是客戶端和服務(wù)器編碼的問(wèn)題,默認(rèn)是utf-8,可嘗試設(shè)置export LANG=zh_CN.GBK或者export LANG=en_US.UTF-8

  #執(zhí)行更新操作

  3、svn update –username 你版本庫(kù)的用戶名–password 用戶名的密碼svn://你的IP地址:端口/web/web/repos/public_html

  4、chown -R www:www $WEB_PATH 更改文件夾屬主為適合Web Server的

  里面原有的代碼全部注釋掉.這里可以執(zhí)行shell命令,每次commit完成后都會(huì)調(diào)用此文件。

  本文教程摘自wdlinux論壇 ,轉(zhuǎn)載請(qǐng)注明~
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 怀集县| 子长县| 治县。| 齐河县| 邯郸市| 桃源县| 甘孜县| 印江| 德安县| 高要市| 宁国市| 连城县| 利津县| 吉水县| 武义县| 栾城县| 云浮市| 玉田县| 龙井市| 南靖县| 南京市| 兖州市| 徐水县| 常熟市| 定远县| 丁青县| 天全县| 垫江县| 长宁县| 射洪县| 马龙县| 昌吉市| 广元市| 隆昌县| 新昌县| 剑河县| 灌阳县| 封丘县| 安化县| 山东省| 罗田县|