All By yongzhi.wu 几经周折, 好事多磨. 终于在俺的Ubuntu 下编译安装完 subversion-1.4.0 下面把我的经验分享出来, 希望对各位看官有用! 本人的系统为Ubuntu-6.06-1. 如果你的是其他非 apt 软件包管理的系统. 可能有些步骤需要用别的方法来完成. 1.概述: 如果你想为了在Linux 下运行svn服务器,你开始安装了Ubuntu-6.06-1(目前最新).我建议你在安装完后对系统进行升级,先升级到最新版本.这包括内核,一些共享库,等的升级.同时,我不建议你安装LAMP.因为附带的LAMP在现在看来比较老了.apache-httpd 已经是2.2.3版了.还有其他的.建议你用第一个选项安装Ubuntu-6.06-1 ,至于LAMP,在装完系统后,再下载软件来安装吧. 顺便说一下使用Ubuntu/Linux的方式.在使用Linux的这段时间,我发现如果直接在Linux控制台上操作.将是一件非常痛苦的事.你没办法看到控制台的历史输出信息,没办法复制粘贴.因此,我推荐你可以先安装 openssh-server 这是一个终端服务器,安装后,你可以在Windows上通过远程连接,连接到Linux,登录它,同时操作它.putty 是一个Windows下的终端客户端软件,它非常优秀,直接在控制台上操作的缺点,在putty上都没有. putty 可以通过google搜到,然后下载个最新的就行 openssh-server 的安装在apt软件包管理的Linux下,可以使用命令: sudo apt-get install openssh-server 再说一遍,如果你不是apt软件包管理的Linux,openssh-server 你将需要自行安装
ok. 我们来看Ubuntu 的升级.将新安装的Ubuntu-6.06-1升级,你需要进行以下操作: A.编辑文件 /etc/apt/sources.list 将原有的deb 开头的语句用 # 号注释掉.然后可以将以下软件源复制到里面去:(在编辑前建议先备份下,命令: sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak) deb http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiverse
C.安装686内核:sudo apt-get install linux-686 D.更新系统: sudo apt-get upgrade 这些过程可能比较耗时,因为需要从网上下载软件来更新.看你的网速了.如果你连接到软件源的网速比较慢,你可以在网上再搜索下好的源.推荐一个页面,你可以去测试下网速,进而挑选网速最好的源: http://wiki.ubuntu.com.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97/DapperDrake 至此,你的系统更新完毕. 2.必备工具: 更新完系统,你需要把一些必备的工具,通过apt-get 命令安装上.同时下载一些必须的程序源代码,以准备编译subversion-1.4.0 A.用apt-get 来安装的软件: build-essential (gcc/g++等编译建造工具,这是必备的,无需多说了) libxml2-dev (xml解析库,用于neon的安装.下面会讲述) libssl-dev (openssl 库,提供安全套接字连接ssl层等安全功能,你的subversioin不会只想用http,svn等协议来连接吧.如果你想用https,呵呵....) libdb4.4-dev (Berkeley DB 4.X 库.用于让subversion能访问Berkeley DB的文件系统) ok 需要用 apt-get 来安装的软件就这些.其他将使用下载源代码,用源代码来编译安装. 可能你注意到了有三个库是以-dev 结尾.是的,这些表示是开发版本,开发版本将安装一些必要的.h,.lib文件,来允许你编译使用这些库的程序,这正是我们想要的. (未完待续)累多,想休息会.... B.下载源代码,呵呵,down吧, it is free, open source.你可以在windows上用flashget 下完,再开一个iis http服务,然后再从linux 上 wget 过来.我用的是虚拟机,是先在windows上下载,因为想在windows做一个备份. 1. apache-httpd-2.2.3 apache 最新版本的服务器 http://httpd.apache.org 好了,似乎就这些了. 我们即将编译安装他们. A.Linux/Unix 下基本的编译方法.在使用Linux的这一两礼拜里,我已经编译过很多软件来玩.觉得蛮有意思,因为你可以定制你的系统,虽然大部分时候对于编译软件,程序库,我还仅限于使用默认参数(其实就是不加参数:D ).不过已感到其中的乐趣,并且对系统有了很多的认识.不瞎扯了,Linux/Unix 下我可以这么说,你想要使用好软件,你只能有一个选择,编译!如果你指望.deb,.rpm 包来安装.那你还是去用Windows算了.世界上这么多的开源精神的人为你提供了软件源码,剩下的最后一步,你不能放弃.是了,你也许害怕编译,你会说我连编程都没玩过,c/c++都没碰过,我根本不懂.你错了,正是因为这些负面的信念,让你觉得难,有障碍,你不愿去尝试探索(当然我希望中国的软件业教育环境能更好些,都有现成的 chinese 的东西来看,来用;可喜的是,现在这些chinese的东西越来越多了,这是很令人兴奋的).一个好消息是,你既然看到这里了,那么先恭喜你,我将毫无保留的把我所学与你分享,如果你也有什么好东西也欢迎你告诉我,我愿与你分享:D 呀,我还在瞎扯,行了,进入正题. Linux/Unix 编译建造工具 Linux/Unix 下编译 是的,就这么简单,知者易,不知者难,对吧. 拿 subversion-1.4.0 来说吧.subversion 有很多可选的功能支持,https 的访问是一个.如果你需要安全的源代码控制系统,或者你的源代码控制管理需要放到网上,供大家来使用,https是必须的.sourcesafe, google code 都使用https. 当然,你可以不需要它.但是当你想用了呢? 这篇文章主要就是讲述这些奇形怪异的 subversion-1.4.0 编译. 或许,以后的subversion 版本,也会类似,你不会白学的:)
下面先说下,最简单的 subversion 编译,安装编译工具套件是必须的,这个就不必再详述了. 1.安装 libxml2-dev 库: sudo apt-get install libxml2-dev 2.将 subversion-1.4.0 与 subversion-deps-1.4.0 两个包解压到相同的目录下,一般会是 这样你将编译完成 subversion-1.4.0, 但是, 它缺少: 好了,那么要如何拥有上面三项功能呢?编译! 然后是 apr, apr-util组件. 你下载的最新的apr,apr-util 都是1.2.7版本,将它们的内容覆盖到 subversion-1.4.0 下的同名目录(apr,apr-util)即可.注意,这两不能带版本号. 关于 neon,它的最新版本是 0.26.1 ,我尝试下载来使用,结果 subversion 不能识别,就是说,neon 就只能用 subversion 推荐的 0.25.5 这个版本. libxml2-dev 是为了编译 neon 的. 还有一个 Berkeley DB.当你用 sudo apt-get install libdb4.4-dev 安装好库后,你已经能让 subversion 支持 Berkeley DB 了.唯一要做的就是在 ./configure 后接上 好了,现在重要的内容都讲完了,完整的全功能subversion编译过程如下: 1.安装必须库 libssl-dev, libxml2-dev, libdb4.4-dev sudo ./configure --with-ssl --with-berkeley-db=/usr/local
未来节目预告: by yongzhi.wu |