Windows 2003下配置SVN自动备份、发布网站

合集下载

Windows 2003 sever 数据备份与还原

Windows 2003 sever 数据备份与还原

数据备份与还原(下方涵盖实践案例)知识涵盖备份概念:数据的备份包括用户的一般资料、系统资料、Active Directory资料以及网络服务中的共享文件夹资料。

备份的目的地址可以是硬盘、可移动硬盘和可录制光盘。

正常备份:复制所有选中的文件,并将每个文件标记为已备份(即清除文件的“存档”属性)。

正常备份最费时间,但它却最快、最容易被还原。

因为所有备份的文件都是最新、最完整的文件,不必还原不同日期的多个备份任务。

第一次创建备份时,通常使用正常备份。

副本备份:复制所有选中的文件,但不将这些文件标记为已备份(即不清除文件的“存档”属性),它不影响其他备份操作,适合于临时备份数据。

增量备份:只备份上一次正常备份或增量备份以后新创建或被修变过的文件,并将文件标记为已备份(即清除文件的“存档”属性)。

差异备份:复制自上次正常或增量备份以来所创建或更改的文件,但不将这些文件标记为已备份(即不清除文件的“存档”属性),是否清除文档标记是增量备份与差异备份的不同。

每日备份:只备份选中的文件或文件夹在当天发生改变的部分,在备份过程中,不将这些文件标记为已备份(即不清除文件的“存档”属性)。

实践中推荐备份策略正常备份+差异备份:在星期一的时候进行一次正常备份,在星期二至星期五每天进行一次差异备份。

如果数据在星期五遭到破坏,那么只需使用星期一的正常备份和星期四的差异备份来进行还原即可。

这种策略在备份数据的时候会花较多的时间,在还原数据的时候花较少的时间。

正常备份+增量备份:在星期一的时候进行一次正常备份,在星期二至星期五每天进行一次增量备份。

如果数据在星期五遭到破坏,那么需要使用星期一的正常备份和星期二至星期四的增量备份来进行还原。

这种策略在备份数据的时候会花较少的时间,在还原数据的时候花较多的时间。

数据如何还原系统还原前的准备用户通常要采取一些安全措施,防止磁盘损坏或系统发生故障:设置系统备份、容错:通过备份工具将系统数据保存下来,或通过磁盘镜像设置数据冗余。

SVN搭建参考手册【详细说明+图片】

SVN搭建参考手册【详细说明+图片】

SVN搭建参考手册【详细说明+图片】一、SVN 服务器和客户端安装安装服务器程序运行服务端程序VisualSVN-Server-1.6.4.msi,根据提示安装即可,这样我们就有了一套在服务器端运行的环境。

安装客户端程序TortoiseSVN运行TortoiseSVN-1.6.4.16808-win32-svn-1.6.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

安装客户端语言包运行LanguagePack_1.6.4.16808-win32-zh_CN.msi注意:上述服务端和客户端程序均为开源软件,在使用过程中注意两者版本的统一二、SVN 创建版本库多库管理模式SVNROOT为版本库的根目录,wendang为文档管理版本库、sourcecode为为各系统代码管理版本库。

VisualSVN-Server提供了一个可视化的控制台,通过它我们可以方便的完成版本库的创建和权限的分配工作。

1. 启动VisualSVN Server Manager,在VisualSVN Servers上右键选择Properties2. 在弹出的界面上设置版本库的根位置,设置完毕后会重新启动相关服务3. 在VisualSVN Servers上右键选择Creat New repository ,创建新的版本库,并在文本框中输入库名称上图中的CheckBox如果选中,则在库test下面会创建trunk、branches、tags 三个子目录;不选中,则只创建空的版本库test。

(注:VisualSVN Server Manager不支持对目录下文件的创建和删除操作,这项工作需要借助Tortoise SVN来完成)三、SVN 安全配置用户设置1. 启动VisualSVN Server Manager,右键点击界面上的Users文件夹,选择create user2. 在弹出的Users设置界面上添加新的用户和密码用户组设置1. 在VisualSVN Server Manager上右键点击界面上的Groups文件夹,选择create Group2. 在弹出的Gruop设置界面上添加新的组和组成员安全性设置1. 在版本库中选择一个库,右键选择Properties2. 点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮3. 按照下图所示,分别对用户或组进行授权在线修改密码1. 在安装目录(如C:\Program Files\VisualSVN Server\)的bin文件夹下增加alias.so、mod_cgi.so两个文件2. 在安装目录中增加cgi-bin文件夹,其中包含svnpass、svnpass.ini两个文件,修改svnpass.ini中pwdFilePath地址的指向为版包库中密码存放的文件,例如:pwdFilePath=D:\Repositories\htpasswd3. 修改安装目录中conf文件夹中的httpd-custom.conf,增加如下内容:LoadModule alias_module bin/mod_alias.soLoadModule cgi_module bin/mod_cgi.so<IfModule alias_module>ScriptAlias /cgi-bin/ "C:/Program Files/VisualSVN Server/cgi-bin/"</IfModule>4. 修改安装目录中htdocs文件夹的部分内容注意:上述所需文件参见SVN中相关附件5. 用户通过URL访问版本库,在验证通过后就能完成密码的在线修改四、SVN 备份恢复机制出于资源安全性考虑,为了防止由于配置管理服务器硬件或者软件故障,而导致配置库资源丢失且无法恢复的情况发生,需要对配置库资源进行定期的备份。

Windows Server 2003服务器配置

Windows Server 2003服务器配置

Windows Server 2003服务器配置一、DNS服务器的安装与配置实训目的1.掌握DNS服务器的相关配置。

2.完成DNS客户端的域名解析设置。

3.完成DNS服务的验证。

实训设备与环境一台Windows 2003 Server 域控制器,一台Windows xp Professional客户机。

两台机器按如图1所示,完成相关的设置。

图1 DNS服务配置实例图有图有真相实训内容1.DNS服务器的安装2.DNS客户端设置3.DNS服务器的配置与管理实训步骤1.如果在安装域控制器时,已经选择安装DNS服务器,则不需要再进行二次安装,如果原来没有DNS服务器;也可以单独安装DNS。

主要包括以下步骤:(1)选择一台已经安装好Windows 2003的服务器(名称为),确认其已安装了TCP/IP协议,先设置服务器自己TCP/IP协议的属性。

(2)运行【开始】/【设置】/【网络和拨号连接】,鼠标右键单击【本地连接】,选择【属性】/【Internet协议(TCP/IP)】/【属性】,设置IP地址为192.168.100.1,子网掩码为255.255.255.0,DNS服务器地址为192.168.100.1。

(3)运行【控制面板】中的【添加/删除程序】选项,选择【添加/删除Windows组件】。

(4)选择【网络服务】复选框,并单击【详细信息】按钮。

(5)在【网络服务】对话框中,选择【域名系统(DNS)】,单击【确定】按钮,系统开始自动安装相应服务程序。

除组件添加方式也可以采用网络服务管理器.......实现添加DNS。

2.完成DNS客户端设置。

(1)选择一台装有Windows xp Professional的客户机(名称为work),确认其已安装了TCP/IP协议,设置TCP/IP协议的属性。

(2)运行【开始】/【设置】/【网络和拨号连接】,鼠标右键单击【本地连接】,选择【属性】/【Internet协议(TCP/IP)】/【属性】,设置IP地址为192.168.100.2,子网掩码为255.255.255.0,DNS服务器地址为192.168.100.1。

VisualSVNServer的配置和使用方法

VisualSVNServer的配置和使用方法

VisualSVNServer的配置和使用方法VisualSVN Server是一款Windows平台下的免费的开源软件,用于在Windows操作系统上搭建和管理Subversion(SVN)代码仓库。

它提供了易用的用户界面和丰富的功能,使得创建和维护SVN仓库变得非常容易。

下面将介绍VisualSVN Server的配置和使用方法。

2.创建代码仓库安装完成后,打开VisualSVN Server管理界面,点击“Create New Repository”按钮来创建一个新的代码仓库。

在弹出的对话框中,可以设置仓库的名称和路径。

3.配置访问权限4.配置身份验证5.配置加密6.配置邮件通知7.访问仓库在代码仓库创建和配置完成后,可以使用任意支持SVN协议的客户端软件访问仓库。

例如,可以使用TortoiseSVN、SmartSVN等客户端软件。

8.设置用户访问权限在客户端软件中,可以通过设置用户的用户名和密码来访问仓库。

访问权限由服务器上的访问控制配置决定,用户只能访问具有相应访问权限的仓库。

9.提交和更新代码在客户端软件中,可以使用SVN命令来提交和更新代码。

提交代码时,可以选择提交到哪个仓库和哪个分支。

更新代码时,可以选择从哪个仓库和哪个分支更新。

10.查看日志和历史在客户端软件中,可以查看仓库中的日志和历史记录。

日志记录了每次提交的相关信息,包括提交者、提交时间、提交说明等。

历史记录显示了每个文件的修改历史和版本号。

总结:VisualSVN Server是一款简单易用的SVN服务器软件,通过上述配置和使用方法,可以轻松搭建和管理SVN仓库,并设置相应的访问权限、身份验证、加密和邮件通知功能。

通过SVN客户端软件,可以方便地提交和更新代码,并查看仓库的日志和历史记录。

VisualSVN Server对于团队协作和版本控制非常有用,是开发人员必备的工具之一。

中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心- 使用帮助文档让我们从零开始,Step By Step地尝试使用Svn Hosting及Subverson这个超级工具来革新我们的开发流程。

第一步,注册帐号并新建项目1. 首先你需要先注册一个Svn Hosting的帐号并成功激活;2. 登录后,点击“我的项目”,在里面新建一个项目;3. 新建成功后,点击该项目的详细页,复制“SVN地址”的链接。

第二步,checkout1. 下载和安装SVN的客户端TortoiseSVN,安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。

2. 从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN的菜单项。

选择SVN Checkout,如下图示:3. 填写源代码的SVN路径和本地文件夹。

就是刚刚你在Svn Hosting上新建的那个项目,复制下来的那个地址。

例如,源代码路径是/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。

4. 然后他会提示你输入帐户,密码,将你在SVN Hosting注册的帐号和密码填上就OK。

第三步,把你的程序源码放入源码库1. 你是不是发现checkout下来的目录空空如也,如果你打开这个目录,你会发现除了一个.svn的隐藏目录,空空如也。

是的,这是正常的。

.svn目录用来记录你所有的操作记录,以一种不可思议的纪录方式。

图4:checkout finished后图5:目录列表-这些小图标正是版本管理的标志,表明了这些目录正在使用SVN进行管理。

打勾表示当前目录没有作代码更新;打“!”表明你更改了源代码,需要commit了。

图五:进到test目录里,发现空空如也,这是正常的,你没有放任何源码进去。

2. 现在,把你的源码放进去这个目录里面吧。

第四步,Commit和Update1. 你现在应该要把你这个项目的代码提交到源代码库了。

SVN强制提交LOG的配置说明

SVN强制提交LOG的配置说明

SVN强制提交LOG的配置手顺一、现有SVN的安装环境:SVN服务器安装目录:C:\Program Files\VisualSVN Server\SVN仓库所在的位置:D:\ Repositories\RiverStone该SVN服务端安装在windows server2003系统的台式机上。

二、配置过程:1、在windows server2003系统的台式机上D:\ Repositories\RiverStone\hooks的目录下新建一个名为pre-commit.bat的批处理文件。

2、编辑该文件,即在pre-commit.bat文件中加入如下代码:@echo offset SVN_BINDIR="C:\Program Files\VisualSVN Server\bin"setlocalrem check that logmessage contains at least 10 characters%SVN_BINDIR%\svnlook log %1 -t %2 | findstr ".........." >nulif %errorlevel% gtr 0 goto errexit 0:errecho 请在Recent Message输入框中填写至少10个字符(5个汉字)的说明,否则不能对SVN 作任何变更! 1>&2exit 1保存后,关闭该文件。

3、在windows server2003系统的台式机上选择:开始->所有程序->TortoiseSVN->Settings,出现如下对话框:选中上图中的"Hook Scripts",点击"Add...";4、出现如下对话框:①在上图中的Hook Type下拉框中选择"Pre-Commit Hook"。

②在上图中的Working Copy Path中选择SVN仓库所在的位置:D:\ Repositories\Riverstone③在上图中的Command Line To Execute中选择此前在D:\ Repositories\Riverstone\hooks目录下新建的pre-commit.bat文件。

SVN入门及配置使用

编辑版本库目录的conf/svnserve.conf文件:1)设置匿名访问[general]anon-access = none #无权限anon-access = read #只读anon-access = write #打开匿名的写访问,但这样很危险,不能控制谁来修改版本库2)使用用户和密码2.1)定义保存用户名和密码的文件和一个认证域[general]password-db = <userfile> #指出保存用户和密码列表的文件,可以是绝对或相对路径realm = example realm #定义认证域anon-access = readauth-access = write2.2)然后在userfile文件中指明用户名和密码:(格式为―用户名=密码‖)[users]harry = foopasswordsall = barpassword2.2 Windows下的svnserve配置2.2.0 安装svnserve1)从/servlets/ProjectDocumentList?folderID=91得到最新版本的Subversion(如果之前已经安装了subversion,svnserve已经在服务器上运行,需要先停止服务)2)安装subversion,然后进入subversion的安装目录,找到bin目录下的文件svnserve.exe,int13_svn.dll,libapr.dll,libapriconv.dll,libapriutil.dll,libdb*.dll,libeay32.dll和ssleay32.dll,将它们复制到服务器目录下(如C:\svnserve)。

2.2.1 以守护方式运行svnserve在命令行窗口输入svnserve.exe --daemon,则svnserve将会在端口3690等待请求,--daemon选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退出。

SVN配置

一. 安装服务器(Windows)1.解压假设解压到F:\svn解压后文件列表如下:2.设置环境变量添加SVN_HOM=F:\svn设置PATH=%SVN_HOME%\bin添加SVN_EDITOR=notepad.exe3.创建仓库使用svnadmin create 仓库绝对路径命令svnadmin create F:\svn\svn_repository该命令会在F:\svn\svn_repository生成一些目录和配置文件4.修改配置文件到F:\svn\svn_repository目录下passwd文件–/conf目录下用于存放本svn库的用户名和密码,用= 分割,如:用户名= 密码;左边是用户名,右边是密码(明文)。

authz –/conf目录下用于存放本svn库的访问授权信息。

svnserve.conf — /conf目录下用于存放本svn库的全局访问控制信息用文本编辑器打开svnserve.conf加上两句[general]password-db = passwd打开同目录下同目录的passwd文件(设置用户密码)加上svnadmin = adminuser = user打开同目录的authz文件,它定义了两部分的内容:1,对组成员的定义,2,对目录的授权定义,可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,授权的选项有:只读访问(‘r’),读写访问(‘rw’),或者无权防问(”).加[/]svnadmin,user = rw二.启动svnserve -d -r 项目主目录绝对路径svnserve -d -r F:\svn\svn_repository服务器已启动三.安装SVN客户端1.安装2.连接SVN服务器安装完毕后任意位置右键弹出菜单,如下图选择将列出选择URL填svn://127.0.0.1点击OK按钮这就是我建立的资源仓库文件树3.上传文件至资源库选中要上传的内容的父文件夹右键该文件夹选择选择点击OK要求输入用户名密码将刚才在passwd文件定义的用户名密码填入点击OK参考第2步的描述即可查看上传到资源库的文件三.从服务器检出文件到本地任意位置新建文件夹,假设在桌面建立project文件夹右键该文件夹选择点击OK文件已检出到project打开project文件夹四.备份运行命令:svnadmin dump 要备份资源库绝对路径>备份目的地文件绝对路径五.恢复创建恢复目的资源库:svnadmin create 资源库绝对路径恢复到资源科:svnadmin load 目标资源库绝对路径<备份文件。

SVN服务端客户端tSVN详细使用手册

SVN (Subversion+tortoiseSVN)使用手册编写:高健MSN:hhjtu524@日期:2011-3-28 SVN服务搭建 (2)下载相关软件 (2)安装 (2)SVN服务器信息 (3)SVN服务基本信息 (3)SVN单工程管理 (3)创建版本库 (3)服务启动 (6)SVN工程导入 (7)SVN客户端使用 (9)工程下载 (9)文件对比 (11)文件更新 (12)文件提交 (14)新增文件 (16)删除文件 (18)SVN注册和删除服务 (20)服务注册 (20)服务卸载 (21)SVN多工程管理 (21)SVN的备份说明 (22)完全备份 (23)增量备份 (24)同步版本库 (25)导读:本文包括了服务搭建、工程管理和客户端使用(针对windows平台)等方面。

请注意SVN注册服务、SVN多工程管理(权限配置)、SVN备份说明等章节。

SVN服务搭建下载相关软件服务端Subversion官网:/ or /下载地址:win32svn /projects/win32svn/客户端tortoiseSVN官网:/ or 下载地址:/projects/tortoisesvn安装服务端是以.msi后缀名的安装文件,安装过程就不详细介绍了,按照它的提示一步步操作即可,如下图:实际安装路径是C:\Program Files\Subversion。

TortoiseSVN 客户端安装如下图:客户端的安装完成后会提示系统需要重启。

SVN服务器信息服务器类型:虚拟服务器win2003系统服务器地址:10.88.19.67账户名:administrator密码:123456SVN服务基本信息安装目录:C:\Program Files\Subversion版本库根目录:C:\svnroot(在该目录下建立工程文件夹)SVN单工程管理创建版本库在C:\svnroot\下建立空文件夹project1,然后打开命令窗口,键入svnadmin create C:\svnroot\test1 回车,会在目录C:\svnroot\project1文件夹下相应的文件,目录结构如下图:也可使用客户端工具(服务器本地客户端):新建文件夹C:\svnroot\project2(文件夹下必须是空的),在该文件夹下右击选中TortoiseSVN,如下图:以客户端建立的工程文件结构与使用命令建立完全一致,如下图:目录创建完成后,修改配置文件对版本库进行配置如下:修改配置文件(以下创建以project1为例)在C:\svnroot\project1\conf\ 目录下会看到svnserver.conf、passwd和authz三个文件,其中svnserve.conf是服务总的配置文件,配置访问方式、鉴权等,passwd是账号配置文件,authz是组和访问权限配置文件,目录结构如下图:对svnserve.conf文修改,具体如下图:这段配置文件的基本含义为:anon-access = read 匿名用户的权限,文件中为read表示拥有只读权限auth-access = write 验证通过用户的权限,文件中为write表示拥有写的权限权限包括none、read、write三个值可选,none没有权限,写包含了读权限去掉#注释时,前面不要有空格password-db = passwd密码数据存放到passwd文件中authz-db = authz表示版本库中访问路径的规则,即谁只能访问哪个目录下的文件,其他目录下的文件无法访问。

SVN的安装与使用

SVN的安装与使用目录一、安装VisualSVN (2)二、安装SVN客户端TortoiseSVN (4)三、使用VisualSVN (5)1. 创建Repositorties (5)2. 用户、组创建以及权限设置 (9)四、MyEclipse配置svn插件 (11)1. 方式一 (11)2、方式二 (12)五、TortoiseSVN的使用 (12)1. 图标含义 (13)2. 使用TortoiseSVN创建仓库 (13)3. 备份仓库 (15)4. 上传项目到svn仓库 (16)5. 检出项目 (17)6.提交更改 (20)6. 解决冲突 (23)6.1文件冲突 (23)6.2属性冲突 (32)6.3树冲突 (32)7. 分支/标记 (32)7.1 创建一个分支或标记 (32)7.2创建分支或标记的其他方式 (34)7.3标记与分支的不同 (35)8.更多内容详见TortoiseSVN帮助文档 (50)六、svn上传 (51)七、Svn检出 (56)1.方式一 (56)2.方式二 (62)八、分支 (62)九、切换 (64)十、合并 (65)十一、Svn对比 (71)十二、添加 (71)十三、加锁、解锁 (72)一、安装VisualSVN1.先到/package.html下载如下的安装文件2.双击安装msi文件,点击Next接受安装许可,点击Next按默认选择,点击Next选择Standard Edition修改安装目录Location,以及Repositories位置,Server Port按默认,勾选使用安全连接https,Next二、安装SVN客户端TortoiseSVN1.下载/downloads.html2.双击msi文件安装,一路next默认即可成功安装三、使用VisualSVN1.创建Repositorties○1选择Repositories,右键,点击Create New Repository○2选择FSFS仓库类型,下一步,VDFS是分布式的Repository,需要升级为Enterprice Edition○3输入仓库名○4选择Empty repository创建一个空的Repository,选择Single-project会默认创建trunk,branches,tags三个目录○5默认所有VisualSVN均能进行读写,如果选择自定义权限分配,点击create进入下一步○5点击finish,圆圈内的地址为该仓库的访问URL,这个URL将用于svn的检入、检出等操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Windows 2003下配置SVN自动备份、发布网站
服务端:
操作系统:windows2003
SVN:VisualSVN Server 2.0.7

客户端:
TortoiseSVN 1.6.2

目的:

网站服务器和SVN服务器在同一台机器上,希望实现在自己的的机器上修改完代码后,直接
用TortoiseSVN 提交上去,同时更新网站服务器上的相应文件。

原理:

Subversion是一个强大的版本控制系统,不仅能轻松实现版本库管理的各种功能。更为强大
的是提供了一系列的Hook,可以由事件触发来插入自己的执行代码。

如果你有一个SVN库存放在/repos/test下,那么你的hook将被存放在/repos/test/hooks
目录下。

在这个hook目录下存放着大量的临时文件。分别对应不同的事件:

* start-commit – 提交开始时触发,可以用来做权限检查
* pre-commit – 提交事务之后正式提交之前触发,经常用来检查日志信息。
* post-commit – 提交成功之后触发.可以用来发送邮件通知,备份版本库等。
* pre-revprop-change – 版本库中的某个属性发生改变前,可以用来做权限检查
* post-revprop-change – 版本库中的某个属性发生改变后,可以用来发送邮件通知
或记录改变的属性.
* pre-lock – 锁定文件前发生,可以用来做权限检查
* post-lock – 锁定文件后发生,可以用来发送邮件通知或记录锁定的文件
* pre-unlock – 解除锁定文件前发生,可以用来做权限检查
* post-unlock – 解除锁定文件后发生,可以用来发送邮件通知或记录解除锁定的文

在这里,我们需要处理的是post-commit事件,也就是说需要在文件提交成功后通知网站更
新数据。

步骤:

1. 安装VisualSVN Server 2.0.7,整个安装过程非常简单,安装完就可以在windows
的管理页面看到了,设置也比较简单。但是安装完默认使用SYSTEM用户来执行,对目录没
有写的权限,会导致执行第4步Hook脚本失败,所以还需要修改一下VisualSVN Server
服务的登录用户,我这里将其设置为了Administrator 。

如图:
2. 设置网站根目录(如:e:\web) 为SVN工作目录,从版本库下载所有文件
3. 在hook目录中创建一个文件post-commit.bat (注意:windows下有效的脚本类型
可以是,.bat .com .exe 或其他有效的Python脚本,perl脚本),因为不需要太复杂的
功能,所以使用bat是最简单的。
4. 编辑 post-commit.bat 内容为:

"E:\Program Files\VisualSVN Server\bin\svn.exe" update "e:\web\"

这段代码意思是使用SVN从版本库更新网站根目录

Ok,就这么几步,在设置的时候,由于还不知道VisualSVN Server的执行权限问题,导致
每次 commit 后客户端都停止响应,但自己执行 post-commit.bat 又没有什么问题,最后
反复查找才发现了问题所在,记录下来,希望能给遇到相同问题的朋友一点帮助。
http://www.tzvct.com/

相关文档
最新文档