给大家带来CentOS上设置apache+svn+trac
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!Subversion是新一代的版本把持工具,它是一个自在、开放源码的版本把持体系。它是一个通用体系,可用来办理任何范例的文件,个中包含步伐源码。Subversion是最近几年来兴起的版本办理工具,被誉为是cvs的接棒人。比来帮公司在一台办事器上装置了Subversion和Trac,因为办事器是公司前几年买的对照老,型号是HPML350,拿得手一看,操纵体系居然仍是FedoraCorerelease2,以是在装置过程当中很多多少必要的rpm包都要本人下载,还不克不及用最新的rpm,新的都没发装置,让我到网上找了很久才找到。真有点不习气,之前一向用Ubuntu,只需用apt-get来装置,就很便利的帮你主动处置了所需的依附干系,那是一个爽啊!!
想重装OS,但是没举措啊办事器的OS装置对照贫苦,重装了的话大概触及到驱动方面的装置,太老了弄欠好就毁了,到时再找HP的手艺撑持那就弄年夜了,欠好向老迈交卸
,那就只好老厚道实的本人编译装置吧,说了一年夜堆空话,上面把我的装置步调讲一下吧,呵呵~~
起首:下载Apache,Subversion和Trac的装置包,Apache2.2.8,subversion1.4.6和trac-0.10.4。Apache是web办事器,用来经由过程web会见subversion。装置包都能够从官方网站高低载。
下载地点:
http://apache.mirror.phpchina.com/httpd/httpd-2.2.8.tar.gz
http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz
http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz
http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz
1.编译装置Apache:
//解压apache2装置包
#tarzxvfhttpd-2.2.8.tar.gz
//进进解压后的目次
#cdhttpd-2.2.8
//设置apache
#./configure--enable-dav--enable-so--enable-ssl--enable-maintainer-mode--prefix=/usr/local/apache2--enable-mods-shared=all
//举行编译
#make
//编译落后行装置
#makeinstall
//装置终了,举行测试。先修正apache设置文件
#vi/usr/local/apache2/conf/httpd.conf
将ServerName修正为ServerName:80
//启动apache办事
#/usr/local/apache2/bin/apachectlstart
//翻开扫瞄器
http://localhost/
,假如呈现Apache的测试页面,能够看到Itworks!申明apache已能够一般事情了。
2.编译装置Subversion:
PS:在装置之前先确认你的OS上已装置了python和swig,假如没有装置的话能够下载sourcecode或rpm包来装置,由于我的OS上底本已装置了以是我没有往从头装置,我装置的版本是:python-2.3.3和swig-1.3.19
//解压subversion装置包
#tarzxvfsubversion-1.4.6.tar.gz
#tarzxvfsubversion-deps-1.4.6.tar.gz
//进进解压后的目次
#cdsubversion-1.4.6
//设置subversion
#./configure--with-apxs=/usr/local/apache2/bin/apxs--prefix=/usr/local/subversion--with-apr=/usr/local/apache2--with-apr-util=/usr/local/apache2--with-ssl--with-zlib--enable-maintainer-mode--without-berkeley-dbPYTHON=/usr/bin/python--with-swig=/usr/bin/swig--enable-shared--enable-static--enable-swig-binding=python--with-included-apr
//举行编译
#make
<pstyle="padding-bottom:0px;text-transform:none;background-color:rgb(255,255,255);text-indent:0px;margin:0px;padding-left:0px;padding-right:0px;font:14px/28px宋体,ArialNarrow,arial,serif;white-space:normal;letter-spacing:normal;height:auto;color:rgb(80,80,80);clear:both;overflow:hidden;word-spacing:0px;padding-top:0px;-webkit-text-stroke-width:0px">//编译落后行装置
#makeinstall
经由下面的步调mod_dav_svn.soandmod_authz_svn.so将会被copy到/usr/local/apache2/modules/下,
同时在/usr/local/apache2/conf/httpd.confwillbeaddedthefollowingsection:
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
反省一下是不是都准确,假如没有的话大概就要手动加出来。
注重一下运转./configure时加的这几个参数PYTHON=/usr/bin/python--with-swig=/usr/bin/swig--enable-shared--enable-static--enable-swig-binding=python,入手下手的时分编译svn的时分没有加这几个参数,独自利用svn都没成绩,可是前面装置好trac后却怎样也不可,翻开网页一向有毛病,从Browser会见Trac的时分,呈现了上面的毛病:
---------------------------------------------------------------------------------------------
PythonTraceback
Traceback(mostrecentcalllast):
File"/usr/local/lib/python2.5/site-packages/trac/web/main.py",line387,indispatch_request
dispatcher.dispatch(req)
File"/usr/local/lib/python2.5/site-packages/trac/web/main.py",line191,indispatch
chosen_handler=self._pre_process_request(req,chosen_handler)
File"/usr/local/lib/python2.5/site-packages/trac/web/main.py",line263,in_pre_process_request
chosen_handler=f.pre_process_request(req,chosen_handler)
File"/usr/local/lib/python2.5/site-packages/trac/versioncontrol/api.py",line73,inpre_process_request
self.get_repository(req.authname)#triggersasyncifapplicable
File"/usr/local/lib/python2.5/site-packages/trac/versioncontrol/api.py",line92,inget_repository
%self.repository_type)TracError:Unsupportedversioncontrolsystem"svn"
---------------------------------------------------------------------
上彀找了半天瞥见一片文章上说makesvn的时分要加上这几个参数"PYTHON=/usr/bin/python--with-swig=/usr/bin/swig--enable-shared--enable-static--enable-swig-binding=python"
同时实行了下面的make&&makeinstall后还要编译装置SubversionSWIGPythonbindings
Swig-py的装置申明在subversion-1.4.6/subversion/bindings/swig/INSTALL文件里。说的对照具体,要做的事变以下:
#cdsubversion-1.4.6
#makeswig-py
#makeinstall-swig-py
那末你能够看到swig-py的install目次是/usr/local/subversion/lib/svn-python。用以下下令讲这个扩大包扩大到python:
#echo/usr/local/subversion/lib/svn-python>/usr/lib/python2.3/site-packages/subversion.pth
剩下的就是测试svn的swig-py包是否是能work了,很复杂。
#python
>>>importsvn.repos
假如不报错,就完事年夜吉了。
假如报错,那末反省几件事变:
I.subversion的configure是否是enable了shared和static,是否是带--with-swig;
II.libsvn_swig_py-x.so是不是存在于/usr/local/subversion/lib目次;
III./usr/local/subversion/lib是不是已增添到ld.so.conf文件(/etc/ld.so.conf)
IV.请利用ldconfig-v|grepswig来反省是不是有swig的以下静态库
libsvn_swig_py-1.so.0->libsvn_swig_py-1.so.0.0.0
假如统统一般,这个装置就完成了。
装置完成后,运转svnserver--version确认版本为1.4.6。
SVN办事器装置停止.
3.设置svn
最好不要让root用户介入到svn的权限办理和一样平常的运转和保护事情中来,以是我们创建一个用户(如svn)
同时为了处置好权限的成绩,我们能够创建一个组(如svnrw),其他但愿利用svn的用户到场这个组
在root权限下用上面的下令创立用户和组:
#groupaddsvnrw
#useraddsvn-gsvnrw
#passwdsvn
然后切换到用户svn来创立svn堆栈,对svn举行设置
首选选择一个目次地位作为svn堆栈的寄存地位,在我的例子中是讲/home/svn作为寄存地位
//创立版本库"my_project",默许指定堆栈的文件格局为fsfs
#svnadmincreate/home/svn/my_project
//修正一些权限
chown-Rsvn:svnrw/home/svn
chmod-Rg+whome/svn/my_project
chmodg+shome/svn/my_project/db
//接上去修正Apache设置文件
#vi/usr/local/apache2/conf/httpd.conf
//在文件开端增加
###svnsettings
#
DAVsvn
SVNListParentPathon----同意在网页上显现svn父目次list
SVNParentPath/home/svn----/home/svn是我这边的SVN的父目次
AuthTypeBasic----毗连范例设置
AuthName"SubversionRepository"----毗连框提醒
AuthUserFile/etc/svntrac.htpasswd----用户设置文件
Requirevalid-user
//这里设置SVNParentPath而不是SVNPath的优点是能够几个repository同时会见
//加了LimitExcept如许匿名用户能够扫瞄,checkout代码,可是不克不及commit,认证用户有commit权限
//个中svntrac.htpasswd文件是经由过程htpasswd下令来创立的,第一次设置用户时利用-c暗示新建一个用户文件
#htpasswd-c/etc/svntrac.htpasswdsvn
Newpassword:******
Re-typenewpassword:******
Addingpasswordforusersvn//增加乐成
别的要修正apache历程的权限:由于一切跟版本库传输的操纵都是经由过程apache历程举行的,以是即便你给svn用户设置了很年夜的权限,可是apache历程没有会见版本库大概相干文件的权限也没有效,apache历程的权限设置在/usr/local/apache2/conf/httpd.conf文件中设置,找到文件中的这两行:
Userdaemon//将daemon用户改成svn,让apache历程以svn身份运转
Groupdaemon//将daemon组改成svnrw
//重启apache
#/usr/local/apache2/bin/apachectlrestart
//翻开扫瞄器会见
http://localhost/svn
,假如有器材显现就申明乐成。
接上去能够import代码文件了,能够在其他机子上完成:
svnimport-m"Hello,myproject"http://svn_server_address/svn/my_project
申明:
是导进的路径,不写就是以后路径
path目次下,必要创建三个目次:trunk,tags,branches(相似CVS)这不是必需的,可是这对从此的项目办理很有优点
把最后的代码放在trunk目次下!
import以后用command"svncohttp://svn_server_address/svn/my_project"就该能够checkout方才import的代码了
应当说svn和apache就处置好了!接上去就是装置设置Trac....
4.装置设置Trac
Trac
给大家带来CentOS上设置apache+svn+trac
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。 随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。 Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。 现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。 老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。 另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。 用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。 任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。
页:
[1]