作業場にバージョン管理ツールを導入した。いうWindowsアプリを組み合わせて使う。サーバのファイル構成をミラーリングのようなことをしつつローカル環境内で作業できるので、作業PCのHDDが逝っても、サーバが生きてればデータの復旧が出来るし、その逆もまたしかりで、もの凄く安心。今回、この設定でいくつか躓いたので、今後また同じような状況に直面したときのためにメモをとっておく。■参考サイトhttp://fedorasrv.com/subversion.shtml・httpd.confapacheの動作を制御する設定ファイル。IP単位でのアクセス制御とか、個別ユーザのディレクトリ(http://domain/~userName)ではなく、ドメインへの直接のアクセスをした場合に表示されるページの置き場だとか、色々設定できる。その辺の説明を読みながらいじれば何の問題もない・subversion.conf(鬼門)ApacheにおけるSubversionの動作を決める設定ファイルSubversionをapache経由で動かす場合、apache側がSubversionを認識できていなくてはいけない。指定ディレクトリへのアクセスがあった場合、apacheを使ってデータの出し入れを行うように設定する。/repos>SVNParentPathを使う場合、後ろから2番目のディレクトリに相当するフォルダ名を指定。SVNPathを使う場合はちょっと不明。(たぶん、上記と同じ考え方で良い)Locationの後に書かれたディレクトリは、実際にこのリポジトリにアクセスする際に使われる文字列で、実体を持っていなくても構わない。/var/www/svnSVNParentPathは、プロジェクトをまとめているフォルダの指定SVNPathは、各プロジェクトを羅列していく場合に使う。だいたい、面倒なので、SVNParentPAthを使うのがよさそう。内部ネットワークアドレスを指定(範囲指定)Orderは、大ざっぱな許可条件と拒否条件の評価順。deny,allowであれば、先に拒否する条件を評価し、あとからピンポイントで許可設定を行う。allow,denyであれば、先に許可する条件を評価し、あとからピンポイントで拒否設定を行う。上の例の場合は、先にまず、すべてを拒否した後でローカル内のアクセスを全許可している。各項目の頭文字は、大文字でも小文字でも良いようだ。valid-user</LimitExcept>SSLRequireSSLは、アクセスをSSL接続専用にする。Basicは、ベーシック認証と呼ばれる認証によってリポジトリへのアクセスを行う宣言(古典的なWEB認証と同じ)AuthNameは、認証ウインドウに表示するメッセージっぽい。アクセス用パスワードファイルのパスを記入。Requireは、どのユーザーのパスワードを有効化し、認証を通すか設定する。以下のコマンドで生成できる。つけた場合は以下のように指定し、パスワードの入力も同時に行える。通常のWEB認証の物とは別に作成しても良く、リポジトリ単位で個別に生成するようなことも可能っぽい。新しく作成するリポジトリ格納ディレクトリは、apache経由でアクセスする場合、オーナーとグループをapacheにしておく必要がある。使い、SELinux向けの設定を行う必要がある。(SELinuxについては詳しく知らない)・ssl.confその辺の説明を読みながらやれば問題はない。設定は、しっかり全部の問いに答えた方が止さそう。今回一番詰まったのはSubversionの(1)。非常に単純だけど、わかりにくかった。deniedと表示されるから、SELinuxやhttpd.confあたりに問題があると思い込み、酷く無駄な時間を過ごしてしまった。これで、バージョン管理システムが導入できたので、明日はどのようにリポジトリを構成するかしっかり考えよう。