![]() |
テクニカルノート035 |

複数のPERFORCEサービスをWindows環境にインストールする

概要

この記事では、Windows管理者がWindowsサービスとして構成された追加のPERFORCEサーバを同じシステム上にインストールする方法について説明します。 このノートでは、Windows32ビット版およびWindows64ビット版の両方を含む、Windows NT 4.0、Windows2000、Windows XP、およびWindows 2003を対象としています。 またこの記事では、PERFORCEプロキシまたはPERFORCE FTPプラグインをWindowsサービスとして構成する方法についても記述します。



先に進む前に、テクニカルノート NOTE036 を読んでおいてください。 そこではWindowsにおけるPERFORCE環境変数の優先順位について記述しています。 またテクニカルノート NOTE036 には、Windows 64ビットOSでのレジストリリフレクションの問題についても記述されています。

詳細


第2のPERFORCE Windows サービスの作成例:

追加のPERFORCEサーバのサービスを設定する基本手順:

- 追加のPERFORCEサーバ用に新しいサーバ・ルート・ディレクトリを作成します。
- サーバ実行可能モジュールをサーバ・ルート・ディレクトリにコピーします。
- 複製のライセンス・ファイルを新しいサーバ・ルート・ディレクトリにインストールします。
- 新しいPERFORCEサーバのWindowsサービスを作成します。
- 環境変数を設定します。
- PERFORCEサーバをWindowsサービスとして起動します。

最初のPERFORCE Windowsサービスについては、Windows用PERFORCEインストーラを使用してインストールすることをお勧めします。 インストーラによって、この最初のサービスには"Perforce"という名前が付けられます。 "Perforce"というサービスはインストーラによって管理されるものであり、手動で変更すべきではありません。 また、インストーラではPERFORCEサーバの実行可能モジュールであるp4d.exe、およびその他のコンポーネントがPERFORCEサーバ・ルート・ディレクトリに配置されます。 これらのコンポーネントを使用して、第2のPERFORCEサービスをインストールします。

また、svcinstというPERFORCEサービスのインストール・アプリケーションも必要になります。 このアプリケーションは、既存のPERFORCEサーバ・ルート・ディレクトリにあります。 これはsvcinst.exeおよびsvcinst.dllの2つのファイルから構成されています。

この例では、既存のサーバ・ルート・ディレクトリを"c:\perforce"、サービス名を"Perforce"とします。 また、第2のPERFORCEサービスのサーバ・ルートの位置を"c:\p4root2"とし、サービス名を"Perforce2"とします。

この手順で使用するp4d.exe実行可能モジュールは、リリース99.1/10994またはそれ以降である必要があります。

新しいサービス用にP4ROOTディレクトリを作成します。
mkdir c: \p4root2コマンド・プロンプトでcopyコマンドを使用して、サーバ実行可能モジュール(サーバ名p4d.exeおよびサービス名p4s.exe)を新しいサーバ・ルート・ディレクトリにコピーします。 これら2つのファイルはファイル名だけが異なる同じものです。 サービス・ファイル名の最初の3文字"p4s"は、アプリケーションがWindowsサービス・モードで動作するように指示します。 次に、複製のサーバ・ライセンスを新しいサーバ・ルート・ディレクトリにインストールします。 便宜上、サービス・インストーラのsvcinst.exeおよびsvcinst.dllを、新しいサーバ・ルート・ディレクトリにコピーします。
copy c:\perforce\p4d.exe c:\p4root2 copy c:\perforce\p4d.exe c:\p4root2\p4s.exe copy c:\perforce\license c:\p4root2\license copy c:\perforce\svcinst.exe c:\p4root2\svcinst.exe copy c:\perforce\svcinst.dll c:\p4root2\svcinst.dllサービス・インストーラを使用して、"Perforce2"サービスを作成します。 "Perforce2"サービスを作成する前に、後述の「特別な考慮事項」を参照してください。 新しいサーバ・ルート・ディレクトリにディレクトリを移動して、このコマンドを実行します。
svcinst create -n Perforce2 -e c:\p4root2\p4s.exe -a"Perforce2"サービス用にサービス・パラメータを設定します。 PERFORCE Windowsインストーラを実行したので、p4.exeアプリケーションは既に実行パス上にあるはずです。
p4 set -S Perforce2 P4ROOT=c:\p4root2 p4 set -S Perforce2 P4PORT=1667 p4 set -S Perforce2 P4LOG=log p4 set -S Perforce2 P4JOURNAL=journalこれらの設定をチェックするには、変数と値のペアを指定せずに p4 set を使用します。
p4 set -S Perforce2サービス・インストーラを使用して、"Perforce2"サービスを起動します。
svcinst start -n Perforce2PERFORCE Windowsサービスのための特別な考慮事項

PERFORCEサーバのルート・ディレクトリがネットワークマウントされたデバイス上にある場合、Windowsサービスは管理用ユーザ・アカウントを使用して作成しなければなりません。 それを行うには、svcinstアプリケーションに"-r"および"-u"のコマンドライン・オプションを使用します。 このような構成は、パフォーマンス低下の恐れがあるため推奨されないことに注意してください。 詳しくは、テクニカルノート NOTE023「Windows環境におけるサーバの問題点」を参照してください。

修正された"Perforce2"サービスの作成コマンドを以下に示します。
svcinst create -n Perforce2 -e c:\p4root2\p4s.exe -a -r -u UserName Passwordsvcinstコマンドの実行に問題がある場合、最初のオプションに"-d"を使用して、より詳細なデバッグ情報を表示します。

PERFORCEプロキシ・サービスの作成例

追加のPERFORCEプロキシ・サービスを設定する基本手順:

- PERFORCEプロキシ用に新しいプロキシ・キャッシュ・ディレクトリを作成します。
- プロキシ実行可能モジュールをプロキシ・キャッシュ・ディレクトリにインストールします。
- PERFORCEプロキシのWindowsサービスを作成します。
- プロキシ用の環境変数を設定します。
- PERFORCEプロキシのWindowsサービスを起動します。

同一マシン上にあるPERFORCEサーバに対してPERFORCEプロキシを実行しないことをお勧めします。 PERFORCE Windowsインストーラにおいても、この構成が回避されるように図られます。

プロキシのキャッシュ・ディレクトリを作成します。
mkdir c:\p4proxy最新のプロキシ実行可能モジュールを弊社のftpサイトからダウンロードし、プロキシ・キャッシュ・ディレクトリに配置します。 コマンド・プロンプトでcopyコマンドを使用して、p4p.exeファイルをコピーし、特別なWindowsサービス・ファイルのp4ps.exeを作成します。 最初の4文字"p4ps"は、アプリケーションがWindowsサービス・モードで動作するように指示します。
(ftp) c:\p4proxy\p4p.exe copy c:\p4proxy\p4p.exe c:\p4proxy\p4ps.exePERFORCEプロキシのWindowsサービスを作成します。 PERFORCE Windowsインストーラはプロキシのサービス名として"Perforce Proxy"を使用するため、この例でも同様にします。
svcinst create -n "Perforce Proxy" -e c:\p4proxy\p4ps.exe -aプロキシ・サービスの環境変数を設定します。 P4PORTの値は、PERFORCEプロキシへの接続に使用されるローカル・リスン・アドレスです。 P4TARGETの値はリモートPERFORCEサーバのアドレスです。 P4CACHEの値は、プロキシのキャッシュ用に作成したディレクトリで、実行可能モジュールを配置した場所です
p4 set -S "Perforce Proxy" P4PORT=1666 p4 set -S "Perforce Proxy" P4TARGET=perforce:1666 p4 set -S "Perforce Proxy" P4PCACHE=c:\p4proxy p4 set -S "Perforce Proxy" P4LOG=logこれらの設定をチェックするには、変数と値のペアを指定せずに "p4 set" を使用します。 これらの設定に関して詳しくは、PERFORCEシステム管理者ガイドの"PERFORCEプロキシ"の章を参照してください。
p4 set -S "Perforce Proxy"サービス・インストーラを使用して、"Perforce Proxy"サービスを起動します。
svcinst start -n "Perforce Proxy"PERFORCE FTPプラグイン・サービスの作成例
(ご注意:P4FTPは、日本版PERFORCEでは未サポートです。)

概要:

- PERFORCEクライアント・インストール・ディレクトリを新規作成するか、既存のディレクトリを使用します。
- PERFORCE FTP実行可能モジュールをクライアント・インストール・ディレクトリにインストールします。
- PERFORCE FTPプラグインのWindowsサービスを作成します。
- PERFORCE FTP環境変数を設定します。
- PERFORCE FTPプラグインのWindowsサービスを起動します。

先に進める前に、PERFORCE FTPプラグインで使用したい特別なモードがあるかを決定します。 これを決定するためにPerforce FTP Plug-in User's Guideを参照してください。 この例ではDreamweaverで使用するためにプラグインを構成します。

PERFORCEクライアント・ディレクトリを新規作成するか、既存のディレクトリを使用します。
mkdir c:\Perforce最新のPERFORCE FTPプラグイン実行可能モジュールを弊社のftpサイトからダウンロードし、クライアント・インストール・ディレクトリに配置します。 コマンド・プロンプトでcopyコマンドを使用して、p4ftpd.exeファイルをコピーし、特別なWindowsサービス・ファイルのp4ftps.exeを作成します。 最初の6文字"p4ftps"は、アプリケーションがWindowsサービス・モードで動作するように指示します。
(ftp) c:\Perforce\p4ftpd.exe copy c:\Perforce\p4ftpd.exe c:\Perforce\p4ftps.exePERFORCE FTPプラグインのWindowsサービスを作成します。 プラグインのWindowsサービス名として"Perforce FTP"を使用します。
svcinst create -n "Perforce FTP" -e c:\Perforce\p4ftps.exe -aFTPプラグイン・サービスの環境変数を設定します。 P4PORTの値は、リモートPERFORCEサーバのアドレスです。 P4FTPPORTの値は、PERFORCE FTPプラグインへの接続時にFTPアプリケーションが使用するポートです。 P4FTPOPTIONSの値は、FTPプラグインが動作するモードを決定します。 ここに示された設定は、Dream Weaverと互換性を持たせるためのものです。 次の2つの変数、P4FTPDEBUGおよびP4FTPLOGは、ログへの記録が必要な場合に構成されます。
p4 set -S "Perforce FTP" P4PORT=perforce:1666 p4 set -S "Perforce FTP" P4FTPPORT=21 p4 set -S "Perforce FTP" P4FTPOPTIONS=dwlocking,keepfiles,autosync,syncdelay=10 p4 set -S "Perforce FTP" P4FTPDEBUG=5 p4 set -S "Perforce FTP" P4FTPLOG=c:\Perforce\p4ftpd.logこれらの設定をチェックするには、変数と値のペアを指定せずに "p4 set" を使用します。 P4FTPの設定に関して詳しくは、Perforce FTP Plug-in User's Guideを参照してください。
p4 set -S "Perforce FTP"サービス・インストーラを使用して、"Perforce FTP"サービスを起動します。
svcinst start -n "Perforce FTP"PERFORCEサービス・インストーラを使用する際にその他のヘルプを見るには、svcinstに-hオプションを付けて実行します。
svcinst -hサポートが必要であるか、ご質問がある場合は perforce@toyo.co.jp に連絡してください。



複 数のサービスを設定することによって、さらに多くのユーザ・ライセンスを購入することなくPERFORCEユーザの数を増やそうとすると、 PERFORCE使用許諾契約の条項に違反することになります。

ここに記述した手順を使用するには、PERFORCE 99.1/10994 またはそれ以降のリリースをダウンロードしなければなりません。

実稼動サーバとは異なるポートを割り当てた複製のサーバ・ライセンスを取得するには、PERFORCEカスタマーサービスに連絡する必要があります。

![]() |