日足チャート始めました

セミFIREしたいSIer勤め30代SE。お得情報、技術、ゲームアニメ関連情報などを発信。

Trac Lightningを新サーバに移行した際の手順(SVN履歴も残したいし、インストール先フォルダも変更したい)

SVN機能利用のためTrac Lightningを導入していましたが、インストール先のサーバリプレイスのため新サーバへデータ移行が必要となりました。その際の手順を書き残しておきます。

 

既に各種サイト様で紹介されている情報もあるのですが、バージョン違いなのかファイルパスが違ったり、エラーが発生してハマるポイントがあったので整理したいと思います。

移行の話以前に、そもそもどうやってTrac Lightningを導入するのかもわからない状態だったので、ソフトウェアの導入から記載しています(同じように移行作業で困っている人の役に立ちますように)。

 

この記事の前提

  • 新・旧サーバで使うTrac Lightningのバージョン:共に3.1.3
    ※バージョンが変わる場合ファイルパスや設定ファイルの中身が異なる可能性があるので、バージョンをそろえた方が良いと思います(未検証ですが)。
  • インストール先のフォルダは、新旧環境で変更する。
    ※もともとDドライブにインストールしていたのですが、新サーバではAzure利用となりました。Azureの多くのサーバでは、Dドライブは一時領域となるため永続して利用したいファイルを格納できません。このため、インストール先ドライブをCドライブに変更しました。

    例)
    移行元サーバのインストールフォルダ:D:¥TracLight¥
    移行先サーバのインストールフォルダ:C:¥TracLight¥

  • 過去にコミットしたSVNの履歴も移行する。

移行手順

  1. 新サーバにTracLightningをインストール
    TracLightningのインストールexeを起動。基本的にデフォルトのままで良いです。2点だけ補足を。
    1. インストール先は任意のフォルダを指定する

    2. Apacheの設定を上書きする」は、チェックオンのまま

  2. windowsサービスの登録
    Trac Lightningが用意しているインストーラで、サービスを登録します。
    C:¥ProgramData¥Microsoft¥Windows¥Start Menu¥Program¥Trac に、ショートカット「サービスのインストール」があります。これを右クリック > 管理者として実行 から起動してください。
    Windowsバージョンなどの環境によっては、Start Menuまでのパスが異なるかもしれません。

    正常終了すると、Windowsのサービスとして「Trac Lightning」が登録されます。

  3. 移行元から移行先に、以下ファイルをコピー
    TracLightningのインストールフォルダ¥svn
    TracLightningのインストールフォルダ¥trac
    TracLightningのインストールフォルダ¥svnauthz
    TracLightningのインストールフォルダ¥trac.htdigest

  4. 移行先の以下の設定ファイルに移行元のパスが設定されているので、移行先パスに置き換え
    C:¥TracLight¥projects¥trac¥xxx(移行するプロジェクトの名前)¥conf¥trac.ini

    修正内容:移行元のパスが設定されているので、移行先パスに書き換え
     ①file = 移行元のパス
     ②repository_dir = 移行元のパス

  5. 移行先の以下の設定ファイルに移行元のパスが設定されているので、移行先パスに置き換え
    C:¥TracLight¥CollabNetSVN¥httpd¥conf¥httpd.conf

  6. SVNとリポジトリの同期を行う。
    コマンドプロンプトを「管理者で実行」で起動し、以下のコマンドを入力
    cd C:\TracLight
    trac-admin C:\TracLight\projects\trac\xxx(移行先プロジェクト名) repository resync "(default)"

  7. 移行先の以下batファイルに移行元のパスが設定されているので、移行先パスに置き換え   

    C:\TracLight\projects\svn\xxx(移行先プロジェクト) \hooks\post-commit.bat

以上です。

 

トラブルシューティング

移行作業中は、以下の問題が発生しました。

  • Trac Lightning構築後、ブラウザで「localhost」に接続すると管理コンソールに接続ができる。
    移行先のプロジェクトの管理画面の上部に「警告:リポジトリ"(default)"との同期ができません(D/TracLight/projectsvn/xxx(移行元プロジェクト)はSubVersionリポジトリではないみたいです。)。詳細はTracのログを参照してください。」とのエラーメッセージが表示される
    →移行先のSubVersionフォルダを認識できていませんでした。手順6の同期を行うと解消しました。

 

  • 移行完了後、SVNを利用してコミットした際に「post-commit hook failed(exit code 1) with output: 指定されたパスが見つかりません。」とのエラーが表示される(コミット自体はできている)
    →手順7を実施して解消しました。SVNコミット後に何らかの処理をしたいときにpost-commitとして処理を指定して追加できるのですが、そのbat内のパスが通っていないため上手く動作していないためエラーとなります。

 

【関連記事】

WSがIPv4アドレス有料化!IPv4アドレスを解除して課金を回避する方法を確認してみた【Amazon workspace

 

【注目記事】