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

Subversionのインストール

概要

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

インストール

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

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

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

[root@KURO-BOX ~]# yum install subversion
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
fedora/metalink                                          | 2.9 kB     00:00
updates/metalink                                         | 2.3 kB     00:00
 * fedora: ftp-stud.hs-esslingen.de
 * rpmfusion-free: mirror.web-ster.com
 * rpmfusion-free-updates: mirror.web-ster.com
 * updates: ftp-stud.hs-esslingen.de
rpmfusion-free                                           | 3.8 kB     00:00
rpmfusion-free-updates                                   | 3.3 kB     00:00
インストール処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています
---> パッケージ subversion.ppc 0:1.6.13-1.fc12.1 を更新に設定しました
--> 依存性の処理をしています: perl(URI) >= 1.17 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_repos-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_delta-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_ra-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_fs_util-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_client-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_fs_base-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_swig_py-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_fs_fs-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_subr-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_fs-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_ra_neon-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_wc-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_ra_svn-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_ra_local-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libsvn_diff-1.so.0 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> 依存性の処理をしています: libneon.so.27 のパッケージ: subversion-1.6.13-1.fc12.1.ppc
--> トランザクションの確認を実行しています
---> パッケージ neon.ppc 0:0.29.3-1.fc12 を更新に設定しました
--> 依存性の処理をしています: libpakchois.so.0 のパッケージ: neon-0.29.3-1.fc12.ppc
--> 依存性の処理をしています: libproxy.so.0 のパッケージ: neon-0.29.3-1.fc12.ppc
---> パッケージ perl-URI.noarch 0:1.54-1.fc12 を更新に設定しました
---> パッケージ subversion-libs.ppc 0:1.6.13-1.fc12.1 を更新に設定しました
--> トランザクションの確認を実行しています
---> パッケージ libproxy.ppc 0:0.2.3-12.fc12 を更新に設定しました
--> 依存性の処理をしています: libproxy-python = 0.2.3-12.fc12 のパッケージ: libproxy-0.2.3-12.fc12.ppc
--> 依存性の処理をしています: libproxy-bin = 0.2.3-12.fc12 のパッケージ: libproxy-0.2.3-12.fc12.ppc
---> パッケージ pakchois.ppc 0:0.4-3 を更新に設定しました
--> トランザクションの確認を実行しています
---> パッケージ libproxy-bin.ppc 0:0.2.3-12.fc12 を更新に設定しました
---> パッケージ libproxy-python.ppc 0:0.2.3-12.fc12 を更新に設定しました
--> 依存性解決を終了しました

依存性を解決しました

================================================================================
 パッケージ            アーキテクチャ
                                    バージョン              リポジトリー   容量
================================================================================
インストールしています:
 subversion            ppc          1.6.13-1.fc12.1         updates       1.6 M
依存性関連でのインストールをします:
 libproxy              ppc          0.2.3-12.fc12           fedora         32 k
 libproxy-bin          ppc          0.2.3-12.fc12           fedora        7.8 k
 libproxy-python       ppc          0.2.3-12.fc12           fedora        7.6 k
 neon                  ppc          0.29.3-1.fc12           updates       122 k
 pakchois              ppc          0.4-3                   fedora         12 k
 perl-URI              noarch       1.54-1.fc12             updates       102 k
 subversion-libs       ppc          1.6.13-1.fc12.1         updates       710 k

トランザクションの要約
================================================================================
インストール         8 パッケージ
アップグレード       0 パッケージ

総ダウンロード容量: 2.5 M
インストール済み容量: 12 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/8): libproxy-0.2.3-12.fc12.ppc.rpm                    |  32 kB     00:02
(2/8): libproxy-bin-0.2.3-12.fc12.ppc.rpm                | 7.8 kB     00:00
(3/8): libproxy-python-0.2.3-12.fc12.ppc.rpm             | 7.6 kB     00:00
(4/8): neon-0.29.3-1.fc12.ppc.rpm                        | 122 kB     00:06
(5/8): pakchois-0.4-3.ppc.rpm                            |  12 kB     00:00
(6/8): perl-URI-1.54-1.fc12.noarch.rpm                   | 102 kB     00:01
(7/8): subversion-1.6.13-1.fc12.1.ppc.rpm                | 1.6 MB     01:06
(8/8): subversion-libs-1.6.13-1.fc12.1.ppc.rpm           | 710 kB     00:44
--------------------------------------------------------------------------------
合計                                             21 kB/s | 2.5 MB     02:05
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールし : perl-URI-1.54-1.fc12.noarch                              1/8
  インストールし : pakchois-0.4-3.ppc                                       2/8
  インストールし : libproxy-bin-0.2.3-12.fc12.ppc                           3/8
  インストールし : libproxy-0.2.3-12.fc12.ppc                               4/8
  インストールし : libproxy-python-0.2.3-12.fc12.ppc                        5/8
  インストールし : neon-0.29.3-1.fc12.ppc                                   6/8
  インストールし : subversion-1.6.13-1.fc12.1.ppc                           7/8
  インストールし : subversion-libs-1.6.13-1.fc12.1.ppc                      8/8

インストールしました:
  subversion.ppc 0:1.6.13-1.fc12.1

依存性関連をインストールしました:
  libproxy.ppc 0:0.2.3-12.fc12              libproxy-bin.ppc 0:0.2.3-12.fc12
  libproxy-python.ppc 0:0.2.3-12.fc12       neon.ppc 0:0.29.3-1.fc12
  pakchois.ppc 0:0.4-3                      perl-URI.noarch 0:1.54-1.fc12
  subversion-libs.ppc 0:1.6.13-1.fc12.1

完了しました!

完了しました。

xinetdのインストール

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

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

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

[root@KURO-BOX ~]# yum -y install xinetd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * fedora: ftp-stud.hs-esslingen.de
 * rpmfusion-free: mirror.web-ster.com
 * rpmfusion-free-updates: mirror.web-ster.com
 * updates: ftp-stud.hs-esslingen.de
インストール処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています
---> パッケージ xinetd.ppc 2:2.3.14-31.fc12 を更新に設定しました
--> 依存性解決を終了しました

依存性を解決しました

================================================================================
 パッケージ      アーキテクチャ
                              バージョン                 リポジトリー      容量
================================================================================
インストールしています:
 xinetd          ppc          2:2.3.14-31.fc12           updates          121 k

トランザクションの要約
================================================================================
インストール         1 パッケージ
アップグレード       0 パッケージ

総ダウンロード容量: 121 k
インストール済み容量: 289 k
パッケージをダウンロードしています:
xinetd-2.3.14-31.fc12.ppc.rpm                            | 121 kB     00:07
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールし : 2:xinetd-2.3.14-31.fc12.ppc                              1/1

インストールしました:
  xinetd.ppc 2:2.3.14-31.fc12

完了しました!

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

/etc/xinetd.d配下にsvnserveを作成
[root@KURO-BOX ~]# 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-BOX ~]# useradd svn

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

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

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

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

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

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

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

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

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

#
# Unregistered but useful/necessary other services
#

    ...

元々下記のような定義があったので、コメントアウト
#svn                  3690/tcp                        # Subversion
#svn                  3690/udp                        # Subversion

下記の定義を追加
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-BOX ~]# service xinetd start
Starting xinetd:                                           [  OK  ]

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

[root@KURO-BOX ~]# telnet localhost 3690
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )

スポンサード リンク

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