自分で開発中しているソフトウェアのソースファイルを管理するために、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をインストールします。
すでにインストール済みであれば不要です。
[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で使用するユーザを作成します。
[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 ) ) )
Copyright © 1999-2017 Amonution All rights reserved.