当前位置:首页网站服务管理系统wdcp系列教程之十四 举报文章

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

作者:admin    来源:用户投稿    时间:2015.6.11   

  在我们安装了网站服务管理系统wdcp之后,在使用过程中可能会出现这样或那样的疑问, 下面给大家整理几点出来,方便大家学习。还有不懂得话,可以去wdlinux论坛找找相关教程。

  如何修改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

  会出现以下认证的提示

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

  注意! 你的密码,对于认证域:

  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完成后都会调用此文件。

  本文摘自 wdlinux论坛http://www.wdlinux.cn/bbs/,欢迎大家的转载

  相关阅读:

  网站服务管理系统wdcp系列教程之(一)

  网站服务管理系统wdcp系列教程之(二)

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

  网站服务管理系统wdcp系列教程之(四)

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

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

  网站服务管理系统wdcp系列教程之(七)

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

  网站服务管理系统wdcp系列教程之(十二)

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

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:网站  服务  服务管理  管理  系统  系列  教程  十四  
  • 相关搜索
图片推荐
    为你读诗微信号同名APP被判侵权  最终赔款20万元

    为你读诗微信号同名APP被判侵权 最终赔款20万元

    前瞻科技 12 月 7 日讯,微信公众平台的兴起使得 Web 终于有了可以和 APP 一较高低的平台,两者之间的竞争关系也逐渐加深。近日,为你读诗App 的所有者被为你读诗微信公众号所有者起诉,最终前
    网红吸金惊人 是“黄金时代”还是“泡沫宿命”?

    网红吸金惊人 是“黄金时代”还是“泡沫宿命”?

    靠每次不到5分钟的短视频在网络平台走红,迅速积累800多万粉丝的网络红人papi酱,近日获得了1200万元投资,估值上亿。一时间,不少网民也开始摩拳擦掌:德国小伙子阿福以上海话吐槽洋女婿的种种烦恼,被
    浅谈:一个网站如何做到刚放出就被收录

    浅谈:一个网站如何做到刚放出就被收录

    网站被收录才会有关键词排名,收录是排名的基础,所以收录对于关键词排名就犹如房子对地基的关系。这里附上笔者网站刚放出就被收录的截图:  首先说明一点,由于网站备案的缘故,以及文章修改的问题。域名也只是在
    315让你淘的开心:2015年网购维权全攻略

    315让你淘的开心:2015年网购维权全攻略

    IT之家讯 明天就是3.15消费者权益保障日,一年一度的央视3.15晚会也将再度与我们见面。今年315的主题为消费在阳光下,包括淘宝、京东等这种网购、以及化身商业圈的各种微信朋友圈代购、微店网购等都将
    JS与SEO的关系 站长使用JS代码要有度

    JS与SEO的关系 站长使用JS代码要有度

    当我们谈起SEO的时候,我想更多的一部分人可能把搜索引擎当做是第一用户,往往为了博得搜索引擎的喜欢,而轻视了真正的用户体验。鉴于搜索引擎对待JS的态度,更多的人不愿意去做JS。这是一个误区,而这个误区
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面