心随所至,梦想为开。Follow the Dreams & Heart.
Posts tagged SVN
升级到WordPress2.7,新特性及demo
Dec 11th
在经历了两个RC版本后,今天终于发布了WordPress 2.7 Final。由于主机服务商的一键升级还没有提供,于是继续“使用SVN升级Wordpress”。由于从这个版本开始,系统已经内置了在线升级Wordpress核心的功能,所以这应该是最后一次手动升级了。
svn co http://svn.automattic.com/wordpress/tags/2.7/ wordpress-svn
cp wordpress-svn/* satwe.com/ –f –r
升级之后的系统完全正常。
相对以往来说,Wordpress 2.7 版本增加了许多新鲜特征,其中最大的改变是后台的布局。另外,根据Wordpress以往的习惯,由于一些特性已经被Wordpress集成,这次更新又会导致一批插件下岗。
主要特性有:
使用svn升级WordPress到2.6.3
Oct 24th
由于WordPress用来抓取RSS的Snoopy库存在安全漏洞,导致攻击者可以入侵服务器。WordPress今天升级到2.6.3来修补漏洞。
以前都是通过Dreamhost的OneClick来升级Wordpress,后来下载tar文件来覆盖升级,今天想既然平常都用subversion来开发,为啥不试一下svn升级呢。
于是下面步骤,与官方的略有不同:
- ssh登录进系统,建立目录wordpress
- 使用svn得到官方的2.6.3的版本 svn co http://svn.automattic.com/wordpress/tags/2.6.3/ ./wordpress/
- 覆盖到你的blog目录,注意如果你修改了default或者classic主题,需要提前备份。建议自己换个名字。 copy –R –f wordpress/* ~/satwe.com/
- 浏览器访问 http://www.satwe.com/ wp-admin/upgrade.php来进行数据库升级。
注意,如果想得到2.6分支的最新版本,需要check out下面地址: svn co http://svn.automattic.com/wordpress/branches/2.6/ ./wordpress/
如果想试用最新版本(目前是2.7beta),则 svn co http://svn.automattic.com/wordpress/trunk ./wordpress/
如果对Subversion感兴趣,可以访问这里:Subversion专题。
Subversion 1.5 发布
Jun 20th
Subversion-1.5终于发布了,这次版本更新相对于1.4来说增加了许多激动人心的特征:
* 合并跟踪(基础) * 稀疏检出(通过新的–depth选项) * 交互式的冲突解决 * 变更列表支持 * svn:externals的相对URL和peg修订版本 * 对于ra_svn和svnserve的Cyrus SASL支持 * 通过sharding对于FSFS的大规模开发的支持 * FSFS优化,通过不变的文件隔离 * WebDAV的透明通过代理写 * copy 和move的改进 * 速度改进,取消响应改进 * 更简单的使用试验ra_serf DAV访问模块 * API改变、改进以及语言绑定 * 超过150的bug修正,改进
具体的更新说明文档:http://subversion.tigris.org/svn_1.5_releasenotes.html
相应的,TortoiseSvn也更新到了1.5版本,更新说明:http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html。
注意:使用TSVN1.5后,会自动的把本地的working copy升级到1.5格式。服务器更新Subversion-1.5之后,版本库不会自动升级为1.5,如果升级,需要执行svnadmin -upgrade命令。
使用SVNManager管理使用SVN
Jul 31st
Subversion有着非常好的特性,但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现,非常不方便。(题外:可以通过配置apache使用mysql来管理用户(mod_auth_mysql),但是用户组以及代码仓库的管理还是不方便)
所幸,我们遇到的问题就是大家遇到的问题,SVNManager就是为了解决这个问题而出现的
SVNManager的介绍不太复杂,但是由于一些依赖的库的关系,第一次安装确可能会遇到各种问题,而官方文档上并没有解释。下面罗列一下具体的步骤。
1.软件下载
- Apache-2.0.59
- PHP-5.1.2, 这里要求是5.0以上版本
- PHP Pear, 这个在5.1.2中默认已经包括了,不过需要执行一个安装的步骤
- VersionControl_SVN,这个可以通过pear安装
- mysql or sqlite: 需要在php.ini中配置好
- SvnManager-0.39
2.安装(这里为windows平台下,linux平台类似)
(假设SVN以及Apache已经配置好,如果没有请参考本文底部的“相关文章”)
- 安装pear 安装完php-5.1.2之后(包括msi或者zip版本),在php的安装目录有go-pear.bat批处理文件,运行之。 运行完后,检查c:\windows\php.ini中是否包括这一行: include_path = “.;F:\apache\php\PEAR”
- 安装VersionControl_SVN,可以通过命令行来自动下载安装 pear install VersionControl 或者从网站下载后解压缩到PEAR目录
- 根据需要,检查php是否已经开启了mysql或者sqlite的支持 在c:\windows\php.ini查看下面两行前面的分号已经去掉: extension=php_pdo.dll extension=php_sqlite.dll或者extension=php_pdo_mysql.dll 并确保php扩展的目录制定正确: extension_dir = “F:\apache\php\ext” 可以通过phpinfo()检查是否加载成功。
- 安装SVNManager 上面完成之后,安装SVNManager就非常简单。 将SVNManager解压缩到网站目录,修改config.php,主要是设定htpasswd, svn, svn-admin以及svn_passwd_file等文件位置,参考注释很容易修改。
- 浏览器中打开SVNManager网址,之后可以使用config.php中的临时管理用户密码登录,并添加第一个管理员帐号(一定要做)。然后通过这个帐号就可以进行用户以及代码仓库的管理工作。
3. 附录 DAV svn SVNParentPath “F:/SVNData/svn” SVNListParentPath on
AuthzSVNAccessFile F:/SVNData/svn_access_file
Require valid-user
AuthType Basic AuthName “Subversion repository” AuthUserFile F:/SVNData/svn_passwd_file
集成Subversion(SVN)与Apache 2.0.x
Jun 18th
前面的blog主要介绍了Trac以及Trac与Apache的集成,下面补充说明一下Subversion与Apache的集成。
1. 下载并安装程序
- Apache-2.0.59,在目前win32平台下,建议暂时不要选择Apache2.2.x,因为包括SVN在内,很多Module都还没有支持Apache2.2的版本
- svn-1.4.3,执行安装程序会自动的配置apache的配置文件httpd.conf。如果没有自动配置成功,需参考后面说明手动配置。
- TortoiseSVN,这是一个可选软件,和本主题没有关系。但是如果在win32平台下开发,还是非常推荐使用这个SVN扩展。
2. 配置httpd.conf
- 将Subverion安装目录下的mod_dav_svn.so和mod_authz_svn.so复制到Apache的modules目录
- 打开httpd.conf,增加如下两行: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
- 注意,由于dav_svn需要dav_module的支持,所以要确保下面这一行没有被注释,并且保证在dav_svn之前加载: LoadModule dav_module modules/mod_dav.so
3. 设置SVN的目录
Trac与Apache的集成(ModPython)
Jun 13th
在”Trac+SVN的安装与配置(tracd模式)“中介绍了以tracd方式的trac服务器的安装与配置,今天来研究一下Trac通过ModPython来与Apache的集成。
与tracd的方式相比,和Apache的集成有很多优点,比如充分利用apache的强大功能以及ModPython的高效率,便于管理与控制,很方便支持ssl等等。
1. 下载并安装程序
- 假设已经按照”Trac+SVN的安装与配置(tracd模式)“中的说明安装好了Trac。如果没有请参考安装
- Apache-2.0.59:如果选择2.2,注意下面的ModPython的版本要对应
- ModPython-3.3.1:这里注意选择与apache和python对应的版本,安装过程中会要求选择apache的安装目录,并且自动把mod_python.so复制到modules目录
2. 配置
- 配置ModPython 在apache的httpd.conf中加入下面一行: LoadModule python_module modules/mod_python.so
- 配置trac 在apache的httpd.conf中加入下面内容: <Location /trac> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv F:\trac\proj1 PythonOption TracUriRoot /trac </Location>
- 然后就通过http://localhost/trac来访问
3. 下一步工作
- 配置Authentication
参考资料:
Trac+SVN的安装与配置(tracd模式)
Jun 12th
Trac最大的优点是其与wiki的集成,并且非常方便地与svn进行集成,而且是用python开发的,非常令人兴奋。
如果是在windows下安装的话,python的版本最好选择2.4。有一些模块于python25并不兼容。如果是在linux下安装,则可以安装最新的版本。
安装与配置都非常简单,下载完程序并依次安装完成就基本上可以了,具体如下:
1. 下载程序并安装程序(首先安装python,其余随便)
- Python24
- Trac 0.10.2
- Clearsilver-0.9.14 如果是linux平台,可以选择更新的版本
- Pysqlite 2.3.2
- svn-python-1.4.2
2. 配置Trac(假设python安装在c:\python,trac建立在F:\trac\proj1)
- 初始化trac环境: c:\python\scripts> ..\python.exe trac-admin f:\trac\proj1 initenv 根据提示,输入工程名称,数据库,svn版本库等信息,根据需要输入
- 启动tracd c:\python\scripts>..\python.exe tracd –port 8000 f:\trac\proj1 补充:如果是需要同时开发多个工程,可以这样: c:\python\scripts>..\python.exe tracd –port 8000 f:\trac\proj1 f:\trac\proj2 或者启动一个目录下的所有工程: c:\python\scripts>..\python.exe tracd –port 8000 -e f:\trac\
- 这样就可以通过http://localhost:8000/来访问trac系统了。
- 另外,和大部分程序类似,trac的配置文件为安装目录下conf\trac.ini,可以自行修改各项参数。
参考资料:
下一步的工作:
- 与apache的集成
- 权限管理
- trac的模块与插件