あずきみるくのあずきはニガテ - for Engineer

ひよっこプログラマがやってみたことやハマっちゃったことなど、備忘録的な感じで書いていきます。

Subversion - Linuxにインストールして、Windowsで使えるまで

「ソース管理できるようにしたいから、Subversion設定しておいて〜」

・・・死の宣告ひでぶたわばばばばば・・・

何を隠そう、あずきはサーバーまわり、ちょっと苦手です・・・orz
今までは、先輩やプロパーの方々が丁寧に設定していただいたものを何も気にせず使わせていただいてただけでした。(と、気づいた 汗)

そんなあずきにも、とうとう触る日が訪れました。

これを機会に、いろいろ詳しくなるぞ!

・・・と思いつつ、何をやったらいいかもわかんないので、手探りで始めていきます。

■目標!!

  • LinuxSubversionをインストールして、Windowsからソースやドキュメントのバージョン管理をしたい!
  • Subversionにアクセスの認証をつけたい!(これは次回になること、先に言っておきますw)


<環境>
Linux (CentOS 7.)
Windows 8.1
Subversion 1.7.14

1)Linux側の設定

先生はこちら
[CentOS][SVN]Subversionの導入 - Linux編 | ごった煮 - tips about programming and building a server

注意)基本的に、この設定の操作はrootユーザにて行います。
  (一般ユーザでは権限不足のため)
   「# 」で始まるコマンドはrootユーザで叩くコマンドという意味で書いてます。

1.1 SunVersionのインストール

root権限にて以下のコマンドを実行します。

# yum install subversion

今回、あずきが触るサーバーは初めからインストールされてたので、実際はこのコマンド、叩いてません。

1.2 リポジトリの作成

ディレクトリを作成後、Subversionリポジトリとして登録します。
今回は「portal」というプロジェクトを作成したいので、

「/var/svn/repo/portal」というフォルダを作成し、ここにリポジトリを作成することにします。

# mkdir -p /var/svn/repo/portal
# svnadmin create /var/svn/repo/portal

まんま、ですね。
「mkdir」はディレクトリを作成するコマンド、
「svnadmin create」でSVNリポジトリとして設定する、という流れです。

1.3 trunk、branches、tagsの作成

それぞれの意味するところは

  • trunk:通常、開発を行うところ
  • branches:枝、という訳のとおり、本線と離れた開発(未確定の追加機能とか)を行うところ
  • tags:その時々のスナップショット(リリースしたタイミングとかで作成するイメージ)

とにんしきしております。

が、今は使えるようにすることが先決なので、後回し。
先にやりたい人は先生に聞いてください。
先生:[CentOS][SVN]Subversionの導入 - Linux編 | ごった煮 - tips about programming and building a server

1.4 WebDAVでの公開

つまり、LinuxサーバにあるリポジトリSSHとかいう形式ではなく、webでのアクセスとしてつなぎにいきたい、ってこってす。

どうも、Windows8.1はLinuxと相性が悪いイメージ。
(ただ単にSamba繋げなかっただけなんだけど)

サーバにApacheも入ってることだし、使っちゃえ!!
※ただし、この設定方法はApacheを再起動する必要があります。
 もし、何か公開済みでApacheの再起動が難しい場合はできません。

1.4.1 mod_dav_svn のインストール

WebDAVでの公開に必要なApache用設定ファイルとかを落としてくれます。
以下のコマンドで実行です。

# yum install mod_dav_svn

全部で3つくらい、パッケージを落としてたと思います。
依存関係のあるものまでちゃんと落としてくれるなんて、やるじゃん!yum!!

1.4.2 subversion.conf の編集

mod_dav_svnをインストールすると、以下の場所に作られています。
「/etc/httpd/conf.d/subversion.conf」

こいつを開いて編集します。

<Location /svn/portal>
    DAV svn
    SVNPath /var/svn/repo/portal
  #SVNParentpath "/var/lib/svn/repos/"
    #SVNListParentPath On
</Location>

<Location>タグはもともとあるので、その横にアクセスする際のパスを記入します。
パスが被っちゃうと混乱しちゃうので、同じパスにならないように気をつけましょう。

「SVNPath」のところには、1.2で作成したリポジトリのパスを設定してあげてください。

下のコメントしている2つは、今のところ保留です。
(後でぼちぼち追記します)

1.4.3 リポジトリパーミッションの変更

Apacheプロセスがリポジトリにアクセスできるように、以下のコマンドで権限を与えておきます。

# chown -R apache:apache /var/svn/repo/portal
1.4.4 Apache 再起動

Apacheを再起動します。

# /etc/rc.d/init.d/httpd restart

・・・ただ、あずきが触ってる環境にはApache、どこにおるかわからんかった・・・
結局、httpdではなく、別のコマンドを使いました。

/usr/sbin/apachectl restart

httpd」も「apachectl」もApacheの動作に関わるものらしいです。
どっちでも再起動できるなら、大丈夫だと思います。

1.4.5 動作確認

ちゃんとできたか、動作確認してみましょう。
http://(サーバー名)/svn/portal/」
こんなのが出たら、とりあえずアクセスできるようになっています。
f:id:azuki-milk-lush:20150216102642p:plain


***** 追記!! 2016/9/1 *****
実は、これだけだとチェックアウトはできるけど、コミットができない。
先生を参考に、、、
リポジトリ直下の「db」「dav」ディレクトリの持ち主を「apache」に変更してください!

ちなみに、subversionのバージョンが1.5以降になるとdavディレクトリは自分で作らないといけないらしいので要注意。

備忘録: svnでapache経由でコミットしようとしらたエラーになった


2)Windows 側の設定

2.1 ダウンロード

こちらにアクセス!
Downloads · TortoiseSVN

まず、インストーラーをダウンロードします。
f:id:azuki-milk-lush:20150214004645p:plain
その後、下の方から日本語化するためのパッケージ(Language Pack)も取得します。
f:id:azuki-milk-lush:20150214004715p:plain
もちろん、お使いのOSのビット数に合わせてくださいね。

2.2 インストール

2.1でダウンロードしたインストーラを使って、ぽちぽちしていくとダウンロードできます。
(投げやりでごめんなさい)

2.3 日本語化の適用

どこでもいいので右クリック>TortoiseSVN>Prefarence を選択します。

右上のあたりに言語を選択できるところがあるので、ここのプルダウンを「日本語」に変更してください。

f:id:azuki-milk-lush:20150216103021p:plain

2.4 接続確認

同じくどこでもいいので右クリック>TortoiseSVNリポジトリブラウザを選択します。
すると、こんな画面が開きます。
f:id:azuki-milk-lush:20150216103128p:plain


URL部分に、以下のように入力してください
「http://(サーバー名)/svn/portal
サーバー名以下は「1.4.2 subversion.conf の編集」で設定した<Location>タグに記載のパスです。
こんな感じで接続されたらOKです!!
f:id:azuki-milk-lush:20150216103214p:plain


そんなわけで、とりあえずこれでWindowsから見に行けましたね。
・・・あれ?でも、このままじゃ、みんなに公開されちゃってる!!
認証、したいです!!

そんなわけで、次回は認証方法を書きます。

<書きましたー。よろしくですm(_ _ )m↓>
azuki-milk.hatenablog.com




<先生がた>いつもお世話になっております。
[CentOS][SVN]Subversionの導入 - Linux編 | ごった煮 - tips about programming and building a server

Subversionのインストールと設定(svnserve編)

CentOSにSubversionサーバを構築する | WEBサービス創造記

Subversion Tips - とみぞーノート