「ConoHa VPS に Subversion Edge をインストールしてみた」の版間の差分

提供: tknotebook
移動: 案内検索
(準備)
(準備)
4行: 4行:
 
==準備==
 
==準備==
  
*必要なソフトと所在
+
===必要なソフトと所在===
  
:まず、必要なソフトの調査ですが、CollabNetSubversionEdge-4.0.11_linux-x86_64 の README によるとJava 1.6+ と python-lib の 2.4~2.6 が必要とのこと。
+
まず、必要なソフトの調査ですが、CollabNetSubversionEdge-4.0.11_linux-x86_64 の README によるとJava 1.6+ と python-lib の 2.4~2.6 が必要とのこと。
  
:Java は 1.7 が導入済みなので問題ありません。
+
Java は 1.7 が導入済みなので問題ありません。
  
:python-libs を確認してみますと
+
python-libs を確認してみますと
  
 
  yum list installed | grep python-libs
 
  yum list installed | grep python-libs
16行: 16行:
 
  python-libs.x86_64                        2.6.6-52.el6              @updates
 
  python-libs.x86_64                        2.6.6-52.el6              @updates
  
:で問題なさそうです。
+
で問題なさそうです。
  
:また、SubversionEdge は環境変数 JAVA_HOME を参照するので設定しろとありますので、Java がいったいどこにあるか探ると、JDK のコマンドは皆 /usr/bin にありますが、これは /etc/alternative への simlink で  /etc/alternative の中身も simlink。実体は
+
また、SubversionEdge は環境変数 JAVA_HOME を参照するので設定しろとありますので、Java がいったいどこにあるか探ると、JDK のコマンドは皆 /usr/bin にありますが、これは /etc/alternative への simlink で  /etc/alternative の中身も simlink。実体は
  
 
/usr/lib/jvm/java-1.7.0-openjdk.x86_64
 
/usr/lib/jvm/java-1.7.0-openjdk.x86_64
24行: 24行:
 
にあることがわかりました。これが JAVA_HOME の値です。
 
にあることがわかりました。これが JAVA_HOME の値です。
  
*JAVA_HOME 環境変数の設定
+
===JAVA_HOME 環境変数の設定===
  
:JAVA_HOME の設定は /etc/profile の中に書くのが一番簡単だと思ったのですがですが、/etc/profile.d の下にアプリケーションで追加実行するシェルスクリプトを書くのが CENTOS の流儀のようです。
+
JAVA_HOME の設定は /etc/profile の中に書くのが一番簡単だと思ったのですがですが、/etc/profile.d の下にアプリケーションで追加実行するシェルスクリプトを書くのが CENTOS の流儀のようです。
:jdk.sh, jdk.csh を /etc/profile.d の下に以下のように作りました。
+
 
 +
jdk.sh, jdk.csh を /etc/profile.d の下に以下のように作りました。
  
 
  jdk.sh:
 
  jdk.sh:
37行: 38行:
 
  setenv JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk.x86_64
 
  setenv JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk.x86_64
  
:これで問題なく JAVA_HOME環境変数の設定はできています。
+
これで再起動すると問題なく JAVA_HOME環境変数の設定はできています。
  
 
  ls $JAVA_HOME/bin
 
  ls $JAVA_HOME/bin
49行: 50行:
 
  java          jconsole      jsadebugd  pack200      servertool
 
  java          jconsole      jsadebugd  pack200      servertool
  
*iptables の変更
+
===iptables の変更===
  
:subversion edge は管理にポート 3343,4434(SSL) リポジトリアクセスにもう一ポート必要です。80は使えないので 60000 を採用。iptableで開ける設定を追加します。
+
:subversion edge は管理にポート 3343,4434(SSL) リポジトリアクセスにもう一ポート(設定できるので 60000)が必要です。iptableに開けるポートを追加します。
  
 
  *filter
 
  *filter
72行: 73行:
 
  COMMIT
 
  COMMIT
  
*Subversion Edge 用ユーザを用意
+
===Subversion Edge 用ユーザを用意===
 +
 
 
  useradd csvn
 
  useradd csvn
 
  passwd csvn パスワード
 
  passwd csvn パスワード

2014年11月3日 (月) 04:08時点における版

メインページ>コンピュータの部屋

準備

必要なソフトと所在

まず、必要なソフトの調査ですが、CollabNetSubversionEdge-4.0.11_linux-x86_64 の README によるとJava 1.6+ と python-lib の 2.4~2.6 が必要とのこと。

Java は 1.7 が導入済みなので問題ありません。

python-libs を確認してみますと

yum list installed | grep python-libs
python-libs.x86_64                         2.6.6-52.el6              @updates

で問題なさそうです。

また、SubversionEdge は環境変数 JAVA_HOME を参照するので設定しろとありますので、Java がいったいどこにあるか探ると、JDK のコマンドは皆 /usr/bin にありますが、これは /etc/alternative への simlink で  /etc/alternative の中身も simlink。実体は

/usr/lib/jvm/java-1.7.0-openjdk.x86_64

にあることがわかりました。これが JAVA_HOME の値です。

JAVA_HOME 環境変数の設定

JAVA_HOME の設定は /etc/profile の中に書くのが一番簡単だと思ったのですがですが、/etc/profile.d の下にアプリケーションで追加実行するシェルスクリプトを書くのが CENTOS の流儀のようです。

jdk.sh, jdk.csh を /etc/profile.d の下に以下のように作りました。

jdk.sh:
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
jdk.csh:
setenv JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk.x86_64

これで再起動すると問題なく JAVA_HOME環境変数の設定はできています。

ls $JAVA_HOME/bin
appletviewer  javac         jdb         jstack        policytool   tnameserv
apt           javadoc       jhat        jstat         rmic         unpack200
extcheck      javah         jinfo       jstatd        rmid         wsgen
idlj          javap         jmap        keytool       rmiregistry  wsimport
jar           java-rmi.cgi  jps         native2ascii  schemagen    xjc
jarsigner     jcmd          jrunscript  orbd          serialver
java          jconsole      jsadebugd   pack200       servertool

iptables の変更

subversion edge は管理にポート 3343,4434(SSL) リポジトリアクセスにもう一ポート(設定できるので 60000)が必要です。iptableに開けるポートを追加します。
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH, HTTP, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3343 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4434 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 60000 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

Subversion Edge 用ユーザを用意

useradd csvn
passwd csvn パスワード

インストール

パーミッション調整
/optのパーミッションを 777 に変更
chmod 777 /opt
ファイルを転送
CollabNet から入手した 64bit Linux 用 Subversion Edge CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz を /opt へファイル転送。
ファイル展開
ユーザを一般に切り替えて展開。
su nakamuri
tar xvf CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz
インストール

rootに戻って以下を実行

cd csvn
bin/csvn install
本当はここで sudo をで csvnユーザのまま実行すべきなのですが面倒なのでやめました。こうすると subversion edge は root として実行されてしまうので、あとで設定を書き換えます。
Detected RHEL or Fedora:
 Installing the CSVN Console daemon..
Setting RUN_AS_USER to: 'root'. Please edit '../data/conf/csvn.conf' if this needs to be adjusted
Setting JAVA_HOME to: '/usr/lib/jvm/java-1.7.0-openjdk.x86_64'. Please edit '../data/conf/csvn.conf' if this needs to be adjusted.
設定の修正

csvn/data/conf の csvn.conf を開け

RUN_AS_USER=root

RUN_AS_USER=csvn

に書き換える。これは root で install を実行したために起きた不整合の修正です。

サービス登録確認
chkconfig | grep csvn
csvn            0:off   1:off   2:off   3:on    4:on    5:on    6:off

動作確認

ホスト名:3343/csvn/login/auth にアクセスしたとこと見事に接続できた。

スクリーンショット

Subversion Edge スクリーンショット.png