以下のメッセージが出力されHelix Coreサーバが起動しなくなりました。
SSL証明書はどのように更新すれば良いでしょうか?
Perforce server error: |
以下の手順でSSL証明書を更新できます。
・"p4dctl"コマンドを使用してHelix Coreサーバを起動している場合、手順1から作業してください。 ・"p4d"コマンドからHelix Coreサーバを起動している場合、手順1の"P4SSLDIR"の値をサーバ管理者に確認し、手順2から作業を進めてください。 |
1."P4SSLDIR"の確認
以下のディレクトリに配置されている"master.conf"から"P4ROOT"と"P4SSLDIR"を確認します。
/etc/perforce/p4dctl.conf.d |
Environment |
※"P4SSLDIR"が絶対パスで指定されていない場合、"P4ROOT"からの相対パスになります。
上記例の場合、"P4SSLDIR"は"/ssl_test/root/ssl"となります。
2.既存証明書の退避
"/ssl_test/root/ssl"に配置されている[ certificate.txt ]と[ privatekey.txt ]を任意のディレクトリへ退避します。
ここでは、"/tmp"へ移動した例を紹介します。
$ mv /ssl_test/root/ssl/certificate.txt /tmp |
3.環境変数"P4SSLDIR"の指定
OSの"perforce"ユーザにスイッチし、"export"コマンドから"P4SSLDIR"を指定します。
$ su - perforce |
4.証明書の更新
"perforce"ユーザのまま、以下のコマンドを実行し、証明書を更新します。
$ p4d -r /ssl_test/root -Gc |
5.証明書確認
"P4SSLDIR"配下に証明書が作成されたことを確認します。
$ ls -l /ssl_test/root/ssl/certificate.txt |
-rw-------. 1 perforce perforce 1172 4月 16 20:53 /ssl_test/root/ssl/certificate.txt |
6.P4Dサーバの起動
証明書が作成されたことを確認した後、"p4dctl"コマンドからHelix Coreサーバを起動します。
7.フィンガープリントの更新 ※クライアントとして操作します。
サーバ側の証明書が更新されたため、フィンガープリントの更新が必要です。
・P4Vからアクセスする場合
接続時に以下のダイアログが表示されます。
"このフィンガープリントを信用する"にチェックを入れ、[ 接続 ]をクリックします。
・コマンドラインの場合
"p4 trust"コマンドを実行します。
以下はサーバマシン上での更新例です。
$ p4 -Ztag -p ssl:1666 trust ******* WARNING P4PORT IDENTIFICATION HAS CHANGED! ******* |
$ p4 -p ssl:1666 trust -f ******* WARNING P4PORT IDENTIFICATION HAS CHANGED! ******* |
”p4 -Ztag info”コマンドから証明書の日付が更新されていることを確認します。
$ p4 -Ztag -p ssl:1666 info ... |