網站服務管理系統wdcp系列教程之十三

來源:互聯網
上載者:User

在我們安裝了網站服務管理系統wdcp之後,在使用過程中可能會出現這樣或那樣的疑問, 下面給大家整理幾點出來,方便大家學習。還有不懂得話,可以去wdlinux論壇找找相關教程。

  1. 如何修改wdcp系統的介面或模板
    wdcp從2的版本開始,全部模板化,也就是說,你可以通過修改模板,來達到修改介面或頁面但務必注意如下兩點:
    1 必須按原模板的結構及標籤調用套用
    2 必須保留wdcp的版本及相關串連

    模板目錄檔案在templates目錄下,完整目錄是
    /www/wdlinux/wdcp/templates

    修改方法
    1 在/www/wdlinux/wdcp建立一個目錄,如templates_me
    完整目錄為
    /www/wdlinux/wdcp/templates_me
    新設計的頁面或模板,就放到該目錄下就可以
    但必須要按原模板的結構及標籤調用方式

    2 修改好上傳後,登入背景系統設定裡,設定模板目錄為上面所設定的目錄,如


    儲存,重新整理即可

    重要
    新頁面或模板,必須保留wdlinux的相關版本及串連資訊,否則後果自負
    如需去除,可聯絡授權後可去掉
 

2、  在WDCP 一鍵安裝包的基礎上安裝SVN 及實現nginx web 同步更新
  一、安裝
  1.查看是否安裝cvs
  rpm -qa | grep subversion
  2.安裝
  yum install subversion
  3.測試是否安裝成功
  /usr/bin/svnserve --version
  如提示以下內容,說明已安裝成功
  --------------------------------------
  svnserve,版本1.6.11 (r934486)
  編譯於Apr 11 2013,17:28:04
  著作權(C) 2000-2009 CollabNet。
  Subversion 是開放原始碼軟體,請參閱http://subversion.tigris.org/ 網站。
  此產品包含由CollabNet(http://www.Collab.Net/) 開發的軟體。
  下列版本庫後端(FS) 模組可用:
  * fs_base : 模組只能操作BDB版本庫。
  * fs_fs : 模組與文字檔(FSFS)版本庫一起工作。
  Cyrus SASL 認證可用。
  --------------------------------------------------------------
  二、配置
  1、建立一個目錄:repos 可用於儲存SVN所有檔案
  mkdir -p /opt/svndata/repos
  注意,這裡的目錄(項目名稱)路徑可以更改,格式如下:
  mkdir -p 目錄路徑(如:mkdir -p /www/svn/project)
  2、建立一個版本倉庫(使用svnadmin create 目錄倉庫路徑與上面建立的目錄要一致)
  svnadmin create /opt/svndata/repos
  3、修改svn版本庫的設定檔
  vi /opt/svndata/repos/conf/svnserve.conf
  按以下格式內容修改,其中realm的值為項目名稱,本例中即為repos。
  [general]
  anon-access = none
  auth-access = write
  password-db = /opt/svndata/project/conf/passwd
  authz-db = /opt/svndata/project/conf/authz
  realm = repos
  注意:對使用者設定檔的修改立即生效,不必重啟svn。
  4、添加使用者
  vi /opt/svndata/repos/conf/passwd
  要添加SVN使用者非常簡單,只需在/opt/svn/project/conf/passwd檔案添加一個形如“username=password”的條目就可以了。
  為了測試,我添加了如下內容:
  [users]
  # harry = harryssecret
  # sally = sallyssecret
  pm = pm_pw
  server_group = server_pw
  client_group = client_pw
  test_group = test_pw
  5、修改使用者存取原則
  vi /opt/svndata/repos/conf/authz
  記錄使用者的存取原則,以下是參考:
  [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有根目錄的讀寫權,server_group能訪問server目錄,client_group能訪問client目錄,所有人都可以訪問doc目錄。
  當然,以上是比較複雜的許可權控制,如果只是測試,可以簡單些。建立一個使用者組,把所有的使用者都放到一個使用者組,如下:
  [groups]
  admin = pm,server_group,client_group,test_group
  [/]
  @admin = rw
  關於許可權的控制,本文不詳情敘述,大家可以去諮詢度娘。
  5、啟動svn服務
  svnserve -d --listen-port 3690 -r /opt/svndata/repos (以root使用者在運行)
  假如有多重專案同時在開發的話,可以通過不同連接埠可以開啟多個SVN服務,使用TortoiseSVN操作時記得加上連接埠號碼。
  6、測試svn伺服器
  進入網站根目錄
  cd /www/web/repos/public_html
  svn co svn://127.0.0.1:3690 /www/web/repos/public_html --username pm --password pm_pw
  會出現以下認證的提示
  -----------------------------------------------------------------------
  注意! 你的密碼,對於認證域:
  < svn://127.0.0.1:3690 > repos
  只能明文儲存在磁碟上! 如果可能的話,請考慮配置你的系統,讓Subversion
  可以儲存加密後的密碼。請參閱文檔以獲得詳細資料。
  你可以通過在“/root/.subversion/servers”中設定選項“store-plaintext-passwords”為“yes”或“no”,
  來避免再次出現此警告。
  -----------------------------------------------------------------------
  儲存未加密的密碼(yes/no)?
  輸入“yes” 斷行符號,因為版本倉庫還沒有添加任何檔案,所以取出版本為0,如下:
  取出版本0。
  三、配置post-commit,實現自動同步svn版本庫檔案到web目錄
  為了可以在修改完代碼提交到SVN伺服器後,WEB伺服器直接同步處理.需要配置SVN的鉤子,進入hooks目錄,
  cd /opt/svndata/repos/hooks
  ls
  可以看到有一個post-commit.tmpl檔案,這是一個模板檔案,複製一份放在此目錄下,命名為post-commit,並將其使用者組設為www,並設定為可執行:
  cp post-commit.tmpl post-commit
  chown www:www post-commit
  chmod +x post-commit
  這樣就有了訪問www目錄的許可權。
  裡面原有的代碼全部注釋掉.這裡可以執行shell命令,每次commit完成後都會調用此檔案.
  檔案內容參考以下:
  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##########開始提交" `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
  說明:
  1、#!/bin/sh 說明是執行shell命令/*設定環境變數,如果沒有設定可能會出現update報錯*/
  2、export LANG=zh_CN.UTF-8 是為瞭解決svn post commit 中文亂碼。
  如果你是GBK編碼可能會提示:Error output could not be translated from the native locale to UTF-8
  這是用戶端和伺服器編碼的問題,預設是utf-8,可嘗試設定export LANG=zh_CN.GBK或者export LANG=en_US.UTF-8
  #執行更新操作
  3、svn update –username 你版本庫的使用者名稱–password 使用者名稱的密碼svn://你的IP地址:連接埠/web/web/repos/public_html
  4、chown -R www:www $WEB_PATH 變更檔夾屬主為適合Web Server的
  裡面原有的代碼全部注釋掉.這裡可以執行shell命令,每次commit完成後都會調用此檔案。
 
 
3 、如何在WDCP 一鍵安裝包的基礎上安裝SVN 及實現nginx web 同步更新安裝
1.查看是否安裝cvs
rpm -qa | grep subversion


2.安裝
yum install subversion


3.測試是否安裝成功
/usr/bin/svnserve --version
如提示以下內容,說明已安裝成功
--------------------------------------
svnserve,版本 1.6.11 (r934486)
   編譯於 Apr 11 2013,17:28:04


著作權 (C) 2000-2009 CollabNet。
Subversion 是開放原始碼軟體,請參閱 http://subversion.tigris.org/ 網站。
此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟體。


下列版本庫後端(FS) 模組可用:


* fs_base : 模組只能操作BDB版本庫。
* fs_fs : 模組與文字檔(FSFS)版本庫一起工作。


Cyrus SASL 認證可用。
--------------------------------------------------------------
二、配置
1、建立一個目錄:repos 可用於儲存SVN所有檔案
mkdir -p /opt/svndata/repos
注意,這裡的目錄(項目名稱)路徑可以更改,格式如下:
mkdir -p 目錄路徑(如:mkdir -p /www/svn/project)


2、建立一個版本倉庫(使用svnadmin create 目錄倉庫路徑與上面建立的目錄要一致)
svnadmin create /opt/svndata/repos


3、修改svn版本庫的設定檔
vi /opt/svndata/repos/conf/svnserve.conf


按以下格式內容修改,其中realm的值為項目名稱,本例中即為repos。
[general]
anon-access = none
auth-access = write
password-db = /opt/svndata/project/conf/passwd
authz-db = /opt/svndata/project/conf/authz
realm = repos
注意:對使用者設定檔的修改立即生效,不必重啟svn。


4、添加使用者
vi /opt/svndata/repos/conf/passwd
要添加SVN使用者非常簡單,只需在/opt/svn/project/conf/passwd檔案添加一個形如“username=password”的條目就可以了。
為了測試,我添加了如下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
server_group = server_pw
client_group = client_pw
test_group = test_pw


5、修改使用者存取原則
vi /opt/svndata/repos/conf/authz
記錄使用者的存取原則,以下是參考:
[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有根目錄的讀寫權,server_group能訪問server目錄,client_group能訪問client目錄,所有人都可以訪問doc目錄。
當然,以上是比較複雜的許可權控制,如果只是測試,可以簡單些。建立一個使用者組,把所有的使用者都放到一個使用者組,如下:
[groups]
admin = pm,server_group,client_group,test_group


[/]
@admin = rw
關於許可權的控制,本文不詳情敘述,大家可以去諮詢度娘。


5、啟動svn服務
svnserve -d --listen-port 3690 -r /opt/svndata/repos (以root使用者在運行)
假如有多重專案同時在開發的話,可以通過不同連接埠可以開啟多個SVN服務,使用TortoiseSVN操作時記得加上連接埠號碼。


6、測試svn伺服器


進入網站根目錄
cd /www/web/repos/public_html
svn co svn://127.0.0.1:3690 /www/web/repos/public_html --username pm --password pm_pw


會出現以下認證的提示
-----------------------------------------------------------------------
注意!  你的密碼,對於認證域:


   <svn://127.0.0.1:3690> repos


只能明文儲存在磁碟上!  如果可能的話,請考慮配置你的系統,讓 Subversion
可以儲存加密後的密碼。請參閱文檔以獲得詳細資料。


你可以通過在“/root/.subversion/servers”中設定選項“store-plaintext-passwords”為“yes”或“no”,
來避免再次出現此警告。
-----------------------------------------------------------------------
儲存未加密的密碼(yes/no)?


輸入“yes” 斷行符號,因為版本倉庫還沒有添加任何檔案,所以取出版本為0,如下:
取出版本 0。


三、配置 post-commit ,實現自動同步 svn 版本庫檔案到 web 目錄


為了可以在修改完代碼提交到SVN伺服器後,WEB伺服器直接同步處理.需要配置SVN的鉤子,進入hooks目錄,
cd /opt/svndata/repos/hooks
ls
可以看到有一個post-commit.tmpl檔案,這是一個模板檔案,複製一份放在此目錄下,命名為post-commit,並將其使用者組設為www,並設定為可執行:
cp post-commit.tmpl post-commit
chown www:www post-commit
chmod +x post-commit
這樣就有了訪問www目錄的許可權。
裡面原有的代碼全部注釋掉.這裡可以執行shell命令,每次commit完成後都會調用此檔案.
檔案內容參考以下:
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 "\n\n\n##########開始提交 " `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
說明:
1、#!/bin/sh 說明是執行shell命令 /*設定環境變數,如果沒有設定可能會出現update報錯*/
2、export LANG=zh_CN.UTF-8 是為瞭解決svn post commit 中文亂碼。
如果你是GBK編碼可能會提示:Error output could not be translated from the native locale to UTF-8
這是用戶端和伺服器編碼的問題,預設是utf-8,可嘗試設定export LANG=zh_CN.GBK或者export LANG=en_US.UTF-8
#執行更新操作
3、svn update –username 你版本庫的使用者名稱 –password 使用者名稱的密碼 svn://你的IP地址:連接埠 /web/web/repos/public_html
4、chown -R www:www $WEB_PATH 變更檔夾屬主為適合Web Server的
裡面原有的代碼全部注釋掉.這裡可以執行shell命令,每次commit完成後都會調用此檔案。

本文教程摘自 wdlinux論壇,歡迎轉載~
 
 
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.