忍者ブログ
雇われるだけの人生から目指せ独立、社会人2年目なゲーム脳SEのブログ。更新頻度=週2~3回。
[213]  [212]  [211]  [210]  [209]  [208]  [207]  [206]  [205]  [204]  [203
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

現在家でやっている個人プロジェクトのソースコードを、バージョン管理システムで管理したいと思い立ちSourceForgeのプロジェクトとして立ち上げるとか、Google Codeのプロジェクトとして立ち上げるとかいろいろ考えました。
ですが、SourceForgeのプロジェクトにするとオープンソース化が義務付けられてしまいます。Google Codeも同様?な具合ですし。将来的にオープンにするとしても、今はまだクローズにしておきたいのです。それに、プロジェクトが認められるまで時間もかかります。
というわけで、せっかくの機会ですから、自分でサーバを立てて管理してみることにしました。

バージョン管理システムとして選んだのは、巷で有名の・・・やたら狭い巷ですが・・・とにかく、有名な「Trac」です。すでに何人もの先人の方が自宅で構築されてBlog記事を残してくださっているので、難易度も低そうです。腕ならしということで挑戦してみることにしました。

参考にしたリンクはこちら。
TracInstall – The Trac Project – Trac
Tracをインストールした - 偏った言語信者の垂れ流し 
CentOS5 で Subversion+Trac | cafe chantant blog


○まずはapache2を起動してみる
/etc/apache2/の中身と大格闘です。
自宅サーバの道しるべ【ポート設定(ファイアウォール)】
こんなページもあったのですが、そもそも書いてあることと実際のファイル配置などなどがまるで違うのであんまり役に立ちませんでした。httpd.confとapache2.confという二つのファイルがあったのですが、httpd.confの中身は何故かカラッポで、apache2.confにhttpd.confの中身がすべて書かれていました。どうしてこうなっているのかはわかりません。

設定内容はapache2とsubversionを連携するためにWebDAVパッケージをインストールして、Basic認証をかけたぐらいです。

Ubuntuを使用したので、パッケージのインストールのためにいちいちapt-getコマンドを使う必要もなく、付属のパッケージ管理GUIツールで一発です。DAVで検索すると、うまい具合にsubversion+WebDAV用のパッケージがあったので、そちらを選択してインストール。

それから、デフォルトではapache2はwww-dataというユーザとグループで起動するようになっているのですが、何となく名前が気に入らないという適当な理由から、webというユーザを新たにつくり、webユーザで起動するように変更しました。


○subversionをインストールしてみる
Subversionのインストールと設定(Apache編)
パッケージは例によってGUIからインストール。
リポジトリは/usr/local/svn/repositoryに作成してみましたが、これが後から考えると大失敗でした。
/usr/local/以下の中身はroot権限がないと操作できません。
必然的にディレクトリを作るのもsvnadmin createするのもsudoを使います。
その結果、リポジトリのオーナーがrootになってしまって、apache2からアクセスできないという問題が・・・結局、リポジトリをchown web:webとして解決しましたが、実にスマートではありません。/home/web/svn/repository/というふうに配置するべきでした。

Linux系OSの難しいところって、インストール先を選択する自由度が高いところと、アプリケーションのリソースに対するユーザ権限管理ですねー。としみじみ思い知らされました。

ちなみに設定はhttpd.confの末尾に書けとかmod-webdav.confの末尾に書けとかいろいろ指示があったのですが、/etc/apache2/conf.d/というスニペットコードを置くディレクトリが最初から定義されていたので、そちらにsvn.confファイルを作成してそこで制御することにしました。こっちのほうがアプリケーションごとに設定がまとめられて楽かなーと。


○最後にTrac
最後にTracです。
先ほどのSubversionの失敗を生かすために、/home/web/trac/以下にインストールしてみました。
Tracをインストールした - 偏った言語信者の垂れ流し
まったく内容を理解せずにこちらの方が紹介されている方法をそのままコピーでどんどんインストール。
ただし、Apache2の設定内容だけはコピーできなかった(そのままコピーすると、/svn/repository以下に公開しているリポジトリへのアクセスもtracのWSGAApplicationが拾ってしまうので、リポジトリが見れない)ので、/etc/apache2/conf.d/trac.confファイルを作成し、以下のように設定しました。
WSGIScriptAlias /trac /home/web/trac/trac.wsgi
<location login="" trac="">
#Basic認証の設定
AuthType Basic
AuthName "Trac login password"
AuthUserFile /いえないよ/.いえないよ.passwordfile
Require valid-user
</location>
こうすると、/trac以下がtracに、/svn/repository以下がWebDAVに制御されるので、きちんと両方にアクセスできます。それから、basic認証をLocation /trac/loginに対してかけてみました。
trac-admin permission add akisute TRAC_ADMIN
このコマンド入力によって、私は管理者権限を得る!
あとはユーザ権限の編集や、チケットシステムの設定は、tracトップページのAdminボタンからできるので非常に簡単です。いちいちtrac-adminで全部ユーザ権限を制御したりというのは面倒ですからね。


○VirtualBoxの設定
Ubuntuが仮想マシン上で動いているので、VirtualBoxのネットワーク接続設定を行わないと、いくらルータがポートを開いていてもポート80番にアクセスできません。
404 shin1のつぶやき ないわー NotFound: VirtualBox上のUbuntuの設定(Network)
#181 (Inability to ping from guest) - VirtualBox 
VirtualBoxのホスト<>ゲスト間接続にはNATとホストのネットワーク機器としてブリッジを用いて接続する方法の種類がありますが、面倒じゃないNATを選択しました。NATを使うとPingが通らない(ICMPというプロトコルが使えない)らしいのですが、特に困っていないのでこのままNATで続行です。

設定内容は、ホストの80番をゲストの80番にポートマッピング。これだけです。


○接続チェック
サーバー監視【無料】 
ホームページテスト【外部からの表示確認】
こんなすばらしいサービスがありましたので、さっそく外部から接続できているか試してみます。

WS000154.JPG

できました!!


○ひとまずこれで完成ですが
会社からはプロキシをはさんでいるので、Subversionのリポジトリの取得は出来るのですがコミットが出来ません。
ただのにっき(2005-08-02)
どうやらプロキシが知らないHTTPメソッドを使用するから(HTTP REPORTとか)みたいです。
セキュリティ上の問題もあるので、Subversionに対してHTTPS通信を使えるようにしてみるつもりです。
#3 - Subversion w/ DAV over HTTPS on woody , SSH越しにルータの設定 , RSS関係で細かいところ
日々の試行と実験: subversionやwebdavでSSLを有効にする
HOWTO - Apache2 + Subversion + SSL - Ubuntu Forums


○それでは
気合入れてソース書くぞー!!
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
06 2017/07 08
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
ブログ内検索
最新コメント
[11/13 DSLR-A850]
[08/29 逆援助交際]
[08/23 クンニ]
[08/22 熟女]
[08/19 痴漢]
はてなブックマーク
プロフィール
HN:
akisute
性別:
男性
職業:
システムエンジニア
趣味:
ゲーム・東方・ニコ動。あと散歩。
バーコード
推奨環境

横幅900px以上、Firefox 3, Safari 3, Opera 9.5, Chrome 0.2以上。IE7ギリギリ対応。IE6未対応。

忍者ブログ [PR]