「ConoHa VPS に Subversion Edge をインストールしてみた」の版間の差分
(→インストール) |
(→動作確認) |
||
(1人の利用者による、間の30版が非表示) | |||
1行: | 1行: | ||
− | [[Category:コンピュータ]][[Category: | + | [[Category:コンピュータ]][[Category:Linux]] |
− | [[メインページ]]>[[コンピュータの部屋]] | + | [[メインページ]]>[[コンピュータの部屋]]>[[ConoHa VPS を使ってみた]] |
+ | |||
+ | 2014年11月2日 | ||
+ | |||
+ | ConoHa VPS に Subversion Edge をインストールしたときの記録です。 | ||
==準備== | ==準備== | ||
− | + | ===必要なソフト=== | |
− | + | まず、必要なソフトの調査ですが、CollabNetSubversionEdge-4.0.11_linux-x86_64 の README によるとJava 1.6+ と php5.4+ と python-lib の 2.4~2.6 が必要とのこと。 | |
− | + | Java は 1.7 が、php は 5.6 が導入済みなので問題ありません([[Conoha VPS でそこそこ新しいLAMP環境の構築]]参照)。 | |
− | + | python-libs を確認してみますと | |
yum list installed | grep python-libs | yum list installed | grep python-libs | ||
16行: | 20行: | ||
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。実体は | ||
/usr/lib/jvm/java-1.7.0-openjdk.x86_64 | /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 | 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 | setenv JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk.x86_64 | ||
− | + | これで再起動すると問題なく JAVA_HOME環境変数の設定はできています。 | |
− | ls $JAVA_HOME/bin | + | ls <nowiki>$JAVA_HOME/bin</nowiki> |
appletviewer javac jdb jstack policytool tnameserv | appletviewer javac jdb jstack policytool tnameserv | ||
49行: | 56行: | ||
java jconsole jsadebugd pack200 servertool | java jconsole jsadebugd pack200 servertool | ||
− | + | ===iptables の変更=== | |
− | + | subversion edge は管理にポート 3343,4434(SSL) リポジトリアクセスにもう一ポート(自由に設定できるので 60000 と決定)が必要です。iptablesに開けるポートを追加します。 | |
*filter | *filter | ||
62行: | 69行: | ||
-A RH-Firewall-1-INPUT -i lo -j ACCEPT | -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 -p icmp --icmp-type any -j ACCEPT | ||
− | |||
− | |||
− | |||
− | |||
− | |||
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT | -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT | ||
# SSH, HTTP, MySQL | # SSH, HTTP, MySQL | ||
72行: | 74行: | ||
-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 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 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 -m state --state NEW -m tcp -p tcp --dport 60000 -j ACCEPT | ||
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited | -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited | ||
COMMIT | COMMIT | ||
+ | |||
+ | ===Subversion Edge 用ユーザを用意=== | ||
+ | |||
+ | useradd csvn | ||
+ | passwd csvn パスワード | ||
==インストール== | ==インストール== | ||
− | + | ===パーミッション調整=== | |
− | + | ||
+ | /opt で csvn ユーザで tar を展開したいので /opt のパーミッションを 777 に変更します。 | ||
chmod 777 /opt | chmod 777 /opt | ||
− | + | ===ファイルを転送=== | |
− | + | ||
− | + | CollabNet から入手した 64bit Linux 用 Subversion Edge CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz を /opt へファイル転送。 | |
− | + | ||
− | su | + | ===ファイル展開=== |
+ | |||
+ | ユーザを一般(csvn)に切り替えて展開。 | ||
+ | su - csvn | ||
tar xvf CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz | tar xvf CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz | ||
− | + | ===インストール=== | |
+ | |||
+ | rootに戻って以下を実行 | ||
cd csvn | cd csvn | ||
− | cd bin/ | + | bin/csvn install |
+ | |||
+ | 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. | ||
+ | |||
+ | 本当はここで sudo で csvnユーザのまま実行すべきなのですが、この時点で sudo を設定していなかったので root で実行しました。 | ||
+ | こうすると subversion edge は後で起動すると root として実行されてしまうので、設定を書き換えます。 | ||
+ | |||
+ | ===設定の修正=== | ||
+ | |||
+ | /var/www/html/csvn/data/conf の csvn.conf を開け | ||
+ | |||
+ | RUN_AS_USER=root | ||
+ | を | ||
+ | RUN_AS_USER=csvn | ||
+ | に書き換えます。これは root で install を実行したために起きた不整合の修正です。 | ||
+ | |||
+ | ===オーナ調整=== | ||
+ | |||
+ | csvn でインストールしたかのようにファイルのオーナを書き換えます。 | ||
+ | |||
+ | cd /opt | ||
+ | chown csvn:csvn csvn | ||
+ | |||
+ | ===サービス登録確認=== | ||
+ | |||
+ | chkconfig | grep csvn | ||
+ | |||
+ | csvn 0:off 1:off 2:off 3:on 4:on 5:on 6:off | ||
+ | |||
+ | ==subversion 1.6 の削除== | ||
+ | |||
+ | ひょっとしたらと思って、yum で調べてみると、 | ||
+ | |||
+ | yum list installed | grep subversion | ||
+ | |||
+ | subversion.x86_64 1.6.11-10.el6_5 @updates | ||
+ | |||
+ | どうも、まだ epel, ius, remi にも 1.8 は無いみたいですが、よく探してみると | ||
+ | subversion edge の bin フォルダにあるじゃありませんか! | ||
+ | |||
+ | サーバは Web で各種の操作できるので、あまりコマンドは使わないかもしれませんが、とりあえず使えるようにしておきましょう。 | ||
+ | |||
+ | まず古いものは削除します。 | ||
+ | |||
+ | yum remove subversion | ||
+ | |||
+ | ================================================================================ | ||
+ | Package Arch Version Repository Size | ||
+ | ================================================================================ | ||
+ | Removing: | ||
+ | subversion x86_64 1.6.11-10.el6_5 @updates 12 M | ||
+ | |||
+ | Transaction Summary | ||
+ | ================================================================================ | ||
+ | Remove 1 Package(s) | ||
+ | |||
+ | ==suversion 1.8 のコマンドを使えるようにする== | ||
+ | |||
+ | /etc/profile.d に subversion_edge.csh と subversion_edge.sh を追加します。 | ||
+ | |||
+ | ;subversion_edge.csh | ||
+ | setenv <nowiki>PATH ${PATH}:/opt/csvn/bin</nowiki> | ||
+ | ;subversion_edge.sh | ||
+ | export <nowiki>PATH=$PATH:/opt/csvn/bin</nowiki> | ||
+ | |||
+ | 再ログイン後確認すると | ||
+ | |||
+ | svn --version | ||
+ | |||
+ | svn, version 1.8.10 (r1615264) | ||
+ | compiled Aug 12 2014, 15:56:15 on x86_64-unknown-linux-gnu | ||
+ | |||
+ | Copyright (C) 2014 The Apache Software Foundation. | ||
+ | This software consists of contributions made by many people; | ||
+ | see the NOTICE file for more information. | ||
+ | Subversion is open source software, see http://subversion.apache.org/ | ||
+ | |||
+ | The following repository access (RA) modules are available: | ||
+ | |||
+ | * ra_svn : Module for accessing a repository using the svn network protocol. | ||
+ | - handles 'svn' scheme | ||
+ | * ra_local : Module for accessing a repository on local disk. | ||
+ | - handles 'file' scheme | ||
+ | * ra_serf : Module for accessing a repository via WebDAV protocol using serf. | ||
+ | - using serf 1.3.7 | ||
+ | - handles 'http' scheme | ||
+ | - handles 'https' scheme | ||
+ | |||
+ | よいようです。 | ||
+ | |||
+ | ==動作確認== | ||
+ | |||
+ | ホスト名:3343/csvn/login/auth, ホスト名:4434/csvn/login/auth にアクセスしたところ、見事に接続できました。 | ||
+ | |||
+ | ただし、Subversion Edge の内蔵jettyはSSLに自己参照証明書を使っているのでブラウザに警告が出ます。驚かないように。 | ||
+ | |||
+ | ==スクリーンショット== | ||
+ | |||
+ | [[ファイル:Subversion Edge スクリーンショット.png]] |
2016年11月30日 (水) 05:46時点における最新版
メインページ>コンピュータの部屋>ConoHa VPS を使ってみた
2014年11月2日
ConoHa VPS に Subversion Edge をインストールしたときの記録です。
目次
[非表示]準備
必要なソフト
まず、必要なソフトの調査ですが、CollabNetSubversionEdge-4.0.11_linux-x86_64 の README によるとJava 1.6+ と php5.4+ と python-lib の 2.4~2.6 が必要とのこと。
Java は 1.7 が、php は 5.6 が導入済みなので問題ありません(Conoha VPS でそこそこ新しいLAMP環境の構築参照)。
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 と決定)が必要です。iptablesに開けるポートを追加します。
*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 で csvn ユーザで tar を展開したいので /opt のパーミッションを 777 に変更します。
chmod 777 /opt
ファイルを転送
CollabNet から入手した 64bit Linux 用 Subversion Edge CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz を /opt へファイル転送。
ファイル展開
ユーザを一般(csvn)に切り替えて展開。
su - csvn tar xvf CollabNetSubversionEdge-4.0.11_linux-x86_64.tar.gz
インストール
rootに戻って以下を実行
cd csvn bin/csvn install
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.
本当はここで sudo で csvnユーザのまま実行すべきなのですが、この時点で sudo を設定していなかったので root で実行しました。 こうすると subversion edge は後で起動すると root として実行されてしまうので、設定を書き換えます。
設定の修正
/var/www/html/csvn/data/conf の csvn.conf を開け
RUN_AS_USER=root
を
RUN_AS_USER=csvn
に書き換えます。これは root で install を実行したために起きた不整合の修正です。
オーナ調整
csvn でインストールしたかのようにファイルのオーナを書き換えます。
cd /opt chown csvn:csvn csvn
サービス登録確認
chkconfig | grep csvn
csvn 0:off 1:off 2:off 3:on 4:on 5:on 6:off
subversion 1.6 の削除
ひょっとしたらと思って、yum で調べてみると、
yum list installed | grep subversion
subversion.x86_64 1.6.11-10.el6_5 @updates
どうも、まだ epel, ius, remi にも 1.8 は無いみたいですが、よく探してみると subversion edge の bin フォルダにあるじゃありませんか!
サーバは Web で各種の操作できるので、あまりコマンドは使わないかもしれませんが、とりあえず使えるようにしておきましょう。
まず古いものは削除します。
yum remove subversion
================================================================================ Package Arch Version Repository Size ================================================================================ Removing: subversion x86_64 1.6.11-10.el6_5 @updates 12 M Transaction Summary ================================================================================ Remove 1 Package(s)
suversion 1.8 のコマンドを使えるようにする
/etc/profile.d に subversion_edge.csh と subversion_edge.sh を追加します。
- subversion_edge.csh
setenv PATH ${PATH}:/opt/csvn/bin
- subversion_edge.sh
export PATH=$PATH:/opt/csvn/bin
再ログイン後確認すると
svn --version
svn, version 1.8.10 (r1615264) compiled Aug 12 2014, 15:56:15 on x86_64-unknown-linux-gnu Copyright (C) 2014 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - using serf 1.3.7 - handles 'http' scheme - handles 'https' scheme
よいようです。
動作確認
ホスト名:3343/csvn/login/auth, ホスト名:4434/csvn/login/auth にアクセスしたところ、見事に接続できました。
ただし、Subversion Edge の内蔵jettyはSSLに自己参照証明書を使っているのでブラウザに警告が出ます。驚かないように。