1. サイトの管理とは
1.1 サイトの管理について
Subversionは主にソフトウェア開発で使われていますが、その能力はこれで終わるものではありません。
日々の追加や変更、さらにその履歴や削除した変更を復活したいといったことがあるプロジェクトすべてで使うことができます。
ここでは日々の変更が多い、Webサイトの管理にSubversionを使う方法を説明します。
なお、Windows上でのSubversionの使い方はWindows Evo / subversion hacksを参考にしてください。
1.2 どのようにサイトを管理するか
Subversionではファイルを更新するごとにリビジョン番号がつきます。この番号はリポジトリ全体につくため、Webサイトでどのように変更したかの履歴を管理するには少し不都合です。
ここではWebサイト管理用にリポジトリを作成し、複数リポジトリでリビジョン管理する方法を使います。
また、Subversionではプロパティを設定することで変更履歴のリビジョン番号、変更日時をファイルに反映できます。
この機能を使用して、最終更新日時をWebサイトに表示する方法も説明します。
2. サイトを管理する
2.1 どのようにサイトを管理するのか
Subversionではリポジトリごとにリビジョン番号を管理しています。ここではWebサイト単独でリビジョン管理をするためリポジトリを作り直し、Webサイトを登録・管理しています。
次の手順で、Webサイトを管理します。
- Webサイト管理用にリポジトリを作り直す
- リポジトリにWebサイトを登録する
- Webサイトにリビジョン管理番号をつける
2.2 リポジトリを作り直す
Subversionのインストールで作成したリポジトリですと、/var/svn/下のディレクトリにリポジトリを作成できません。
そのため、/var/svn/下の各ファイルを削除し、/var/svn/下に複数のリポジトリを作成して管理します。Webサイト管理用には/var/svn/aglを使用します。
次の手順で、Webサイト管理用リポジトリを作成します。
- suでSubversion管理ユーザー
svn になります。
[atsushifx@agartha atsushifx]$ su svn
パスワード(P):******
bash-2.05b$
- /var/svnに移動し、すべてのファイルを削除します。
bash-2.05b$ cd /var/svn/
bash-2.05b$ rm -fr *
bash-2.05b$
- /var/svn/aglにリポジトリを作成します。
bash-2.05b$ svnadmin create /var/svn/agl
bash-2.05b$
- リポジトリの設定を書き換え、Subversionサーバとしてアクセスできるようにします。
- /var/svn/agl/conf/
-
8:[general]
9:realm = atsushifx's Repository
10:anon-access = read
11:auth-access = write
12:password-db = /var/svn/svnusers
- /var/svn/svnusers
-
1:[users]
2:atsushifx = hogehoge
以上で、リポジトリの作成は終了です。
2.3 リポジトリにWebサイトを登録する
次の手順で、Webサイトをリポジトリに登録します。
- コマンドプロンプトを起動します。
- ローカルのWebサイトディレクトリに移動し、Webサイトを登録します。
C:\Documents and Settings\古川敦史.YS> d:
D:\> cd web\agl
D:\web\agl> svn import svn://atsushifx@agartha/agl -m "Initial Web"
認証領域: <svn://agartha:3690> atsushifx's Repository
'古川敦史' のパスワード:
認証領域: <svn://agartha:3690> atsushifx's Repository
ユーザ名: atsushifx
'atsushifx' のパスワード: *******
.
.
追加しています (バイナリ) jissen\freelance\soft\images\moneymap-04.jpg
追加しています (バイナリ) jissen\freelance\soft\images\moneymap-05.jpg
追加しています (バイナリ) jissen\freelance\soft\images\moneymap-06.jpg
追加しています (バイナリ) jissen\freelance\soft\images\moneymap-07.jpg
追加しています (バイナリ) jissen\freelance\soft\images\moneymap-08.jpg
追加しています (バイナリ) jissen\freelance\soft\images\moneymap-09.jpg
追加しています (バイナリ) jissen\freelance\soft\images\moneymap2-10.jp
追加しています (バイナリ) jissen\freelance\soft\images\moneymap2-01.jp
.
.
追加しています about.html
リビジョン 1 をコミットしました。
D:\web\agl>
以上で、Webサイトの登録は終了です。
2.4 登録したWebサイト情報を取り出す
Subversionでは、登録した情報を編集するには一度チェックアウト(checkout)をする必要があります。
次の手順で、Webサイトを取得します。
- 一時ディレクトリに移動します。
D:\web\agl> z:
Z:\>
- Webサイトをチェックアウトします。
Z:\> svn co svn://atsushifx@agartha/agl agl
.
.
A agl\profile\lq.html
A agl\profile\ability_files
A agl\profile\ability_files\humor-g.gif
A agl\profile\ability_files\ability.css
A agl\profile\ability_files\humor.gif
A agl\profile\クリエイティブ診断結果.htm
A agl\profile\type
A agl\profile\type\space.gif
.
.
Z:\>
以上で、Webサイト情報のチェックアウトは終了です。
2.5 プロパティを設定する
現状のままではhtmlファイルにリビジョンなどの更新履歴がつきません。そこで、プロパティを設定してこれらのファイルに更新履歴を付くようにします。
次の手順で、Webサイト情報にプロパティを設定します。
- svn propset コマンドでhtmlファイル,phpファイルで更新履歴を設定するようにプロパティを設定します。
Z:\agl> svn propset svn:keywords "Id Date Revisoin" *.htm* *.php*
属性 'svn:keywords' を 'about.html' にセットしました
属性 'svn:keywords' を 'contact.html' にセットしました
属性 'svn:keywords' を 'index.html' にセットしました
z:\agl>
- 同様にしてサブディレクトリのすべてのファイルに属性を設定します。
- svn commitとして設定したプロパティをリポジトリに設定します。
D:\web\agl> svn commit -m "プロパティ設定"
.
.
リビジョン 2 をコミットしました。
以上で、プロパティの設定は終了です。
2.6 リビジョン番号をWebサイトに設定する
プロパティを設定したので、Webサイトファイルをupdateしてリビジョン番号を反映させます。
次の手順で、リビジョン番号を設定します。
- updateコマンドを発行し、リビジョン番号つきのファイルに書き換えます。
D:\web\agl> svn update
リビジョン 3 です。
D:\web\agl>
以上でリビジョン番号の設定は終了です。
なお、ファイル内ではリビジョン番号は以下のようになります。
- /agl/index.html
-
<p>
$Revision: 67 $<br />
$Date: 2007-05-10 20:55:14 +0900 (木, 10 5月 2007) $<br />
</p>
|