日期:2014-05-17 浏览次数:20807 次
今天花了大半天的时间,参阅了网上各种资料,终于配好了,于是把整个过程理一下,供大家参考。
PS.?本人Linux新手,ruby小白,如有错失,烦多指教!
?
参考资料:
①apache 与 redmine 整合?http://hi.baidu.com/leolance/blog/item/1b752791399d4b067af48008.html
②HowTo configure Apache to run ?Redmine
???http://www.redmine.org/wiki/1/HowTo_configure_Apache_to_run_Redmine
③Redmine+Apache+SVN+Postfix完整配置指南
???http://www.swordair.com/docs/config-doc/redmine_complete_config_on_ubuntu.html
?
这是一个非常流行的、用于在apache和ngix上部署ROR项目的工具。
安装步骤:
1. gem i passenger
这里可能遇到的问题有:
(1)
ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb can't find header files for ruby
此处的解决方法是安装ruby-devel,运行yum install ruby-devel命令进行安装即可。
参考:
http://www.question-defense.com/2010/09/10/ruby-gem-install-error-usrbinruby-extconf-rb-cant-find-header-files-for-ruby
(2)
1 gem installed ERROR: While executing gem ... (Gem::DocumentError) ERROR: RDoc documentation generator not installed: no such file to load -- rdoc/rdoc
这个不是大问题,运行yum install ruby-rdoc命令安装ruby-rdoc即可。
参考:
http://www.question-defense.com/2010/09/09/error-rdoc-documentation-generator-not-installed-no-such-file-to-load-rdocrdoc
2. passenger-install-apache2-module
安装的时候会检查其他依赖组件是否已正确安装,如果有缺失会进行提示,并告诉你运行什么命令来获取该组件,所以这一步应该很简单。
安装完成之后,会有类似于下面的这种提示信息,告诉你要在apache的httpd.conf文件里面加入以下的配置:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so
?
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0
?
PassengerRuby /usr/bin/ruby
?
除了加入上面提到的几句之外,还需要进行以下配置:
?
Options Indexes FollowSymLinks ( 找到这一行,删除“ Indexes ”,并添加“ Includes ”、“ ExecCGI ” ) ??
?????改成:Options Includes ExecCGI FollowSymLinks ( 允许服务器执行 CGI 及 SSI) ??
?
#AddHandler cgi-script .cgi ( 找到这一行,去掉行首的“ # ”,并在行尾添加“ .pl ” ) ??
?
?? ?改成:AddHandler cgi-script .cgi .pl ( 允许扩展名为 .pl 的 CGI 脚本运行 ) ??
?
另外再添加以下两句配置:
RailsEnv production
RailsBaseURI /redmine?
cd /usr/redmine (进入redmine的根目录) cp public/dispatch.cgi.example public/dispatch.cgi
?
ln -s /var/www/redmine /usr/redmine
service httpd restart
?
此时应该能通过http://<YOUR_HOST>/redmine成功访问redmine
?
1. Apache 403 forbidden
?? ?问题分析:http://yuanxing.iteye.com/blog/435445
?? ?解决方法:保证apache的访问身份与redmine文件夹的身份一致即可,可以像上面那个文章里说的,把httpd.conf里面的user和group改掉,也可以把/var/www/redmine的所有者改成apache:apache
chown -R apache:apache /var/www/redmine
?
2. 在不存在上述问题的情况下,依然是403forbidden
?? ?问题分析:http://yuanxing.iteye.com/blog/445415?(跟上面是同一个博主,感谢该博主的总结)
?? ?解决方法:总而言之就是selinux搞的鬼,我尝试上面那篇文章里说的命令setsebool -P httpd_disable_trans 1 ,但提示说我没有httpd_disable_trans这个参数,考虑到我们这个服务器只对内不对外,我干脆就取消掉selinux的保护算了。修改/etc/selinux/config文件中的SELINUX="" 为disabled,然后重启系统即可。
?
?
?