网站服务管理系统wdcp系列教程之十三


在我们安装了网站服务管理系统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论坛,欢迎转载~
 
 
 

相关内容

    暂无相关文章