redmine和svn server的部署
作为一个程序猿,想要很好的管理自己项目和代码,我们需要一些工具做辅助。
项目管理工具redmine和代码版本管理工具 SVN(Subversion)。
我们选择在虚拟机里面安装windows部署这两套系统,简单暴力。
bitnami redmine 下载:https://bitnami.com/stacks ,
collabnet svn 下载: http://www.collab.net/downloads/subversion
redmine:
redmine安装起来看教程是相当复杂,还好,找到一个懒人专用的,一键安装。。哈。。。
bitnami redmine就是一键安装的版本。
网址:https://bitnami.com/stacks ,再里面找到redmine,然后根据自己想要部署的系统选择对应系统的安装包,下载后安装就行。
下载完就是下一步啊下一步,中间细节就不说了。后面主要是设置问题。装完后在开始菜单运行 Bitnami Redmine Stack Manager
运行后如下图:
可以在Manage Servers里面看看所有服务是否启动成功,正常是都会启动成功的。
之后点击Go To Applicaton就可以打开网页,看到redmine的欢迎界面。
点击 Access Redmine就可以进入系统了。帐号密码是在安装过程中设置的。
安装过程很简单,重要的是配置过程。其实配置也很简单,不过有三个地方需要注意。
1.邮箱的配置
配置了邮箱,可以在项目信息有变化的时候,通过邮箱通知项目相关人员,这个我觉得必不可少。
这个邮箱配置可是卡了很久,弄了好几个小时,文档和网上的教程说的几乎都不能很好的工作。
配置方法是:
我装的是3.0.4版本的,在windows环境下。
在 C:\Bitnami\redmine-3.0.4-1\apps\redmine\htdocs\config 目录下,找到configuration.yml文件并且打开。
前面的什么default设置全部忽略,只需要找到末尾的 production部分,然后在下面添加设置就行了。
这里需要说下,网上各种说数字要加单引号啊,user_name和password什么要加双引号啊,被这个误导了好久,在3.0.4版本里面根本就不需要加,密码部分也不需要加单引号或者双引号,直接输入就行。其中ssl: true这个是用了ssl加密功能,这个对应的是port是465,如果不用ssl,那把ssl那一行去掉,port用25就行。具体端口号多少可以看看邮箱里面的设置部分,应该会有相关说明。
填好后,需要测试是否能工作,点击 管理->配置->邮件通知,在页面的下面右边,拉到下面,有个 发送测试邮件
如果配置成功,会提示发送成功,在你邮箱里也会收到测试邮件,发送成功如下图:
2:配置版本库
打开一个已经创建好的项目,一次点击 配置->版本库 在里面可以配置SVN的代码库。
这里有个技巧,我是把SVN和redmine放在同一台机器,所以没必要通过https之类的地址来获取,而且通过https的方法来获取还会出现404的错误,无法读取,需要改什么东西,而我因为在本地,直接填地址就姓,这样读取又快。。哈。。。好机智,事实证明这样是完全可以工作的。
3.认证配置
有个问题困扰了我挺长时间,装完后redmine的内网可以访问,外网可以访问到欢迎界面,但是点击 Access Redmine后就傻逼了,没反映了,进不去了。找来找去想着不是网络配置的问题,后来发现把下图的这个 要求认证 的勾去掉就行了,这样建立项目的时候不要选择公开,否则别人不要登陆帐号就能看到项目信息了。
出现这个问题的主要原因是我们设置的是https模式,而如果开启要求认证,打开登录界面的了解是http,所以无法打开;而如果关闭要求认证,就会直接打开,显示公开的项目,这个直接打开用的是https模式,所以把要求认证关了。实际,如果用http模式,是没有这个问题的。
SVN:
svn客户端肯定是tortoiseSVN了,服务器端就有很多可以用了,开始选择的是visual SVN server,这个用起来很简单,而且很小,用户管理也很简单,但是嫌弃界面简陋,功能不够多,后来选用了CollabNet Subversion Edge 这个用起来也相当简单,装好基本就能用了,具体怎么用就不介绍了。
点击 CollabNet Subversion Edge可以打开web管理界面,默认初始密码和帐号好像都是admin,自己记得改。打开后界面如下:
可以设置定时备份啊什么的。。。
关于网络设置:
上诉弄完后,可以在本机打开,本机使用了,我是在虚拟机中装的,为了方便设置,我们选择了 桥接模式,这样值需要在路由器端设置下端口映射,如果选择NAT模式,那设置就麻烦写,先需要路由器端口映射到本地,然后本地再映射到虚拟机。还是直接用桥接模式吧,简单。redmine用的是80端口,还需要看collabnet svn用的哪个端口,如果还需要外部登陆collabnet svn管理,还需要查看该端口,在本地打开看下网址就明白了,然后映射过来就行了。还不行,还想偷懒,那直接在路由器里面把虚拟机设置成DMZ主机,让虚拟机完全暴露在外网,就不需要端口映射了,不过觉得这样不安全。
需要提到一点的是redmine如果用https模式的时候,对外不是80端口,是443端口。
现在就可以外网输入本机对公望的IP进行访问了,这个有点不好,路由器一开,地址就变了,总不能每次变了都告诉小伙伴们吧?这个可以申请个免费的动态域名,如果变了,自己去更新下动态域名的指向就行。如果再配合teamviewer用,那在外面,只要家里电脑开着,这些服务都不会掉线。。哈。。。
redmine和svn server的部署的更多相关文章
- 项目管理和版本跟踪——Redmine和SVN的结合
项目管理和版本跟踪——Redmine和SVN的结合 分类: Redmine2009-06-01 10:38 565人阅读 评论(0) 收藏 举报 svn项目管理tortoisesvn数据库railsr ...
- SVN Server for Migration
SVN Server: http://mxsuse01/svn/repos/erp/Oracle_EMS Report SVN (Put to SVN Sort) 1. *.RDF 2. *CP.LD ...
- svn server
svn server: 1.c:\Program Files\TortoiseSVN\bin>svnserve -d -r C:\Jasper\Repositories2.change the ...
- SVN Server配置详解 及备份
SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和wind ...
- SVN Server导项目到本地库时提示"方法OPTIONS失败与无法连接到服务器"
方法 OPTIONS 失败于 “https://xxxx/svn/xxxx”: 无法连接到服务器 (https://xxxx) 要留意 https 使用了443 端口,检查防火墙是否开放了该端口. ...
- 【转】在ubuntu环境下搭建svn server遇到的一些问题
原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html 前段时间在ubuntu 12.04lts上倒腾了 ...
- Linux 搭建SVN server
一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...
- (总结)CentOS Linux搭建SVN Server配置详解
PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...
- linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)
场景:1.在windows 7上安装了visual svn server作为自己的svn服务器. 2.在虚拟机centos 6.3上使用svn客户端check代码,报错: [plain] view p ...
随机推荐
- UIButton 文档翻译(持续更新)
UIButton 文档翻译 继承 UIControl; UIView; UIResponder; NSObject 协议 UIFocusEnvironment,UIAppearanceContaine ...
- (转)C#反射机制详解
反射的定义:审查元数据并收集关於它的类型信息的能力,元数据(编辑后的基本数据单元)就是一大堆表,编译器会创建一个类定义表,一个字段定义表,一个方法定义表等,System.Reflection命名空间包 ...
- C++ Primer 读书笔记:第11章 泛型算法
第11章 泛型算法 1.概述 泛型算法依赖于迭代器,而不是依赖容器,需要指定作用的区间,即[开始,结束),表示的区间,如上所示 此外还需要元素是可比的,如果元素本身是不可比的,那么可以自己定义比较函数 ...
- Android 技巧记录
1.取消EditText自动获取焦点 在项目中,一进入一个页面, EditText默认就会自动获取焦点,弹出输入法界面,很不友好.那么如何取消这个默认行为呢? 解决之道:在EditText的父级控件中 ...
- Python中关于try...finally的一些疑问
最近看Vamei的Python文章,其中一篇讲异常处理的,原本看完没啥疑惑,或许是自己想的简单了. 看到评论,一个园友的问题引起我的兴趣. 他的问题是 def func(x): try: return ...
- IntentService的使用
1.为什么需要IntentService 是LocalService的包装类,简便Service的创建,使用的是startService(),也就是访问者退出Service不会消失. 2.实现原理 步 ...
- CSS自学笔记(16):CSS3 用户界面
CSS3中,也新增了一些关于用户界面的属性,这些属性可以重设元素或者盒子的尺寸.轮廓等等. 新增的部分属性的浏览器支持情况 属性 浏览器支持 resize IE Firefox Chrome Safa ...
- 没有产品,没有用户的,绝对不要浪费时间去联系风投——没有过home run的创业人,想办法先做出产品,找到少量用户,没有任何销售成本
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Kuan Huang链接:http://www.zhihu.com/question/19641135/answer/1353 ...
- Android Studio安装使用图文教程
原文 http://jingyan.baidu.com/article/1876c852a25cb4890b1376fa.html Google I/O开发者大会上宣布,Android Studio ...
- java的深复制与浅复制
今天座右铭-----浪费时间就等于慢性自杀 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原 来的对象.换言之,浅复制仅仅复制所考虑的对象,而不复 ...