ubuntu14.04安装subversion并整合apache

关于整不整合apache,这个需要看需求,不需要http(https)访问svn的情况下完全不需要整合,甚至可以放弃apache。

  1. 开始安装svn,输入命令:
    apt-get install subversion
    • 提示:下列【新】软件包将被安装:
      libserf-1-1 libsvn1 subversion
      升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
      需要下载 2,005 kB 的软件包。
      解压缩后会消耗掉 8,020 kB 的额外空间。
      您希望继续执行吗? [Y/n]
    • 确认安装输入:
      y
    • 安装成功输出:
      下载 2,005 kB,耗时 22秒 (89.9 kB/s)
      正在选中未选择的软件包 libserf-1-1:amd64。
      (正在读取数据库 ... 系统当前共安装有 60339 个文件和目录。)
      正准备解包 .../libserf-1-1_1.3.3-1ubuntu0.1_amd64.deb ...
      正在解包 libserf-1-1:amd64 (1.3.3-1ubuntu0.1) ...
      正在选中未选择的软件包 libsvn1:amd64。
      正准备解包 .../libsvn1_1.8.13-0ubuntu0~trusty~ppa5_amd64.deb ...
      正在解包 libsvn1:amd64 (1.8.13-0ubuntu0~trusty~ppa5) ...
      正在选中未选择的软件包 subversion。
      正准备解包 .../subversion_1.8.13-0ubuntu0~trusty~ppa5_amd64.deb ...
      正在解包 subversion (1.8.13-0ubuntu0~trusty~ppa5) ...
      正在处理用于 man-db (2.6.7.1-1ubuntu1) 的触发器 ...
      正在设置 libserf-1-1:amd64 (1.3.3-1ubuntu0.1) ...
      正在设置 libsvn1:amd64 (1.8.13-0ubuntu0~trusty~ppa5) ...
      正在设置 subversion (1.8.13-0ubuntu0~trusty~ppa5) ...
      正在处理用于 libc-bin (2.19-0ubuntu6.6) 的触发器 ...
  2. 整合apache需要安装svn-apache连接库,输入命令:
    apt-get install libapache2-svn
    • 提示:
      下列【新】软件包将被安装:
      libapache2-mod-svn libapache2-svn
      升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
      需要下载 340 kB 的软件包。
      解压缩后会消耗掉 598 kB 的额外空间。
      您希望继续执行吗? [Y/n]
    • 确认安装输入:
      y
    • 安装成功输出:
      下载 340 kB,耗时 6秒 (52.6 kB/s)
      正在选中未选择的软件包 libapache2-mod-svn。
      (正在读取数据库 ... 系统当前共安装有 60443 个文件和目录。)
      正准备解包 .../libapache2-mod-svn_1.8.13-0ubuntu0~trusty~ppa5_amd64.deb ...
      正在解包 libapache2-mod-svn (1.8.13-0ubuntu0~trusty~ppa5) ...
      正在选中未选择的软件包 libapache2-svn。
      正准备解包 .../libapache2-svn_1.8.13-0ubuntu0~trusty~ppa5_all.deb ...
      正在解包 libapache2-svn (1.8.13-0ubuntu0~trusty~ppa5) ...
      正在设置 libapache2-mod-svn (1.8.13-0ubuntu0~trusty~ppa5) ...
      apache2_invoke: Enable module authz_svn
      * Restarting web server apache2
      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [ OK ]
      apache2_invoke dav_svn: already enabled
      * Restarting web server apache2
      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [ OK ]
      正在设置 libapache2-svn (1.8.13-0ubuntu0~trusty~ppa5) ...
  3. 添加svn用户组,用于管理svn,输入命令:
    addgroup subversion
    • 添加用户组成功,提示:
      正在添加组"subversion" (GID 1000)...
      完成。
    • 把用户www-data加入到subversion组,输入命令:
      usermod -G subversion -a www-data
  4. 编辑svn-apache连接库的配置文件,打开目录:
    /etc/apache2/mods-enabled
    • 修改配置文件:
      dav_svn.conf
      • 第13行:
        #<Location /svn>
        • 去掉:
          #
        • 修改为:
          <Location /svn>
      • 第16行:
        #DAV svn
        • 去掉:
          #
        • 修改为:
          DAV svn
      • 第23行:
        #SVNParentPath /var/lib/svn
        • 去掉:
          #
        • 修改为svn仓库的父目录:
          SVNParentPath /var/www/svn
      • 第40行:
        #AuthType Basic
        • 去掉:
          #
        • 修改为:
          AuthType Basic
      • 第41行:
        #AuthName "Subversion Repository"
        • 去掉:
          #
        • 修改为仓库名:
          AuthName "hxgsn svn"
      • 第42行:
        #AuthUserFile /etc/apache2/dav_svn.passwd
        • 去掉:
          #
        • 修改为svn用户文件路径:
          AuthUserFile /var/www/access/passwd
      • 第46行:
        #AuthzSVNAccessFile /etc/apache2/dav_svn.authz
        • 去掉:
          #
        • 修改为svn授权访问文件路径:
          AuthzSVNAccessFile /var/www/access/authz
      • 第53行:
        #Require valid-user
        • 去掉:
          #
        • 修改为:
          Require valid-user
      • 第56行:
        #</Location>
        • 去掉:
          #
        • 修改为:
          </Location>
      • 第17行:添加上增加http(https)浏览仓库根目录的功能:
        SVNListParentPath on
      • 第18行:添加只允许https访问仓库的功能:
        SSLRequireSSL
    • 配置文件需要重启apache后生效,输入命令:
      service apache2 restart
      • 重启成功提示:
         * Restarting web server apache2
        AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [ OK ]
  5. 这部分其实是没完成的,因为后面还有使用svnmanager管理svn,两部分连起来才算是完整的。

分享到: