如何在windows下安装reviewboard

    reviewboard作为一个开源的代码复查工具,已经受到越来越多的开发人员喜爱。然而,也是由于其开源的特性,使得其的安装也过于linux化。在linux下,只需要下载安装指定的包即可,包之间的依赖会自动地进行处理。然而在windows下,就需要安装人员手动地处理各种依赖情况。况且reviewboard官方对于如何在windows下安装也没有一个直接的step by step操作,如果仅是按照官方的操作进行,是绝对安装不了的。
    问题主要有几个,python版本,phthon mysql的windows支持,python与apache的整合。 这几天问题主要即是因为windows的开发和linux的开发不一致,在windows下并没有最新或直接支持的相应版本造成的。
    我通过一次次的努力,终于在windows下安装成功,并能与apache成功整合。现将整个安装过程,记录下来,对其他有兴趣使用reviewboard的人员也有帮助。

    首先,下载以下的安装包,具体下载地址请google,这里只是将包名称,截图下来,相信大家根据名称即会找到相应组件。
    接下来,即是按照步骤一步一步地进行安装了。

    安装python 2.5,使用python-2.5.4.msi进行安装,建议安装在C:\Python25下面,即默认的安装路径。

    安装easy_install工具,使用setuptools-0.6c11.win32-py2.5.exe进行安装,默认安装路径。

    设置环境变量,将C:\ Python25和C:\ Python25\Scripts,设置在path变量中。

    安装patch工具,该用于用于生成两个文件的diff文件。使用patch-2.5.9-7-setup.exe进行安装。建议安装在C:\GnuWin32目录。安装完之后,将bin目录,添加到系统的环境变量当中(注意是系统环境变量,不是个人环境变量)。

    安装memcached工具,该工具用于在reviewboard过程中进行数据缓存处理。使用memcached-1.2.6-win32-bin.zip,将其解压在c:\目录下,并在cmd下运行

memcached.exe –d install

    将其安装成服务,并在服务中将其启动。

    在cmd下执行

easy_install python-memcached

    以安装python-memcached,该工具为python与memcached交互的工具包。此命令会联网进行安装,因此必须要联网。

    安装Python Imaging Library,此用于安装review board所需要使用的图形处理工具。使用PIL-1.1.7.win32-py2.5.exe进行安装。

    安装Pycrypto,此用于Reviewboard支持ssh的仓库访问。使用pycrypto-2.3.win32-py2.5.zip进行安装。

    安装reviewboard,在cmd下执行以下命令进行安装

easy_install ReviewBoard

    安装数据库支持,在本文中,使用mysql作为底层数据库,因此安装python的mysql支持,使用MySQL-python-1.2.2.win32-py2.5.exe进行安装。

    安装svn支持,svn用于连接svn与我们的svn代码库。这里需要svn的客户端,以及python对svn的支持。安装svn客户端,使用CollabNetSubversion-client-1.6.16-1.win32.exe进行安装。安装python的svn支持,使用py25-pysvn-svn161-1.7.0-1177.exe进行安装。

    安装python与apache之间的整合,在本安装过程中使用了apache作为web服务器。对于apache2.2,使用mod_python-3.3.1.win32-py2.5-Apache2.2.exe进行安装;对于apache2.0,使用mod_python-3.3.1.win32-py2.5-Apache2.0.exe进行安装。

    开启reviewboard,在命令行下,输入以下命令,用于安装reviewboard:

rb-site install 安装位置

       接下来,填写相应的信息,需要注意的是,在安装过程中会选择数据库。Reviewboard会自动创建相应的表,但不会创建数据库,这就需要我们在之前已经将数据库创建好了。其次,如果想要将reviewboard与现有的apache相整合(即将reviewboard安装在特定的子目录中,则在填写Root Path时,填写一个相对路径,如/xxx/)

    安装成功之后,在相应的目录下,会出现以下目录信息。

    我们关注conf目录下的信息,进入到conf目录,将文件apache-modpython.conf中的信息部分copy到已有apache配置文件中,并进行配置。
    如最终apache中的reviweboard配置文件如下所示:

LoadModule python_module modules/mod_python.so   //加载相应的模块
	<Location "/reviewboard/">
		PythonPath "['e:/reviewboard/conf'] + sys.path"
		SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings
		SetEnv PYTHON_EGG_CACHE "e:/reviewboard/tmp/egg_cache"
		SetEnv HOME "e:/reviewboard/data"
		SetHandler mod_python
		PythonHandler django.core.handlers.modpython
		PythonAutoReload Off
		PythonDebug Off
		# Used to run multiple mod_python sites in the same apache
		PythonInterpreter reviewboard_reviewboard
	</Location>

	# Serve static media without running it through mod_python
	# (overrides the above)
	<Location "/reviewboard/media">
		SetHandler None
	</Location>
	<Location "/reviewboard/errordocs">
		SetHandler None
	</Location>

	<Directory "e:/reviewboard/htdocs">
		AllowOverride All
	</Directory>

	# Alias static media requests to filesystem
	Alias /reviewboard/media "e:/reviewboard/htdocs/media"
	Alias /reviewboard/errordocs "e:/reviewboard/htdocs/errordocs"

 

    配置好之后,即可重装启动apache,进行reviewboard访问了。

转载请标明出处:i flym
本文地址:https://www.iflym.com/index.php/code/install-reviewboard-in-windows.html

相关文章:

作者: flym

I am flym,the master of the site:)

《如何在windows下安装reviewboard》有22个想法

  1. 您好,我也在windows下安装了reviewboard,但是访问时,所有的页面没有加载皮肤,图片,这是为什么呢,我的apache设置和您的设置一样啊?

    1. 有界面出来了,表示安装成功,且reviewboard安装成功,而没有皮肤,图片,这就跟你在rbsite时,所指定的几个路径有关系了。比如media的位置是否设置正确,这几个位置都是相对于reviewboard安装的位置的。你可以尝试修改下相应的配置,主要是rbsite生成的apache配置那几个方面,多折腾几下就出来了。
      或者,你看下apache日志,是否有错误发生?

  2. 可以帮我解决下reviewboard的安装吗?服务器是WIN2003 QQ:249429291 谢谢!

  3. @xiaoyu
    按照上面写的,一定可以安装成功的,主要是你下载各个安装包,是否和上面列出来的一样。还有就是配置的过程。
    具体的过程,看一下报错的相关信息就可以明白哪儿出错了。

  4. 开启reviewboard,在命令行下,输入以下命令,用于安装reviewboard:
    rb-site install 安装位置

    这里有问题呢?能帮我解决下吗?

  5. 感谢博主,博主的意思是各个版本最好不要用最新的,避免版本不一致造成问题?

  6. @居远狂
    这是由于使用2.6,2.7版本时,均会在与apache整合过程中发生一些问题,比如cgi模式无法安装,python mod没有对应的版本等而无法工作。根据我的亲身实践,2.5这个版本相应的文件是全部齐了的。

  7. 大家好,我的情况是这样的,我装了ReviewBoard 到 对ReviewBoard 的访问前的步骤了,可是创建站点之后一直访问不到
    ReviewBoard 界面,不知道是什么原因,请大家帮忙啊~ 谢谢了。

    1. @kim
      这是因为,权限控制问题,你检查一下apache权限配置。apache可能把图片之类禁止了。

  8. 请问在配置的时候找不到我之前安装的MySQL数据库是怎么回事呢?

    1. @richer
      reviewboard在有一项配置时,需要配置数据库。数据库的名称是提前建好了的哦,它只是往里面建表,建数据而已。这一步,你可以先测试一下你的数据库是否可访问。

  9. 您好,reviewboard我已安装运行成功,但是在汉化时遇到问题。我是按照这篇文档中的说明做的:http://wenku.baidu.com/view/5c564565f5335a8102d22079.html。
    按照它的说法,第一步要在ReviewBoard源代码目录下执行django-admin.py makemessages –locale=zh_CN,但是做完之后我并没有发现生成django.po文件。
    我选择的源代码目录就是 rb-site install 指定的安装位置,不知道是不是我对源代码目录理解错了。请博主指点。

  10. 您好,我想请教您一下,我在安装完成reviewboard后,也成功登录了,注册用户、上传文件什么的都可以,但是有一个问题就是收不到邮件,每次有人上传文件都应该自动给管理员或其他用户发送邮件的吧,就是这一点不知道怎么设置了,还请您要是知道的话给帮下忙。

  11. @fangtianyi
    这个你需要修改一下文件,就可以了。好像叫类似sendmail.py类似的文件,由于发送邮件需要用户名密码,因此需要在文件中进行固化,并且也要进行相应的配置就可以了。这个,你可以找下,并且在amin模式下,本身就可以配置发送邮件类的配置,只是在当前我使用的版本,发送不成功而已。这个跟踪下apache下的error.log就可以看出哪儿出错了,稍微修改下就可以了。

  12. 博主,您好!首先十分感谢您,看到您基本上是有评必回,这让我感到非常荣幸,真的很感谢。我按照您说的打开error.log 看到的错误信息是:邮件1到邮件2–(10061, ‘Connection refused’),然后是列出的最后调用的文件:Traceback (most recent call last):email.py,essage.py,smtp.py,smtplib.py,我依次找到这些文件,打开后发现自己根本不知道改哪里,也不敢动,怕改错了,就回复不了了,你看能不能加下qq,或者给个邮箱,想把文件给您看一下,帮帮忙看看,具体怎么改。
    真的谢谢了。

  13. 你好,我们搭建reviewboard也好了,可以上传也可以view diff了,但是还有一个问题,就是不知道如果加comments。网上有的教材说点击某一行就会出现小绿色框框,然后可以加comments了,但是我搭的这个系统不会弹出小绿色框框,请问如何才能弹出这个绿色框框?

  14. 不用麻烦博主了,我知道如何出现绿色框框了,就是点行号。

  15. 博主你好,我在rb-site install 后,出现无论选择什么数据库最后都报错,错误如下:
    Username [admin]:

    Traceback (most recent call last):
    File “D:\Python27\Scripts\rb-site-script.py”, line 8, in
    load_entry_point(‘reviewboard==2.0beta2’, ‘console_scripts’, ‘rb-site’)()
    File “d:\python27\lib\site-packages\reviewboard-2.0beta2-py2.7.egg\reviewboard
    \cmdline\rbsite.py”, line 2066, in main
    command.run()
    File “d:\python27\lib\site-packages\reviewboard-2.0beta2-py2.7.egg\reviewboard
    \cmdline\rbsite.py”, line 1476, in run
    self.ask_admin_user()
    File “d:\python27\lib\site-packages\reviewboard-2.0beta2-py2.7.egg\reviewboard
    \cmdline\rbsite.py”, line 1749, in ask_admin_user
    save_obj=site, save_var=”admin_password”)
    File “d:\python27\lib\site-packages\reviewboard-2.0beta2-py2.7.egg\reviewboard
    \cmdline\rbsite.py”, line 834, in prompt_input
    value = getpass.getpass(prompt)
    File “D:\Python27\lib\getpass.py”, line 95, in win_getpass
    msvcrt.putch(c)
    TypeError: must be char, not unicode

    请问你有遇到过这样的情况吗,能否留个联系方式,真是感激万分。

  16. #wz14 从你的错误描述来看,是编码上面的问题
    TypeError: must be char, not unicode
    这个就是错误原因,但具体如何处理,我现在可能帮不上忙。因为我后来也直接转向linux上安装了,windows上使用python27也是问题多多。

    我是使用虚拟机,在Fedora上直接安装最新版本的,一次就成功了。

发表评论

邮箱地址不会被公开。 必填项已用*标注