玄箱HGにFedoraを入れて自宅サーバを構築 - Amonution

Subversionのインストール

概要

自分で開発中しているソフトウェアのソースファイルを管理するために、Subversionをインストールします。

インストール

既にインストールされているか確認します。

[root@KURO-F7 ~]# rpm -qi subversion
パッケージ subversion はインストールされていません。

インストールされていないようなので、インストールを実施します。

[root@KURO-F7 ~]# yum install subversion
fedora                    100% |=========================| 2.1 kB    00:00
updates                   100% |=========================| 2.3 kB    00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package subversion.ppc 0:1.4.4-7 set to be updated
--> Processing Dependency: libapr-1.so.0 for package: subversion
--> Processing Dependency: libaprutil-1.so.0 for package: subversion
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion
--> Processing Dependency: libneon.so.27 for package: subversion
--> Running transaction check
---> Package apr-util.ppc 0:1.2.10-2.fc8 set to be updated
---> Package apr.ppc 0:1.2.11-2 set to be updated
---> Package perl-URI.noarch 0:1.35-3.1 set to be updated
---> Package neon.ppc 0:0.27.2-2 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 subversion              ppc        1.4.4-7          fedora            2.5 M
Installing for dependencies:
 apr                     ppc        1.2.11-2         fedora            137 k
 apr-util                ppc        1.2.10-2.fc8     fedora             80 k
 perl-URI                noarch     1.35-3.1         fedora            116 k
Updating for dependencies:
 neon                    ppc        0.27.2-2         fedora            116 k

Transaction Summary
=============================================================================
Install      4 Package(s)
Update       1 Package(s)
Remove       0 Package(s)

Total download size: 2.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): perl-URI-1.35-3.1. 100% |=========================| 116 kB    00:00
(2/4): apr-1.2.11-2.ppc.r 100% |=========================| 137 kB    00:00
(3/4): subversion-1.4.4-7 100% |=========================| 2.5 MB    00:01
(4/4): apr-util-1.2.10-2. 100% |=========================|  80 kB    00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: apr                          ######################### [1/6]
  Installing: apr-util                     ######################### [2/6]
  Updating  : neon                         ######################### [3/6]
  Installing: perl-URI                     ######################### [4/6]
  Installing: subversion                   ######################### [5/6]
  Cleanup   : neon                         ######################### [6/6]

Installed: subversion.ppc 0:1.4.4-7
Dependency Installed: apr.ppc 0:1.2.11-2 apr-util.ppc 0:1.2.10-2.fc8 perl-URI.noarch 0:1.35-3.1
Dependency Updated: neon.ppc 0:0.27.2-2
Complete!

完了しました。

xinetdのインストール

xinetd経由でサービスを起動するため、xinetdをインストールします。
すでにインストール済みであれば不要です。

[root@KURO-F7 ~]# rpm -q xinetd
パッケージ xinetd はインストールされていません。

インストールされていないようなので、インストールを実施します。

[root@KURO-F7 ~]# yum -y install xinetd
fedora                    100% |=========================| 2.1 kB    00:00
updates                   100% |=========================| 2.3 kB    00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package xinetd.ppc 2:2.3.14-14.fc8 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 xinetd                  ppc        2:2.3.14-14.fc8  fedora            134 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 134 k
Downloading Packages:
(1/1): xinetd-2.3.14-14.f 100% |=========================| 134 kB    00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: xinetd                       ######################### [1/1]

Installed: xinetd.ppc 2:2.3.14-14.fc8
Complete!

インストールが完了しました。
xinetdの設定をするために、/etc/xinetd.d配下にsvnserveというファイルを作成し、下記のような内容を書き込みます。

/etc/xinetd.d配下にsvnserveを作成
[root@KURO-F7 ~]# vi /etc/xinetd.d/svnserve

下記の内容を書き込む
service svnserve
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = svn svnserveを実行するユーザ
        server          = /usr/bin/svnserve svnserveへのフルパス
        server_args     = -i -r /var/svn/repos svnserveに渡す引数。「-r /var/svn/repos」でリポジトリのルートディレクトリを/var/svn/reposに設定しています。 
        log_on_failure  += USERID 接続に失敗した場合、ユーザ名をログに記録する
        only_from       = 192.168.11.0/24 127.0.0.1
}

Subversionのセットアップ

Subversionで使用するユーザを作成します。

[root@KURO-F7 ~]# useradd svn

続いて、リポジトリを格納するためのディレクトリを作成します。

[root@KURO-F7 ~]# mkdir /var/svn
[root@KURO-F7 ~]# mkdir /var/svn/repos

作成ディレクトリのオーナーを、先ほど作成したユーザに変更します。

[root@KURO-F7 ~]# chown svn:svn /var/svn
[root@KURO-F7 ~]# chown svn:svn /var/svn/repos

/etc/hosts.allowに下記の内容を追記し、内部ネットワークからの接続のみを許可するようにします。

/etc/hosts.allowを編集
[root@KURO-F7 ~]# vi /etc/hosts.allow

下記の内容を追加
svnserve : 192.168.11. 127.0.0.1

/etc/servicesを編集して、サービス名と使用ポート番号を追記します。
追加する位置は自由ですが、「Unregistered but useful/necessary other services」のあたりに追加しておくと良いようです。

/etc/servicesを編集
[root@KURO-F7 ~]# vi /etc/services

下記の内容を追加
#
# Unregistered but useful/necessary other services
#

    ...

svnserve             3690/tcp                        # Subversion
svnserve             3690/udp                        # Subversion

続いて、chkconfigコマンドを使ってsvnserveを起動できるようにします。

svnserveを起動するようにする
[root@KURO-F7 ~]# chkconfig --add svnserve

設定が反映されているか確認する
[root@KURO-F7 ~]# chkconfig --list svnserve
svnserve        on

起動設定が整ったところで、xinetdを起動します。

[root@KURO-F7 ~]# service xinetd start
xinetd を起動中:                                           [  OK  ]

telnetを使ってsvnserveに接続して次のように表示されればOKです。

[root@KURO-F7 ~]# telnet localhost 3690
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline svndiff1 absent-entries ) ) )

スポンサード リンク

TOPに戻る / メニューに戻る
Copyright © 1999-2011 Amonution  All rights reserved.
Address