- 基礎知識 -
はじめに
必須項目
転送設定
- 変 数 -
スカラー変数
配列説明
ハッシュ説明
- 関 数 -
関数説明
- 演算子 -
演算子
- 構 文 -
構文説明
条件構文
ループ構文
- 正規表現 -
正規表現
マッチング
置換演算子
- サブルーチン -
サブルーチン
- 環境変数 -
環境変数
転送設定
サーバーとは
ホームページを置く場所
の事をいいます。簡単に言うとサーバーもパソコンです。見た目・構造も何らパソコンと変わりません。皆さんのパソコンと違うところは、いろいろな人が出入りするという事と、標準でPerlが動く事が主に上げられます。(他にたくさんの機能がありますが、サーバー上でPerlプログラムを動作させるには必要のない知識なので説明はしません)
さて、サーバーのOS(Linux/WinNT・2000など)ではPerlを標準で動かすことができます。動かすには作成したプログラムの先頭に「これはPerlで書かれているよ!」とサーバーに伝えなければなりません。教え方はプログラムの先頭に
#!usr/local/bin/perl
(Perlパスといいます)というものを記述します。
これは「useフォルダ内のlocalフォルダ内のbinフォルダ内のPerlソフト起動すれ!」という命令です。これでサーバーのPerlソフトを呼び出しています。このソフトの力を借りなければ、Perlプログラムをサーバー上で動作させることは出来ません。サーバーによりこちらのパスは違うので、管理者に問い合わせるかプロバイダのホームページで確認して下さい。
転送モードの設定をご理解ください
拡張子
転送形式
html/cgi/plファイル
Asciiモード
gif/ファイル
バイナリモード
それでは作成したプログラムをサーバーへ送ったと仮定します。送るにはFTPソフト(無料で配布されているものもあります)を利用します。FTPソフトに関しては、検索エンジンでキーワード(FTPソフト)で検索して下さい。たくさん出てくると思うので、そちらで詳細を閲覧して下さい。主なFTPソフトは〜「FFFTP」「Root-ftp」などがあります。
しかし、Perlパスを記述しても、送ったままではPerlは動作しません。もう一つ必要な作業があります。それはパーミッション(許可という意味)の設定です。パーミッションとは、プログラムの動作を制御する設定です。この設定をしなければ、せっかくのログ(データ)が第三者に書き換えられたり、プログラムを盗まれてしまいます。とても大切なことなので若干深く説明します。
上記は、IBMから発売されているHPビルダー付属のFTPソフト(パーミッション設定画面)です。こちらを見て判るように、「読み」「書き」「実行」の三種類の設定項目があります。
読み・書き・実行の意味
R:読込み可能
ファイルを見せる事が出来るかどうか。
W:書込み可能
ファイルを書き換えることが出来るかどうか。
X:実行可能
ファイルを実行できるかどうか。
本人・グループ・他人の意味
本人
ファイルを作った本人
グループ
ファイルを作った人が属するグループ
他人
そのほかの人たち
※これは1台のパソコンを共同で使用しているときに役立ちます。(一人一台では無意味ですが・・・)
Windowsには、パーミッションの設定はありませんが、1つのファイルをたくさんの人が使う状況は身近に存在します。それはたくさんの人が見にくるインターネットのホームページです。プロバイダのサーバー利用者であれば
「グループ」と「他人」は同じである
と覚えてください。よって「本人」か「グループ・他人」の二択となります。全てにおいて重要なのが「書込み」です。これを注意しないと大変なことになります。通常グループ・他人に「書込み」を許可してはなりません。しかし、Perlソフトに対しては別です。
第三者からの書き換え・盗みを防止するには、これ等をきちんと覚えなくてはなりません。
こちらはHTMLでよく使われる設定です。
本人は書き換えも出来ますが、その他(インターネット上のクライアント)は見るだけです。実行が選択されていないのは、HTMLは表示のみの形式なので、動作に関する設定は一切必要としません。(余分な部分は出来るだけ設定しないのがコツです)
こちらはCGIでよく使われる設定です。
本人は全てが選択されていますが、その他(インターネット上のクライアント)は書き換えが出来ないようになっています。当たり前のことですが、これ(書込み)を選択してしまうと、プログラムを書き換えられてしまいます。書込み設定は、アクセスカウンタ・掲示板などの投稿を保存するファイルに対して(例外あり)行ってください。
こちらはログファイルでよく使われる設定です。
全て同じ設定です。CGIがログファイルのデータを読み書き(動作)するので、ログファイル自身は動作(実行)を必要としません。
[an error occurred while processing this directive]