さて、自作のCGIスクリプトであれ、他者が開発したCGIスクリプトであれ、設置に先立って幾つか準備をする必要があります。
多くのスクリプトは原則的にEUC日本語コードで書かれています。これはEUC日本語コードが一番都合がいいからです。
EUC日本語コードで書かれている場合、ウィンドウズやマッキントッシュではEUC日本語コードが取扱えるテキストエディタを用意しないといけません(ウィンドウズ添付のメモ帳ではダメ)。
ユニックス(リナックスを含む)では特に問題はありません。
まず、Perlのパスを通さなければなりません。これはPerlの処理系が設置されているディレクトリを指定するもので、この手続きをしないで設置したり、誤った手続きをして設置すると、当該CGIの実行時にPerlの処理系が見つからずにエラーとなってしまいます。
Perlで書かれたCGIスクリプトの第一行目には、
#!/usr/local/bin/perlなどと書かれている筈です。これがPerlのパスを指定するものです。
これをサーヴァの仕様に従って修正します。
多くは「#!/usr/local/bin/perl」とか「#!/usr/bin/perl」などを指定されておりますが、サーヴァに依って異なるのできちんと確めておきましょう。
修正にあたって注意しなければならないことがあります。
他者が開発したCGIスクリプトなら、必要なファイルやディレクトリは大抵揃えられている筈ですが、ユーザ毎に異なるデータファイルなど、自分で用意しなければならないものもあるかも知れません。
また、CGIはサーヴァの仕様に依り、設置できるディレクトリが指定されている場合があります。多くの場合任意のディレクトリ内に設置できますが、一部で「cgi-bin」という名前の付いたディレクトリに設置しないと動かないサーヴァもありますし、逆に「cgi-bin」以外の名前のディレクトリに設置しないと動かないものもあります。
CGIの設置できるディレクトリ名が指定されている場合、指定の名前のディレクトリ内であればその中のサブディレクトリ内に設置しても構いません(サブディレクトリ名は指定のものでなくても構いません)。
また、実行可能なCGIに対して、大抵拡張子も指定されていますので、万一CGIスクリプトの拡張子がサーヴァが指定しているものと異なっていたら変更しなければなりません。
サーヴァへの設置は通常のHTML文書同様、FTPソフトで行えます。
但し、注意しなければならないこととして、転送モードがあります。
また、文字コードの問題もあります。
多くの場合、EUC日本語コードで転送する必要がありますが、シフトJISコードで書かれたスクリプトの場合はシフトJISコードで転送しなければなりません。