技术开发 频道

Linux下SVN+Apache简单安装与配置

  IT168技术文档

  前言:

  最近整理以前写的一些SHELL脚本,总是发现改得一踏糊涂.于是乎决定找个工具来管理一下,在需要更改的时候更改,改完保存起来.以防止使用了错误的版本,保证版本最新。

  在网上找到了SVN这样人东东,觉得功能还好.同时搜索了安装方式,竟然都是configure && make && make install的方式.我这样的懒人可不喜欢为了那些依赖关系而烦恼,于是找到了一下编译好了的版本.^_^

  相关平台软件:

  这里使用的操作系统是suse10(虽然CollabNet Subversion是在rhel4/5下编译的,但仍可在suse10上使用).

  CollabNet Subversion v1.5.6

  CollabNetSubversion-client-1.5.6-1.i386.rpm --客户端

  CollabNetSubversion-server-1.5.6-1.i386.rpm --服务端

  CollabNetSubversion-extras-1.5.6-1.i386.rpm --扩展件

  下载地址:

  http://www.open.collab.net/downloads/subversion/

  TortoiseSVN 1.6.1

  TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi --TortoiseSVN,这里当做windows客户端使用

  下载地址:

  http://tortoisesvn.net/downloads

  安装过程:

  安装已经编译的rpm即可,很容易.(这也是我偷懒的原因,省事! ^_^).

  先安装client,然后server,最后是extras.

  # rpm -ivh CollabNetSubversion-client-1.5.6-1.i386.rpm

  warning: CollabNetSubversion-client-1.5.6-1.i386.rpm: V3 DSA signature: NOKEY, key ID 35bcca43

  Preparing... ########################################### [100%]

  1:CollabNetSubversion-cli########################################### [100%]

  # rpm -ivh CollabNetSubversion-server-1.5.6-1.i386.rpm

  warning: CollabNetSubversion-server-1.5.6-1.i386.rpm: V3 DSA signature: NOKEY, key ID 35bcca43

  Preparing... ########################################### [100%]

  1:CollabNetSubversion-ser########################################### [100%]

  # rpm -ivh CollabNetSubversion-extras-1.5.6-1.i386.rpm

  warning: CollabNetSubversion-extras-1.5.6-1.i386.rpm: V3 DSA signature: NOKEY, key ID 35bcca43

  Preparing... ########################################### [100%]

  1:CollabNetSubversion-ext########################################### [100%]

  三个rpm安装安装完成了..系统增加了一个csvn用户/组.

  # more /etc/passwd

  csvn:x:1000:1000:CollabNet Subversion:/opt/CollabNet_Subversion:/bin/bash

  # more /etc/group

  csvn:!:1000:

  创建了目录/opt/CollabNet_Subversion 用于存放SVN相关的程序.

  # ll /opt/CollabNet_Subversion

  drwxr-xr-x 4 root root 960 Apr 20 14:25 bin

  drwxr-xr-x 2 root root 312 Apr 20 14:24 build

  drwxr-xr-x 2 root root 216 Apr 20 14:24 docs

  drwxr-xr-x 6 root root 3424 Apr 20 14:25 lib

  drwxr-xr-x 2 root root 232 Apr 20 14:24 licenses

  drwxr-xr-x 2 root root 184 Apr 20 14:25 modules

  drwxr-xr-x 2 root root 208 Apr 20 14:25 sbin

  drwxr-xr-x 4 root root 96 Feb 27 01:17 share

  配置SVN:

  编译好的SVN配置起来也很简单(感谢编译人员辛勤的劳动).在/opt/CollabNet_Subversion/bin目录下执行Configure-CollabNet-Subversion ,按照提示做就行了.(表示操作)

  # ./Configure-CollabNet-Subversion

  CollabNet Subversion Server is a free download of open-source Subversion,

  compiled and tested by CollabNet. For more information about CollabNet

  Subversion, visit the CollabNet community at http://open.collab.net.

  Would you like to configure the CollabNet Subversion Server now? [yes] (回车)

  Welcome to CollabNet Subversion Server setup.

  You will now be asked some questions to configure CollabNet Subversion.

  Defaults are given in square brackets. If a default is okay for you

  Just hit [Enter] to continue.

  This setup can configure either Apache or svnserve as Subversion

  server, for you. Would you like to configure Apache as your

  Subversion server now? [yes] (回车)

  Continuing with apache Subversion server configuration ...

  Specify the base directory for Subversion repositories: [/var/svn/repositories] /opt/svn/repositories (这里我更改了路径,不使用默认的.)

  Non-existing base path, Let me create and continue [yes] (回车)

  Base path created.

  Would you like to create a new Subversion repository? [yes] (回车)

  What should be your new Subversion repository name? test (这里建立一个名为test的库)

  New repository created.

  Would you like to initialize the repository with trunk/branches/tags folders? [no] (回车)

  Done.

  Would you like to create another Subversion repository? [yes] (回车)

  What should be your new Subversion repository name? test2 (这里再建立一个名为test的库)

  New repository created.

  Would you like to initialize the repository with trunk/branches/tags folders? [no](回车)(暂时不导入初始数据)

  Done.

  Would you like to create another Subversion repository? [yes] no (已经建立了2个库,不建了.)

  Would you like to give the name and port that the server uses to identify itself? [yes]

  Registered DNS name or IP address: 192.168.80.100 (这里是apache的配置,apache的服务IP)

  Server port number: 8000 (apache的服务端口号)

  Allow anonymous read access? [no] (回车)

  0 users currently have access to this repository:

  Would you like to create a new Subversion account? [yes] (回车)

  Account username

  (To re-create or delete a Subversion account, enter an existing username): svn (建立一个SVN帐号)

  Account password: (密码)

  Retype account password: (重复密码)

  Adding password for user svn

  Account created

  Would you like to create another user account? [yes] no (不建立另一用户)

  Would you like to configure ViewVC? [yes] (启用VierVC,回车)

  Stopping CollabNet Subversion: httpd (no pid file) not running

  done

  Starting CollabNet Subversion: done

  (完成,最后的提示信息)

  Congratulations! You have successfully configured the CollabNet

  Subversion server.

  You can access your repositories at the following URL:

  http://192.168.80.100:8000/svn/YOUR-REPOS-NAME

  http://192.168.80.100:8000/viewvc/YOUR-REPOS-NAME

  配置完成后检查:

  与SVN相关的APACHE已经起来了.

  # ps -ef | grep httpd

  root 6989 1 2 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  csvn 6990 6989 0 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  csvn 6991 6989 0 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  csvn 6992 6989 0 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  csvn 6993 6989 0 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  csvn 6994 6989 0 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  csvn 6995 6989 0 14:28 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start

  在浏览器中,YOUR-REPOS-NAME换成建立的库名,这里为test,test2..

  http://192.168.80.100:8000/svn/YOUR-REPOS-NAME

  http://192.168.80.100:8000/viewvc/YOUR-REPOS-NAME

  注意浏览器上的地址栏。

  test:

  test2:

  ViewVC test:

  ViewVC test2:

  个人感觉还是ViewVC实用些...

  这时,由于还没有导放初始数据..所以这里的显示均为0.

  库导入:

  在/root/tmp/下建了一个测试脚本test.sh,内容很简单.

  #!/bin/sh

  echo "test"

  现在把/root/tmp导入到SVN库test里

  # /opt/CollabNet_Subversion/bin/svn import /root/tmp file:///opt/svn/repositories/test -m "SVN test"

  Adding /root/tmp/test.sh

  Committed revision 1.

  导入完成,增加一个文件.当前的版本为1.

  检查导入

  # /opt/CollabNet_Subversion/bin/svn list file:///opt/svn/repositories/test

  test.sh

  在浏览器中查看。

  test:

  ViewVc test:

  点开test.sh,可以看到一些信息。

  OKey..SVN 库建立,数据初始化算是完成了..下面来点简单点的更改..这里就用到了TortoiseSVN这个windows版的svn工具当客户端用(linux 也有客户端,也就是刚我们安装的那个client,可是那个command line....呵呵).

  TortoiseSVN 的安装就不说了,windows下的东东,基本上一路next..完成后,重启一下系统,然后就OK了.

  现在右键看一下..^_^ ,这就是增加的TortoiseSVN的功能..我们这用到的要少些(当客户端用嘛).

  1.检出(SVN checkout).

  点SVN Checkout,输出要检出的库/目录/文件

  使用SVN帐号(上面建立的svn帐号)

  完成.OK

  在Checkout目录生成一个指定目录...包含里初始的test.sh.

  2.更改

  修改test.sh文件内容后,保存..图标变了,表示已经更改了..

  3.确认提交(SVN Commit)

  右键SVN Commit

  完成后,本地恢复..

  4.检查更新.

  在浏览器上查看更新..已经变成版本2.

  test.sh更改详细信息。

  小结:

  SVN 是个很好的版本控制软件。使用它后,可以容易地保证是在最新的版本上进行的更改。

0
相关文章