论坛首页 编程语言技术论坛

在CentOS上安装warehouse(Subversion browser)

浏览 3846 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-18   最后修改:2009-03-18
前两天看了23个优秀的开源Ruby On Rails应用,对里面的warehouse比较感兴趣,上他的网站上一看,说是要收费的。后来不死心又在网上搜了一下,发现他的确是开源了,赶紧下了装上体验一番,下面是安装过程。

warehouse在github上的地址:http://github.com/entp/warehouse/tree/master
英文的安装文档:http://blog.andremedeiros.info/2008/10/warehouse-installation-tutorial/

1. 安装依赖
安装Phusion Passenger
gem install passenger
passenger-install-apache2-module


然后在新建一个/etc/httpd/conf.d/ror.conf文件
内容如下
引用

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passen
ger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/bin/ruby

<VirtualHost *:80>
ServerName warehouse.xxb
        DocumentRoot /var/www/warehouse/public
        ErrorLog /var/log/httpd/warehouse_error.log
        LogLevel warn
        CustomLog /var/log/httpd/warehouse_access.log combined
SetEnv USEREPOPATHS 1
</VirtualHost>


安装其它gem
sudo gem install rails -v=2.0.2
sudo gem install rake
sudo gem install erubis
sudo gem install ultraviolet


ultraviolet是可选的,好像是支持语法高亮的。编译的过程可能会出错,要先安装onig,下载地址在这里http://www.geocities.jp/kosako3/oniguruma/

2. 创建数据库和用户
在mysql shell里执行
create database warehouse;
GRANT ALL PRIVILEGES ON warehouse.* TO 'warehouse'@'localhost' IDENTIFIED BY 'warehouse' WITH GRANT OPTION;


3. 创建svn repository
略。

4. 下载和配置warehouse
git clone git://github.com/entp/warehouse.git warehouse
cd warehouse
cp config/database.sample.yml config/database.yml
mkdir log
rake tmp:create
RAILS_ENV=production rake db:schema:load


配置virtual host
就是上面新建的ror.conf里VirtualHost那段内容,下面大致解释一下
#访问的虚拟主机的域名,没域名的在hosts文件里自己加
ServerName warehouse.xxb
#warehouse的绝对路径,别忘了指到它下面的public目录
DocumentRoot /var/www/warehouse/public
ErrorLog /var/log/httpd/warehouse_error.log
LogLevel warn
CustomLog /var/log/httpd/warehouse_access.log combined
#这个环境变量指定使用repository path,而不是默认的子域名方式
#比如有个叫xxx的svn repository,默认的访问路径是xxx.warehouse.xxb,使用这个参数后变成,warehouse.xxb/xxx
#好处是可以不用为每个repository在hosts文件里加子域名
SetEnv USEREPOPATHS 1

重启http服务
service httpd restart


5. install
在浏览器里,打开http://warehouse.xxb/install(warehouse.xxb换成你自己的域名)
输入一些信息之后,就安装完成了。


问题:本来想把warehouse安装在一个子目录下的,就是http://xxx.xxx.xxx/warehouse,但是有问题,只能看到changeset,登录和svn browse都看不到,所以只好装在根目录了,要是有谁解决了这个问题能安装在子目录下的话,请指点一下
   发表时间:2009-04-01  
deadeye 你好:


   我也是看了23个优秀的开源Ruby On Rails应用,对里面的warehouse比较感兴趣,在centos5.2上装来试试,但是我没有成功,在做到rake db:schema:load这步初始化mysql中的表和数据时时遇到了下面的问题,想请教下你。错误日志报找不到表plugins,很明显是没有在mysql中找到对应的表,最开始我认为是mysql的原因。


[root@svn warehouse]# rake db:schema:load RAILS_ENV="production" --trace
(in /opt/svn-warehouse/warehouse)
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
!! No Ultraviolet gem found, defaulting to javascript syntax highlighting.  Do not be afraid.
!! Error loading plugins: Mysql::Error: Table 'warehouse.plugins' doesn't exist: SELECT * FROM `plugins`   WHERE (name IN ('photo_gallery'))
!! Make sure the database was created successfully and migrated.
rake aborted!
no such file to load -- svn/core



当我在数据库warehouse中手工把表plugins建好,填上值photo_gallery,继续执行命令报下面的错,没有报找不到表plugins,也就是说排除了mysql连接和权限的问题。
[root@svn warehouse]# rake db:schema:load RAILS_ENV="production" --trace
(in /opt/svn-warehouse/warehouse)
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
!! No Ultraviolet gem found, defaulting to javascript syntax highlighting.  Do not be afraid.
rake aborted!
undefined method `active?' for #<Plugin name: "photo_gallery">


然后我看到了No Ultraviolet gem found,但是Ultraviolet我也是安装了的
[root@svn warehouse]# gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (2.3.2, 2.0.2)
actionpack (2.3.2, 2.0.2)
activerecord (2.3.2, 2.0.2)
activeresource (2.3.2, 2.0.2)
activesupport (2.3.2, 2.0.2)
erubis (2.6.4)
fastthread (1.0.6)
mysql (2.7)
oniguruma (1.1.0)
passenger (2.1.3)
plist (3.0.0)
rails (2.3.2, 2.0.2)
rake (0.8.4)
textpow (0.10.1)
ultraviolet (0.10.2)
[root@svn warehouse]#

到这个地方我就做不下去了,想请教下,是不是我安装的时候有什么地方搞错了。
0 请登录后投票
   发表时间:2009-04-03  
你先看看你mysql数据库里schema_info这个表里的值是多少,我的是28
如果不是的话
rake db:schema:migrate RAILS_ENV="production"
0 请登录后投票
   发表时间:2009-04-03  
Ultraviolet应该和你这个报错没关系
这个是可选的,如果不能用的话,会改用javascript syntax highlighting
如果你确定Ultraviolet已经安装好的话,运行一下ldconfig
应该就可以了
0 请登录后投票
   发表时间:2009-04-07  
mysql中的warehouse库是新建的,所以是空库;
mysql> show tables;
Empty set (0.00 sec)

mysql>


然后我执行rake db:schema:migrate RAILS_ENV="production"


[root@svn warehouse]# rake db:schema:migrate RAILS_ENV="production"
(in /opt/svn-warehouse/warehouse)
rake aborted!
Don't know how to build task 'db:schema:migrate'

(See full trace by running task with --trace)
[root@svn warehouse]#


昨天搞了一天,还是没有搞出来!!!
0 请登录后投票
   发表时间:2009-04-09  

yuyue_520 写道

mysql中的warehouse库是新建的,所以是空库;
mysql&gt; show tables;
Empty set (0.00 sec)

mysql&gt;


然后我执行rake db:schema:migrate RAILS_ENV="production"


[root@svn warehouse]# rake db:schema:migrate RAILS_ENV="production"
(in /opt/svn-warehouse/warehouse)
rake aborted!
Don't know how to build task 'db:schema:migrate'

(See full trace by running task with --trace)
[root@svn warehouse]#


昨天搞了一天,还是没有搞出来!!!

搞错了,应该是
rake db:migrate RAILS_ENV="production"
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics