Ubuntu 搭建Subversion+Apache+WebSvn系列 – 基础

继上篇的《Raspberry Pi 搭建SubVersion》,树莓派并不方便随时随地访问,放在家里随时都有可能断网或者断电,带到公司宿舍路由器却不支持端口映射。

树莓派本身的性能即使在局域网也是相当鸡肋的,当然他本身的扩展性不是一般的强,只要你愿意动手做,什么事都有可能。

放弃使用树莓派后,也在Azure搭建了Subversion,但是由于公司电脑上网都是HTTP代理上网,不能使用SVN的自带协议(svn://)。

正准备配Apache的时候,才发现服务器超额使用3块多,都是硬盘IO写入过多,坑啊,具体原因就不说了。

不过经一事长一智,将源码建立在免费的服务器上是很不靠谱的,好像其他人都想到,就我没想到的样子。

唉,即使国内VPS系统装上Linux跟装Windows,价格还是差不多的,正不正版先不说,Linux出名稳定和节省资源,淘宝上能找到的基本上都是坑(猜的),好的VPS靠得是人推薦出來,很少會在淘寶上買。對於主機商來說,在自己的網頁系統上接入支付寶就夠了,沒必要去弄什麼淘寶店鋪,反而給一些不懷好意的人惡意差評。

扯淡夠了,開始說下需要準備的東西吧。

1、暢通的網絡

2、很多首好聽的歌曲和耳機一副

3、PuTTY 軟件(下載地址

4、純淨Ubuntu

我是從系統剛裝好開始配。

5、服務器一台(內存最少512M,突發內存最少756M,獨立IP

內存:為了以後可能裝上更多的功能。事實上強迫症發作,內存準備滿了就受不了,自己根據實際情況選擇服務器配置吧。

突發內存:在剛剛配置服務器的時候看到內存突然暴升到660M,不過隨著時間的推移回落到360M左右。

獨立IP:基本配置,必須的,主機商有專買Linux的話都會有獨立IP,某寶上面的都是共享IP,除了挂機還能做什麼?

CPU不做最低限制,也不准備放網站什麼的,不怎麼消耗CPU的話,隨意即可。

帶寬與服務器配置成正比。

主機商的話,我買的是LocVPS – 洛杉矶 OpenVZ VPS,使用折扣後每月只需24元,優惠碼:ovz50off

如果服務器系統不是Ubuntu的話,自行選擇是否重裝,不同系統文件位置和命令可能不一樣,本系列作基本參考。

同樣的,基本操作我也在YouTuBe上找到了視頻,視頻非常耐心地操作,雖然沒有聲音…….已經下載收藏了,隨時觀看,也可以去找一些可以下載視頻的網站下載。

網上資料參差不齊,很多資料都是缺這缺那,複製粘貼,破圖什麼都有,很難找到一套完整的流程,所以部分截圖截取於視頻。

為避免安裝各種包的時候出現錯誤,先執行下更新

安裝Subversion,Apache,WebSvn三個包

图像 004

如果在看到這個畫面之前出現錯誤,那就要自行解決了,超出本文記錄範圍。Linux安裝或者配置寫什麼東西,不出錯的話,那感覺簡直妙不可言。

這裡暫時還不能對websvn進行配置,所以我們選”NO“,然後系統繼續安裝其他東西。

對/etc/apache2/mods-enabled/dav_svn.conf進行配置

裡面有很多都是被註釋掉的內容,根據需要將註釋去掉,配置結果

这段配置是针对NFS版本控制器。

“/svn/NFS” – URL

“/var/lib/svn/NFS” – 版本庫的絕對對路徑,暫時還沒被創建

“AuthType Basic” – 基本認證,也就是賬戶和密碼認證

“AuthTpye Name” – 弹出框里显示的内容

“AuthUserFile” – 用来保存用户名和密码的文件

关于这段内容,现在我们还是跟随视频里一致吧,以后另写一篇来说。

好了,这部分配置暂时先放着。

开始创建并配置SVN的相关文件,之前也说过在执行到这里之前SVN的所有东东都是没有弄。

也就是说上面配置文件里的“/var/lib/svn/NFS”是不存在的,包括“/var/lib/svn”,如果已经有相同的文件夹那就跳过。

嗯,先在/var/lib/下创建svn文件夹

接着在新建的svn文件夹中创建NFS库,为了好比较,用绝对路径,免得搞混了。

 下面这步非常重要,以后增加SVN库的时候都要执行这句。

命令的意思是改所属用户组和用户,关于用户组和用户是什么,得自行谷歌。

在Linux中,用户组和用户是相当重要的东西,如果不改成正确的用户,那么相关文件就不能被其他用户修改读取删除,最终导致程序出问题。

这种用户权限的问题,网上比较难找到解决方法,毕竟每个人遇到的情况都可能不一样。

视频中做完这步以后就马上重启Apache2,并在浏览器中打开SVN中的文件,结果我就喜闻乐见了。

这里就拿我的配置出来的结果,跟上面做的一模一样,其他设置是跟着视频配置。(IP地址不给看)

图像 021

如果机器是放在公网上,这样子可以直接打开项目源码有点危险,所以……在进阶篇写吧,不然这文章太长了。

既然浏览器可以打开,证明Apache2部分没有配错,可以正常运行,下面试下把源码通过svn签出试试。

看视频截图…….

图像 022

“svn co” – svn checkout就是签出源码。我的是这样子“svn co http://IP地址/svn/NFS/ .”

注意URL后面还有一个点,就是把源码签出到当前目录下。

如果用浏览器打开没问题的话,签出应该不会出问题,凡事都有可能。

试着在签出目录下创建个文件夹。

图像 024

增加文件或者文件夹都需要使用add命令添加到SVN的源码控制里,不然待会提交的时候不会显示这个新建的文件夹。

提交命令

图像 025

这时候会弹出个vim编辑器,暂时还不知道是干嘛的,退出vim命令

退出vim后会让你选择Abort、Continue、Edit,对应意思:中止、继续、编辑(还没搞懂是干嘛的)

很明显,我们要做的是继续,输入c就行

图像 026

好,视频中从输入密码这里出现了转折点,由于之前没有对/etc/apache2/dav_svn.passwd进行配置,所以我们得先弄好帐号密码才能成功提交。

使用Apache2自带命令htpasswd创建账户和密码

如果dav_svn.passwd不存在或者说是第一次创建账户就用“-cm”

c – 创建文件

m – 创建账户和密码

路径什么的不解释

username – 用户名(还是写明白些)

然后他会要求输入密码,国际惯例,输入两次

图像 027

如果是添加用帐号就不用加“c”参数

图像 028

现在打开dav_svn.passwd文件看下有没有刚刚创建的两个账户密码

图像 029

密码是经过加密的,这就是为什么要用htpasswd添加

搞定这个以后,再回到之前签出源码的目录下再次提交

图像 030

这次提交输入密码就输入刚刚创建的密码。

想换其他账户提交的话,那就在输入密码的时候直接回车,会提示重新输入用户名。

最后询问是否提交,一定要输入完整的Yes……….这是规定,没什么好说。

图像 031

提交成功就是显示版本号。

再到浏览器中看下是否有提交的文件夹。

图像 032

之前Rsvision显示的是0,现在显示的是最新版本号1,那就说已经配置好了。

现在还差WebSvn还没有配置,来吧。

输入命令

又出现一开始的画面………这次我们选Yes,不截图了,反正是一样的。

图像 033

把那些选项都选上,下一步

图像 034

这里的路径就是放置svn相关文件的路径,下一步

图像 035

不知道是什么意思,有空再去谷歌搜索下,留空,下一步

图像 036

OK

接下是自动执行…….

图像 037

看到OK两个字母,可以放下心头大石了。

在浏览器中打开http://IP地址/websvn

嘿嘿…….就是这么简单,就是这么容易

图像 038

这个地址僅供查看,不能修改…………這樣就可以不用TortoiseSVN看修改日誌。

支持查看文件差異!!!

基礎篇終於寫完了………拖延症無冷卻發作……

最後附上視頻。

发表评论

电子邮件地址不会被公开。 必填项已用*标注