2007年3月29日木曜日

Subversionのキーワード置換とかのクライアント設定全般

キーワード置換やらの設定をクライアント側で設定する。覚書。

クライアントの設定については、
configファイルとserversファイルにて管理されます。
この二つのファイルはテキストファイルで、テキストエディタにて書き換えることが可能。
(レジストリのHKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion以下に格納することも可能です。)

Windowsをクライアントに使用している場合、一番初めにSVNをコマンドラインにて
実行した時に、ユーザーのホームディレクトリのApplication Data配下に、
Subversionというフォルダが作成され、
その配下に、configとserversのファイルが作成されます。
(C:\Documents and Settings\xxxx\Application Data\Subversionという感じ)
これらのファイルはINIファイル形式にて記述されます。

serversファイルですが、
ProxyやSSLを使用する場合の記述をこのファイルに書き込めます。
今回のさくらでSubversionを使用する場合は、SSLもProxyを使用していないので記述の変更なし。

次にconfigファイルの設定変更。
[miscellany]セクションの変更

  1. enable-auto-props
    最初にインポートしたときにSubversionとしての属性を自動的に変更するかの設定。
    初期値はnoです。
    enable-auto-props = yes
    に書き換える。
    キーワード置換などは、インポートしたファイルの属性となるので、yesにして自動的に変更されるようにする。
  2. global-ignores
    svnコマンドで無視するファイルを設定できる。
    ログファイルやEclipseの設定ファイルはバージョン管理する必要がないので、ここに加えて無視するようにする。
    *.o *.lo *.la #*# .*~ *~ .#* .DS_Store はデフォルトの設定
    global-ignores = *.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.log .*.html .*.htm .project .includepath

    「.*.html」と「.*.htm」はAptanaの生成するファイル、
    「.project」と「.includepath」はEclipseの設定ファイル。
[auto-props]セクション
様々な属性(プロパティ)を設定するセクション
  1. キーワード置換用の設定値(svn:keywords)
    コミット、インポート時に、時間やファイル名、リビジョンなどの動的な情報についてを、指定のキーワードと置換してくれるようになります。
    *.cgi = svn:keywords=Id Date Author Rev URL
    *.pm = svn:keywords=Id Date Author Rev URL
    *.html = svn:keywords=Id Date Author Rev URL
    *.htm = svn:keywords=Id Date Author Rev URL
    *.txt = svn:keywords=Id Date Author Rev URL
    *.js = svn:keywords=Id Date Author Rev URL
    *.css = svn:keywords=Id Date Author Rev URL
    *.sql = svn:keywords=Id Date Author Rev URL

    該当のファイルに対してどのキーワードを置換するか設定する。
    Date Author Rev URL*.sql = svn:keywords=Id Date Author Rev URL
    だと、「$Id$」、「$Date$」、「$Author$」、「$Rev」、「$URL$」の5つのキーワードを
    該当する値へ置換してくれる。
    PerlのPMファイルだとこんな風に使ってます。

    package Logger;
    =head1 NAME Logger
       $Id$
    =head1 SYNOPSIS
       For test use module.
    =head1 DESCRIPTION
    Release Date : $Date$
    Revision : $Revision$
    Author : $Author$
     Description :
    =cut
    が一番最初にインポートしたときに↓のように展開され、今後、コミットする度に新しく置換キーワードが展開されるようになる。
    package Logger;
    =head1 NAME Logger
       $Id: Logger.pm 16 2007-03-12 01:59:39Z myways $
    =head1 SYNOPSIS
       For test use module.
    =head1 DESCRIPTION
    Release Date : $Date: 2007-03-12 10:59:39 +0900 (月, 12 3 2007) $
    Revision : $Revision: 16 $
    Author : $Author: myways $
     Description :
    =cut
    もし、HTMLなら開発中はファイルの末尾にでも、コメントアウトして、
    $Id$
    とか入れておけばOK。

  2. MIMEタイプの設定(svn:mime-type)
    Subversionで見るMIMEタイプの設定
    非テキスト系のMIMEタイプを設定しておくとバイナリファイルとして扱われるようになる。
    さくらのsvn+sshでは関係ないけど、ブラウザ上からリポジトリにアクセスする場合にも
    ここで設定した値からファイルを開くアプリ等を決定する。
    *.png = svn:mime-type=image/png
    *.jpg = svn:mime-type=image/jpeg
    *.xls = svn:mime-type=application/vnd.ms-excel
    *.xlsx = svn:mime-type=application/vnd.ms-excel
    *.ppt = svn:mime-type=application/vnd.ms-powerpoint
    *.pptx = svn:mime-type=application/vnd.ms-powerpoint
    *.zip = svn:mime-type=application/zip
    *.mp3 = svn:mime-type=audio/mpeg
    このような感じで設定。
  3. EOF、改行の設定(svn:eol-style)
    コミット後にEOF、改行の扱いが重要になる場合に設定が必要。
    複数のOSによって開発を行う場合、改行コード(EOLマーカ)の扱いが異なるために、
    そこの修正などによって、差分が発生してしまい面倒なことになってしまうことがあります。
    そこで、さくらのサーバにSSHでログインしていじってインポート、コミットするファイルについて
    設定を行います。

    *.sh = svn:eol-style=native;svn:executable

このような感じで設定すれば、クライアント側の設定がすべて完了。

2007年3月21日水曜日

即席リリーススクリプトを作成した

そろそろ、上げれるものが出来てきたので、リリーススクリプトが必要になってきた。
Subversionを使用しているのに、毎回チェックアウトorエクスポートしてFTP経由でサーバーに上げるのもナンセンスなので、サーバー上で動くリリーススクリプトを作成した。

とりあえず思いついた実装内容は、

  1. Subversionリポジトリから、指定のバージョンやタグのApacheのルート部分からごっそりExportする。
  2. CGIのパスを「c:/perl/bin/perl」から、「/usr/local/bin/perl」に書き換える
  3. MySQLの設定をローカルの物から、サーバー用に置き換える。
  4. 指定したディレクトリ(Apacheが外部に公開しているディレクトリ=/home/myways/www配下)へExportしたディレクトリを置き換えるor更新されている部分だけを上書きする。
複数あるローカルの環境はWindowsなので、2番は便利になる。
3番目も、ローカルの設定は同じなので便利になる。
サーバー上でSubversionからExportするには、

/home/myways/local/bin

にパスを通して、(.bashrcで通してある)

svn export --force file:///home/myways/var/svn/myway/trunk/htroot /home/myways/work/rel/

のコマンドで、
/home/myways/var/svn/myway/trunk/htrootから/home/myways/work/rel/へエクスポートが出来る。
シェルスクリプトを作成して、引数でSubversionのディレクトリと、Export先のディレクトリを設定できるようにする。
このコマンドを、

svn export --force /home/myways/var/svn/myway/$1 $2

とすれば、
第1引数で、Subversion上のディレクトリ、第2引数でExport先のディレクトリを指定できる。
Exportしたディレクトリ、ファイルに対して、
CGIのパスと、MySQLの設定を書き換え、置き換えするスクリプトを書くのですが、
シェルスクリプトで書くよりPerlで書いた方が楽だったので、Perlで該当の処理を記述。

長くなるので、コードは割愛して、
内容は、$1と$2を引数で与えて、$1から$2へディレクトリを作成しつつ、コピーをして、
ファイルの場合コピーをする際に、拡張子を見て、「.cgi」なら、
正規表現を使って、Perlのパスを書き換える。
MySQLの設定が記述されたファイルなら、これもまた書き換えるといった内容。
コマンドはこんな感じで実行。
/usr/local/bin/perl release.cgi $3 $2 >> release.log

出来上がったシェルスクリプトは、

#!/bin/sh

LOGFILE=release.log
SVNDIR=$1
EXPORTDIR=$2
TARGETDIR=$3

rm -r $EXPORTDIR
mkdir $EXPORTDIR
svn export --force file:///home/myways/var/svn/myway/$SVNDIR
$EXPORTDIR > $LOGFILE
if [$4 = "clean"]; then rm -r $TARGETDIR fi
perl
release.cgi $TARGETDIR $EXPORTDIR >> $LOGFILE
すべて絶対パスで記述。
第1引数 Subversion上のExportするディレクトリ
第2引数 ExportするWorkディレクトリ
第3引数 Exportしたファイルを配置するディレクトリ
第4引数 cleanなら第3引数のディレクトリを一回削除してから、コピーする
即席なのでこんなもんかな・・・
ログファイルのローテイトと、ディレクトリの確認ぐらいはすればよかったかな。

これを「.bashc」に使いそうなバージョンをaliasで登録しておけばOK。
alias mwyrel="/home/myways/work/rel/release.sh trunk/htroot
/home/myways/work/rel/svn /home/myways/www"

とかしようかなw
パターンが増えてきたらrelease用にsourceするファイルを作成する。

最後にサーバ上のシェルスクリプトのパーミッションの変更を忘れずにする。
chmod 700 /home/myways/work/rel/release.sh
chmod 700 /home/myways/work/rel/release.cgi

これで、FTPは用なしです。

2007年3月20日火曜日

Apacheのファイルインデックスを表示されないようにする(.htaccess)

さくらのApacheの仕様では、
インデックスのファイル(index.html等)がなかった場合、
ディレクトリのインデックス一覧が表示されちゃいます。
また、.htaccessにてOptionsの指定を行うこともできません。
.htaccessにてOptionsを指定した場合、Apacheがエラーをはきます。

さくらのFaqにて
◎ ひみつのフォルダにあるファイルの一覧を見られないようにしたい
より、
DirectoryIndex index.html /errmsg.html
でディレクトリのインデックスにエラー用HTMLを追加する。
とありますが、一個一個HTML作るのもな・・・

さくらの言われたとおりにファイルを作るのも・・・と思たんですが、
文言考えるのも面倒だし、他のいい案が思いうかばなかった。
しょうがないので、インデックスのファイルがないディレクトリはApache経由のアクセスは
全拒否ってことで、↓の記述を追加した。

deny from all

IP選択で拒否でも、なんでもよかったのですが・・・
一応、これで見られることはなくなった。
よく考えるとApache経由で見られてこまるようなファイルを、
Apache経由でアクセスできるディレクトリに置く方がおかしいので、
さくらのFaqのような対応が一番いいのかな。

もう少し対応を考えよう。

2007年3月16日金曜日

ログインシェルをbashに変える

ググれば、即やり方が出てくるのだけども、とりあえず。

ログインシェルがchshなので、
使いなれたbashをログインシェルに変更する。

ログインしたら、
$ chsh -s /usr/local/bin/bash $USER
を入力して、パスワードを聞かれたらログインパスワードを入力して完了。
これで、ログインシェルがbashに!

.bashrcを読み込ませる為には、
.profileに.bashrcをsourceする文を追加すればOK!
.profileに↓の記述を追加する。
source $HOME/.bashrc

chshでログインしても、bashって4文字を打つの横着して作業を行っている内に、
反射でタブを押して「チッ」ってなったりするw
簡単な作業だけど、bash使う人には重要な作業。
とりあえず、.bashrcには
export $HOME/local/bin
だけ追加しといた。

2007年3月13日火曜日

文字コードと改行コードの扱い

さくらインターネットで借りた共有サーバーのOSはFreeBSDです。

OSがUnix系ということで、注意しなくちゃいけない点がモリモリとあります。
その中のひとつに文字コードの問題があります。

いつもソースを書くときは、
HTMLもPerlもJSも、文字コードを「UTF-8」にして書いています。
端的な表現になっちゃうけど、どこに持っていってもソースコード自体の文字コードは意識しなくてすみます。
(ブラウザについてはよくわからないですが、新しめのPerlとかは内部的にUTF-8使ってるらしいです。)
コンテンツは作成物の文字コードは「UTF-8」に統一します!
エディタでもなんかしらのIDEでも、文字コードの設定で設定できるはずです。
やったことないけど、Shift-JISとかでPerlのソースコード書いて、
UNIXのApacheでCGIとして動かすと動かないのかな?

改行コードについては、サーバー上で動かすものについては、
Unixの改行コード(LF)にする。
さっき、サーバーの動作確認のPerlのCGIをWindows上で簡単に書いて、FTPであげて
ブラウザアクセスしたら動かなくてはまった。
さくらインターネットのApacheのエラーログの場所がわからくて、
手探り状態で、これに気付くまで、30分ぐらい右往左往。
よくよく考えたら、改行コードがCR+LFだった。
これも、エディタやらIDEの設定で出来るはず。

結論としては、
文字コード「UTF-8」と改行コード「LF」で作成する。

ちなみにEclipseでは、
プロジェクト単位の設定か全体の設定のどちらを選んで文字コードと改行コードの設定が出来る。
My設定は、全体で、文字コードを「UTF-8」に、
プロジェクトによってはWindows上で動かしたりすることもあるので、
改行コードはプロジェクト単位で設定している。

設定方法
1.全体編 Eclipseのコンテナの設定を変更する。
Workspace内の全プロジェクトのエンコードが変更されます。
日本語化されてるEclipse3.2だと、「ウィンドウ」>「設定」>「一般」>「ワークスペース」の「テキスト・ファイル・エンコード」を「UTF-8」に変更すればエンコードを変えれます。
改行コードは隣の「新規テキスト・ファイルの行区切り文字」から、設定できる。
「Windows」を選ぶと「CR+LF」、「UNIX」を選ぶと「LF」になります。

2.プロジェクト単位編 プロジェクト単位で指定する。
これはプロジェクト単位でエンコードを指定されます。
プロジェクト・ビューの最上層のプロジェクト名で右クリック。
「情報」の項目でエンコードを指定できます。
設定については1.と同じです。

2007年3月7日水曜日

TortoiseSVNの簡単な使い方

TortoiseSVNの簡単な使い方。
エクスプローラーベースで操作が出来るので、楽チンです。
設定については、Subversion クライアントの設定(TortoiseSVN)

簡単な用語として、
リポジトリとは:

リポジトリは情報をファイルシステムツリー —一般的なファイルとディレクトリの階層構造—の形で格納します(引用元
チェックアウトとは:

リポジトリーに登録されたファイルをダウンロードしてくること
コミットとは:


作業結果をリポジトリに登録すること

今回、使う用語はこんぐらい。詳しくはSubversion によるバージョン管理を参照のこと。

まず、Subversionのリポジトリーからファイルをチェックアウトしてくる、 フォルダを決める。
例えば、「D:\tmp」とする。
そのフォルダで右クリックすると、

↑のように、「SVNチェックアウト」とういう項目がある。
「SVNチェックアウト」を選択すると、↓のウィンドウが出てきて、
どこのURLから、どこのフォルダにチェックアウトするのか選択させられる。



今回は、正しくURLを入力して「OK」を押すと、リポジトリーからダウンロードが始まる。
ダウンロードが完了すると、↓のような感じになる。


フォルダとか、ファイルのアイコンについている、緑のチェックマークは、
このフォルダ、ファイルはリポジトリーの最新バージョンを同じですよ。ってこと。
(チェックアウトしてきたばっかなので最新バージョンと同じ状態)
例えば、ファイルをいじったりすると、↓のように、赤のびっくりマークがつきます。


赤のびっくりマークのファイルは、リポジトリの状態から変更されているってことなので、
この変更したファイルを、リポジトリーに登録します。これをコミットといいいます。
コミットすれば、他の人がリポジトリから最新版を取得した際に、変更したファイルを取得できます。
(Subversionはフォルダをコミットするが出来ます。)
該当のファイルを右クリックすると、↓のTortoiseSVN関連のメニューはこんな感じになります。



「SVNコミット」を選択すると、コミット刷るための↓のウィンドウが開きます。
メッセージを入力して、下の変更されたファイルの中から、コミットするファイルにチェックを入れて、
OKを押せば、コミットが実行されます。
(コミット時のメッセージは必ず入力しましょう。後で、バージョンを追う事になった時に、あるとないでは違います。)



コミット処理が終了すると↓のウィンドウが開き処理の結果や現在のバージョンを表示してくれます。



コミットが完了すると、また、↓の画面のように、緑のチェック印が付いたアイコンに戻ります。

このような感じで、変更→コミット→変更を繰り返して、
適時、リポジトリと同期化をかけていけばOKです。

リポジトリから他の人が変更したファイルの最新バージョンを取得したい場合には、
該当のフォルダやファイルで右クリックして、「SVN更新」を選択すればOKです。

注)
コミットするときの指標は、CaseByCaseで違うと思いますが、
動かないものや、作りかけで他に影響を与えるものはコミットしてはいけません。
リリースするときもリポジトリからチェックアウトするなり、エクスポートするなりして、リリースすることを考えるとリポジトリにあるソースやファイルで、作成しているものが動作する状況に保全していくことが好ましいです。

2007年3月6日火曜日

Subversion クライアントの設定(svn+sshでSubclipse)

EclipseプラグインのSubclipseでsvn+sshでリポジトリにアクセスする設定。
このサイトを参考 にさせて頂きました。

  1. えせSEの1日1Hack : EclipseでsubversionにSSHアクセス
  2. 公開鍵暗号を利用した認証 (PuTTY)
PuTTYを使って、鍵認証でアクセスできるようにする。
PuTTY Download Pageから、下記の2つのファイルを準備する。
(Subversion クライアントの設定(TortoiseSVN) で鍵は作ってる前提で話を進めます。
作ってない場合は、もう一個、puttygen.exeっていうのを落としてきて、秘密鍵と公開鍵を作成する)
  1. plink.exe
  2. pageant.exe
最初に、pageant.exeに秘密鍵のフルパスを与えて起動する。
たぶん、一番早いのは、参考にもあるように、ショートカットの作成。
右クリックでショートカットを作成して、プロパティからリンク先の所に、秘密鍵のフルパスを加える。
"D:\Program Files\putty\pageant.exe" "秘密鍵のパス"
こんな感じで起動させると、タスクバーに常駐します。
タスクバーのアイコンをダブルクリックすると、
登録されている鍵の一覧が見えるので、登録されているか確認できます。

次にWindowsの環境変数に、
「SVN_SSH」という、変数を登録します。
(WinXPなら環境変数は、「マイコンピューター」を右クリック、「詳細設定」のタブから設定できる。)
環境変数「SVN_SSH」の値は、上記でダウンロードしてきた、
plink.exeのパスを設定する。
変数名 SVN_SSH
変数値 D:/Program Files/putty/plink.exe

こんな感じ。
システム環境変数でも、今ログインしているユーザー環境変数でも、用途に合わせて設定する。
次は、Subclipse
Subclipseのインストール方法(Eclipseは3.2で、LanguagePack適用済み前提)
更新サイトを使ってインストールする。
  1. Eclipseを起動する。
  2. 「ヘルプ」>「ソフトウェア更新」>「検索およびインストール」を選択
  3. 新しく開いたウィンドウで「新規リモート・サイト」を選択
  4. 名前は適当に「Subclipse1.2」とでもする
  5. URLは「http://subclipse.tigris.org/update_1.2.x」を入力する。
  6. 仕様許諾の確認など、指示に従ってインストールを行う。
これで、再起動後、Subclipseのインストールは完了。
インストール後、メニューの「ウィンドウ」>「パースペクティブを開く」に
「SVNリポジトリー・エクスプローラー」が追加されているので、
「SVNリポジトリー・エクスプローラー」パースペクティブを開く。

「SVNリポジトリ」のウィンドウで右クリックし、
「新規」>「リポジトリー・ロケーション」を選択する。
URLを聞かれるので、
svn+ssh://ユーザー名@ホスト名/リポジトリの絶対パス
例)svn+ssh://myways@myways.sakura.ne.jp/home/myways/var/svn/myway

を入力する。
これで、ツリーを展開して閲覧することが出来たらすべて完了!
Subclipseだけじゃなくて、Subversiveでも同じ手順で出来た。
Subversive
更新サイトURL:http://www.polarion.org/projects/subversive/download/1.1/update-site/

ツリーを展開していく度に、pageantのコンソールが開くのがうっとおしい。
けど、そこは我慢しよう。
追記:
PuTTY β 0.58 ごった煮版に含まれる、plinkw.exeを使うことで、
コンソールが毎回開かなくなる。感謝。
これで、格段便利&ストレスを感じなくなった。

2007年3月5日月曜日

Apacheのルート配下のディレクトリ構成

外に見える、Apacheのルート配下のディレクトリ構成のローカルルール。
http://myways.sakura.ne.jp/以下で見えるディレクトリのこと。

ファイル名ルール
  1. htmlファイルの拡張子はhtmlで。
  2. 命名規則は、体は名を表すで、わかり易く。
  3. 英語は正しく使う。スペルミスとか後でわかると恥ずかしいし。(ローマ字はヘボン式)
  4. index.xxxにリンクを張るときは、ディレクトリを指定する。
    例1) http://myways.sakura.ne.jp/index.html ではなくて http://myways.sakura.ne.jp/
    例2) http://myways.sakura.ne.jp/index.cgi?q=myway  
      ではなくて http://myways.sakura.ne.jp/?q=myway
    理由は、拡張子とか中身を替えた時の対応がし易い為、inex.cgiをindex.phpに変えたときに変更が少なくてすむ
  5. 理由がない場合は、相対パスで指定する。CSSは絶対パスでもOK。
ディレクトリ構造
index.html
/js
 Javascript置き場

/css
 CSS置き場

/images
 画像ファイル置き場

/コンテンツのディレクトリ
 必要ならば、各コンテンツディレクトリにも、jsやcssとかimagesのディレクトリを掘るのもOK。
 管理が煩雑になるから、出来るだけ作らない。

Subversion クライアントの設定(TortoiseSVN)

Subversionをインストールして、リポジトリも作成したので、
クライアントをインストールする。

参考
  1. さくらインターネットにTracを構築する - WeekbuildのHack倉庫
  2. Subversion/TortoiseSVNのインストール - ピノキヲ IT Wiki
  3. さくらインターネットでSubversion (SaikyoLine.jp)
↑ のサイトを参考にさせて頂いて、インストールします。
  1. http://tortoisesvn.net/downloadsからパッケージ版のダウンロード。
    Subversion/TortoiseSVNのインストール - ピノキヲ IT Wikiを参考にすれば、問題なくインストールできるはず。
  2. sshを使って繋ぐために、鍵を生成する。
    PuTTYのputtygenを使用して、鍵を生成してSSHでつなげるようにします。
    puttygen.exeはPuTTY Download Pageからダウンロードしてください。
    さくらインターネットにTracを構築する - WeekbuildのHack倉庫より引用

    puttygen.exeを起動して、Generateボタンを押してください(空白エリアの中でマウスを動かせと表示されます。グリグリ動かしましょう)。
    表示されるテキストエリア(Puglib key for pasting into OpenSSH authorized_keys
    file)の中身をコピーし、メモ帳でテキストファイルに保存してください。
    そのファイルをauthorized_keysというファイル名(拡張子な
    し)に変更してください。
    そのままSave private
    keyボタンを押して秘密鍵を適当なフォルダに適当な名前で保存してください(私は忘れないようにToritoiseSVNのインストールフォルダ/binにおきました)。
    authorized_keysをFTPで$HOME/.ssh/に置いてください。
    さくらインターネットにTelnetで接続して、パーミッションを変更してください。
    あと、.cshrcを書き換えて$HOME/local/binにPATHを通しておくことも忘れずに(2.(1)で既にやってあれば大丈夫)。
    cd
    chmod 700 .ssh
    cd .ssh
    chmod 600 authorized_keys
  3. ToritoiseSVNを設定(SSH編)
    これもさくらインターネットにTracを構築する - WeekbuildのHack倉庫を参考に。

    エクスプローラで適当なフォルダを選び右クリック→ToriseSVN→setting(設定))
    画面左のツリーからNetwork(またはネットワーク)を選び、SSHクライアント欄にTortoiseSVNのインストールディレクトリ\binにあるTortoisePlink.exeのフルパスを指定してください。引数は
    「-l アカウント名」と「-i 4.(2).5で作成した秘密鍵のパス」を指定してください。
    例:秘密鍵id_rsa.ppkをTortoisePlink.exeと同じフォルダに置いた場合。XXXはさくらインターネットのユーザID
    "C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l XXX -i "C:\Program
    Files\TortoiseSVN\bin\id_rsa.ppk"
    これで、SSH関係の設定は完了。
  4. ToritoiseSVNを設定(キーワード置換編)
    非常にないと困る機能、キーワード置換の設定を、クライアントで行う。
    ファイル内の$Id$キーワードや$Date$キーワードを展開する為に、
    C:\Documents and Settings\xxx\Application Data\Subversion\config
    を編集する。(Windowsのユーザーのホームディレクトリ配下のApplication Data\Subversion\config)
    enable-auto-props = yes
    のコメントをはずすのと、
    [auto-props]の下に、キーワード置換するファイルの設定を拡張子単位で行う。
    バイナリファイルをキーワード置換したら大変なことになっちゃう気がするし。(未確認)

    [auto-props]
    *.cgi = svn:keywords=Id Date Author Rev URL
    *.pm = svn:keywords=Id Date Author Rev URL
    *.pl = svn:keywords=Id Date Author Rev URL
    *.hmtl = svn:keywords=Id Date Author Rev URL
    *.htm = svn:keywords=Id Date Author Rev URL
    *.txt = svn:keywords=Id Date Author Rev URL
    *.js = svn:keywords=Id Date Author Rev URL
    *.css = svn:keywords=Id Date Author Rev URL
    *.sql = svn:keywords=Id Date Author Rev URL
    これで、↑の各々のファイルのインポートの際に、「$Id$」と「$Date$」と「$Author$」と「$Rev$」と「$URL$」キーワード置換が有効になる。
  5. 繋ぐでみる
    エクスプローラーを開き、適当な場所で右クリックして、「TortoiseSVN」→「Repo-Browser」を選択。
    URLを聞かれるので、入力する。
    svn+ssh://myways.sakura.ne.jp/home/myways/var/svn/myway
    これでつながるはずです。
    なんか、英語で色々聞かれるけど、OKを押す!(キャッシュらしい)
    ツリーを展開できたら、万事OK。

Subversionのリポジトリを作成する

Subversionのインストールが終了したので、リポジトリを作成する。

$ cd
$ mkdir var
$ cd var
$ mkdir svn
$ svnadmin create --fs-type fsfs
/home/myways/var/svn/myway


これでリポジトリmywayの作成が完了


$ ls -la /home/myways/var/svn/myway


で、結果が


-rw-r--r-- 1 myways users 229 Mar 5 14:25
README.txt
drwxr-xr-x 2 myways users 512 Mar 5 14:25
conf
drwxr-xr-x 2 myways users 512 Mar 5 14:25 dav
drwxr-sr-x 5 myways users 512 Mar 5 14:25 db
-r--r--r-- 1 myways users 2 Mar 5 14:25
format
drwxr-xr-x 2 myways users 512 Mar 5 14:25
hooks
drwxr-xr-x 2 myways users 512 Mar 5 14:25
locks

ができてれば作成完了。
まず、trunkとbranchesとtagsのディレクトリをインポートして、作成しておく。

$ mkdir $HOME/tmp
$ cd $HOME/tmp
$ mkdir mywaysvn
$ cd mywaysvn
$ mkdir trunk branches tags
$ cd ..
$ svn import mywaysvn file:///$HOME/var/svn/myway -m "First"
$ rm -r mywaysvn


これで、リポジトリの作成は完了。
次はクライアントの設定で、Subversionを確認する。

Subversion1.4.3をさくらにいれる

悩んだ末、調べてみたら、ソースコードから入れなきゃいけないらしい。

まず、Subversionのインストールを流し読み。
SaikyoLine.jpを参考に、
とりあえず、1.4.3を入れよう。
ソースコードのある場所




$ mkdir -p $HOME/local/src
$ cd $HOME/local/src
$ wget http://subversion.tigris.org/downloads/subversion-1.4.3.tar.bz2
$ tar jxf subversion-1.4.3.tar.bz2
$ cd subversion-1.4.3
$ ./configure --prefix=$HOME/local

とりあえず、バージョンを変えてまんまやってみる。
さっそく、こけた。




configure: error: no suitable apr found

APRがないらしい。
もう一回ググってみる。

http://nyarla.net/blog/subversion1 で見つけた。
一緒にTracも入れてみたいと思いついたので、その為の設定も一緒にやってみた。
SWIGをインストールして、APRをインストールしきゃいけないらしい。
SWIGはここ、APRはここにある。

SWIGのインストールを参考にSWIGのインストール




$ cd $HOME/local/srcwget http://jaist.dl.sourceforge.net/sourceforge/swig/swig-1.3.31.tar.gz
$ tar zxvf swig-1.3.31.tar.gz
$ cd ./swig-1.3.31
$ ./configure --prefix=$HOME/local --with-python=/usr/local/bin/python
$ make
$ make install


無事、インストール完了。
次はAPR1.2.8のインストールをした。



$ cd $HOME/local/src
$ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-1.2.8.tar.gz
$ tar zxvf apr-1.2.8.tar.gz
$ cd ./apr-1.2.8
$ ./configure --prefix=$HOME/local --disable-static
$ make
$ make install


APRも無事完了。
次はAPR-Utilも入れなきゃいけないのかな?
とりあえず、入れておく。



$ cd $HOME/local/src
$ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-1.2.8.tar.gz
$ tar zxvf apr-util-1.2.8.tar.gz
$ cd ./apr-util-1.2.8
$ ./configure --prefix=$HOME/local --with-apr=$HOME/local
--with-expat=/usr/local --with-iconv=/usr/local --disable-static
$ make
$ make install


APR-Utilも無事、完了。
再度、Subversionのインストールを試みる。


$ cd $HOME/local/src/subversion-1.4.3$ ./configure --prefix=$HOME/local
--with-neon=$HOME/local --without-berkeley-db --enable-swig-bindings=perl
--with-swig=$HOME/local/bin/swig --with-apr=$HOME/local/bin/apr-1-config
--with-apr-util=$HOME/local/bin/apu-1-config --disable-static
$ make
$ make install


で無事インストール完了。
だと思う。
まだ、いじってないので、よくわからんけどw

2007年3月4日日曜日

Bloggerのテンプレートをいじった

テンプレートを少しいじった。
デザインはまだ、放置だけど、とりあえず何個か追加した。

  1. FeedburnerのFeedを作成
    http://feeds.feedburner.jp/Devlog が作成したFeed。
    隙を見て、Feedburnerの設定もいじる
  2. TagCloudsをくっつけた。
    これは、柔軟材さんに掲載されてたのを使用させてもらった。
  3. HeartRails Glanceを導入
    リンク先をちら見できるさWebサービス
    だいぶ、便利だと思うんだよね
  4. GoogleAnalyticsでトレースできるように、コードを貼り付けた。

いずれ、デザインをいじる

さくらを借りた

さっき、さくらインターネット、スタンダードプランを借りた。
クレジット払いで契約したので、すぐメールが来て使えるようになってる。

さっそく、HTMLとCSSとJSを作って配置した。
http://myways.sakura.ne.jp/

設定やらなんやら、やることが山済み。
とりあえず、サーバ関係の片付けることの備忘録。
  1. ドメインをとる。
  2. Apacheの設定
    WEBDAVとかどうしよっかな。
  3. MySQLの設定
    まず、いろいろ確認をする
  4. MySQLのDB作成
  5. DB設計
  6. Subversionのインストール
  7. Subversionの設定
  8. なんかディレクトリとか決め事を決める

なんか、Apacheのバージョンを勘違いしてた。
1.3系がインストールされた。まあ、いっか。自分でインストールしてもいいし。

2007年3月3日土曜日

before it start

とりあえず作成に入る前に、事前準備をする。
Windowsで開発する為に、設定やインストールする環境。

-1.心の準備をする。
1.ドメインをとる。

2.レンタルサーバー借りる
 さくらインターネット
 さくらインターネットのスタンダードプラン

3.必要な開発環境
  1. Apache2.0.x
    サーバーの仕様上、Windowsのバイナリの2.0系を落として、インストール。
    設定はまた後日。
  2. Perl5.8.x
    tivePerlの5.8.x系をインストール。
    インストール先フォルダは、「C:/Perl」にする。
    開発環境テスト用CGI中のPerlのパスが「C:/Perl/Bin/perl」の為。
    別にCygwinのPerlでもOKだけど・・。Cygwinはまた別の機会に。
4.インストールしとくとうれしい物
  1. MySQL
    詳細はそのうち。
  2. PHP
    これも、Windows版のバイナリをDLしてインストール。
    インストール先フォルダは、Perlと同じ理由で「C:/php」にする。
    Apache用の設定も一緒にインストールする。
    インストールの参考 2php.net
    詳細は次回以降。  
  3. Subversionのクライアント
    TortoiseSVN インストールの参考
    EclipseのSuberversionクライアント Subclipse 参考
  4. Microsoft Virtual PC  2004 か 2007
    IEを複数つかったり、Linux環境の構築
    WindowsXP上でWindows2000とか、Vista上でXPを使える。ライセンスさえあれば・・
  5. ブラウザ
    IE7とIE6(VirtualPCを使うと楽) Opera Firefox などなど
  6. HTML、Javascript、CSS等の統合開発環境
    Dreamweverでも、なんでもOK.
    俺は、Eclipse + Aptana + AmaterasHTML Editor + Subclipes + E.P.I.C
  7. Microsoft Office
    OpenOfficeOrgでもOKだけど、MS Office 2003を標準とする。
  8. FTPクライアント
    別になんでもOK。コマンドラインでもOK。