Categories
技术讨论

记忆力不好,但是Wikipedia很好很强大

换台电脑工作也还是件很麻烦的事情,特别是所有一切都得自己来装的时候。真后悔没把当初电脑全盘复制下来。。。

由于还是建造一套开发支持环境,沿着多年的习惯,自然还是要Apache,PHP,Mysql,Python…但是脑子里还是很清晰的记得,经过多次尝试之后,有一个AMP的套装用起来很惬意,但是搜索时候,发现脑袋里对它的名字一片空白。

既然记不起来就google吧,找到几个都不是目标,知道后来找到这里:Comparison of WAMPs,心想作为最伟大权威的资料库,这里面肯定有它的影子,果然找到了,它就是XAMPP,你说叫啥不好,非要出来一个X,最后还要加个P。

ps1:人有时候就是很贱,非要熬夜才有效率。

ps2:hygeen每周末要狂奔700mile去牛郎织女,可歌可泣,四个轮子也的确比两个轮子好。

Categories
技术讨论

使用SVNManager管理使用SVN

Subversion有着非常好的特性,但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现,非常不方便。(题外:可以通过配置apache使用mysql来管理用户(mod_auth_mysql),但是用户组以及代码仓库的管理还是不方便)

所幸,我们遇到的问题就是大家遇到的问题,SVNManager就是为了解决这个问题而出现的 🙂

SVNManager的介绍不太复杂,但是由于一些依赖的库的关系,第一次安装确可能会遇到各种问题,而官方文档上并没有解释。下面罗列一下具体的步骤。

1.软件下载

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

Categories
技术讨论

配置Apache2使用mysql进行身份验证

在进行Bugfree和Subversion/Trac进行集成的时候,不可避免的面对了用户身份验证的集成问题。

由于Bugfree是php+mysql的系统,用户信息保存在buguser表中,用户名和密码字段分别是UserName和UserPassword,密码默认采用md5加密。

因此,唯一可行的方法就是配置Apache2来利用mysql数据库中的数据进行验证。因此选择mod_auth_mysql.

在官方网站上没有binnary下载,推荐到这里下载:

配置则相对比较简单,按照说明配置好数据库以及表和字段等即可:

下面是一个例子:

Categories
技术讨论

Trac与Apache集成时的身份验证

前面进行了Trac与Apache的集成,但是还留了一个尾巴,那就是用户身份的验证和授权管理。

1. 身份验证

Trac可以使用Apache的身份验证。

  • 创建密码文件
    F:\apache\bin>htpasswd -cp F:\apache\conf\trac.passwd test
    New password: ****
    Re-type new password: ****
    Adding password for user test
    在这里使用了-p参数,是以明文的方式保存密码。win平台下默认是MD5加密,但是在配置Trac的时候总提示密码文件格式不对,有谁知道如何解决,请指教。
  • 配置身份验证
    <Location “/trac/login”> #设置Trac用户验证
    AuthType Basic
    AuthName “Trac”
    AuthUserFile F:\apache\conf\trac.passwd
    Require valid-user
    </Location>

2. Trac的授权设置

Categories
技术讨论

集成Subversion(SVN)与Apache 2.0.x

前面的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的目录

Categories
随心所记

改造升级WordPress笔记

一直对原先各种主题不能占满屏幕不爽,但是一直也没有找到合适的。于是在这次升级时候一不做二不休,大大改造了一番。

主要有:

  • WordPress升级至最新的2.2版
  • 主题theme改为AndyBlue-1.4,可以占满屏幕,很不错
  • 启用了插件Simple Tagging-1.6.7,很是灵活方便,而且比UTW占用资源要小。顺便有一些模板上的集成修改。
  • 修改了Permalinks的规则,从原先的/2006/02/123.html的形式改为/2006/02/simpel-title/123.html的形式,便于搜索。
  • 后两项工作最为费力,因为blog的标题都不是英文的,需要手动的为每篇blog添加post plug。好在正好为blog增加tag,于是一起做了。

关于Permalinks的规则修改必将影响现在搜索引擎的结果的访问,打算用rewirte rule来支持原先格式,暂时没有调通。即使失去也不可惜吧,反正现在每天才几十个pv。

补充:

  • 总算研究明白了rewriterule的规则了,采用下面的规则即可:
    RewriteRule ^200[6-7]/[0-1][0-9]/([0-9]+)\.html$ /indexi\.php\?p=$1 [QSA,L]
    一直匹配出错是因为在url的开始多写了一个“/”:
    RewriteRule ^/200[6-7]/[0-1][0-9]/([0-9]+)\.html$ /indexi\.php\?p=$1 [QSA,L]

Apache的rewrite规则还是很方便的,而且dreamhost支持目录下.htaccess,很灵活。