自宅サーバーとしてウェブサーバーを構築してPerlはActivePerl。
通常プロバイダ・レンタルサーバーなどでcgiを設置する場合の
パーミッション変更はFTPソフトを使って変更しますが、
ローカルから外部に公開する場合のCGIのパーミッションの変更は
どうやってやるのでしょうか?どうかご教授ください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。

ふたたび

この辺の設定は、wwwサーバのソフトにより変わります。

共有と言う意味で言えば、
フォルダを右クリックして、「共有」
◎このフォルダを共有する
[アクセス許可]
 Everyone
があると思います。このままでは、誰であれアクセスできる状態です。
・[追加]を押したときに、WWW-USERなどに設定するソフトもあったりします。
・wwwソフトの設定で、アクセスするフォルダを制限させる場合もあります。

BlackJumboDog を使用した事が無いので、これ以上は、なんとも・・・。
なんとも、不甲斐無い回答ですが・・・
でわでわ
    • good
    • 0
この回答へのお礼

どうもありがとうございました。がんばって勉強します。

お礼日時:2001/08/24 16:14

こんにちは。



ActivePerl なんで、Windows系ですか?

フォルダを共有したときの権限に準じます。
ただし、Windows9X系 だと、読取、書込(フルコントロール)はありますが、”実行”という項目が無いので読み/書きのみ気にしてください。
windows系は、読めれば、実行できるはずです。

UNIXでしたら、
ローカルのファイルに chmod コマンドで設定してください。

でわでわ

この回答への補足

はじめまして、Haizyさま sightさま

こちらの環境を書くのを忘れていました。スイマセン
OS   Windows2000
WWW  BlackJumboDog
CGI ActivePerl

です。

なにぶん初心なもので、分かりやすく教えていただけると幸いです。
質問する側から勝手なことばかり言いますが、よろしくお願いします。

補足日時:2001/08/23 13:30
    • good
    • 0

ファイルにパーミッションを与えているのは、ファイルを管理しているOSです。


(FTPソフトを使ってパーミッションを変更するというのは、サーバのUNIX系のOSにshellコマンドを送ってファイルにパーミッションを設定しています)
なので、OSがわからないとなんとも・・・。

UNIX系のOSならばchmodコマンドで。
Microsoftのサーバ系OSならばファイルのプロパティとかでできるんじゃないですかね?あまりNT系のファイル権限は知らないのですが・・・。
Windows9x系のOSにはそもそもパーミッションの概念がないような・・・。

この回答への補足

はじめまして、Haizyさま sightさま

こちらの環境を書くのを忘れていました。スイマセン
OS   Windows2000
WWW  BlackJumboDog
CGI ActivePerl

です。

なにぶん初心なもので、分かりやすく教えていただけると幸いです。
質問する側から勝手なことばかり言いますが、よろしくお願いします。

補足日時:2001/08/23 13:32
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCGIファイルのパーミッションの変更方法

CGIファイルのパーミッションの変更をしようとすると「アクセス権を変更する機能がサポートされていません」という表示が出てしまいます。どうすれば変更できるでしょうか?

もしプロバイダを変更するしか方法が無いのならばどこのプロバイダがおすすめか教えてくださると幸いです。(現在ASAHIネットです)

作成ソフトはGoLive6.0で転送はビルダーに付属していた転送機能を利用しています。

Aベストアンサー

https://asahi-net.jp/service/hp/
Asahiネットではプロバイダ側で用意されたCGIしか使えません

いっその事 プロバイダとは別にレンタルサーバーを借りたらどうでしょ?
http://www.sakura.ne.jp/rs/02.shtml
初年度:年間\2500 次年度より\1500/年

Qレンタルサーバーlolipop cgiのパーミッションについて

lolipopというレンタルサーバーを使っているのですが、パーミッションの設定が、cgiの取説と違っていて分かりません、、。

取説のパーミッションだとエラーが起きます。

ちなみに、lolipopが推奨するパーミッションは
HTML・画像ファイル 604 (rw----r--)
CGIの実行ファイル 700 (rwx------)
CGIのデータファイル 600 (rw-------)
.htaccessファイル 604 (rw----r--)
ディレクトリ 705 (rwx---r-x)
なのですが、

.pl などのファイルは何なのか
さっぱりです。

私は、http://happy.honesto.net/cgi/ のサイトの
FormMailerDX を作りたいのですが、
パーミッションの設定が分かりません。
お分かりになる方 教えてください。

FormMailerDXの取説は以下の通りです。
/fmdx/(755)
|
+--form.cgi(755)実行ファイル
|
+--sample.htm(644)フォームHTML
|
+--template.txt(666)メールテンプレートファイル
|
+--template2.txt(666)確認画面テンプレートファイル
|
+--jcode.pl(644)日本語コード変換ライブラリ
|
+--mimew.pl(644)MIMEエンコードライブラリ
|
+--/tsv/(777)TSVファイル作成ディレクトリ(空のディレクトリ)
|
+--/tmp/(777)添付ファイル一時保存ディレクトリ(空のディレクトリ)

よろしくお願いします。

lolipopというレンタルサーバーを使っているのですが、パーミッションの設定が、cgiの取説と違っていて分かりません、、。

取説のパーミッションだとエラーが起きます。

ちなみに、lolipopが推奨するパーミッションは
HTML・画像ファイル 604 (rw----r--)
CGIの実行ファイル 700 (rwx------)
CGIのデータファイル 600 (rw-------)
.htaccessファイル 604 (rw----r--)
ディレクトリ 705 (rwx---r-x)
なのですが、

.pl などのファイルは何なのか
さっぱりです。

私は、http://happy.honesto...続きを読む

Aベストアンサー

lolipopサーバーを2年近く使っている者です。
755→705
644→604
666→606
777→707
のように、すれば大丈夫です。
cgiの説明のままでも動いてしまいますけど。
真ん中を0にすることにより、不正アクセスによってのログファイルを覗かれたり…ということがなくなるようなことが書いてあったと思います。

QCGI/Perlという本はありますがCGI/PHPという本はないのはなぜですか?

アマゾンで調べると表題でCGI/Perlという本はありますがCGI/PHPという本はないのはなぜですか?

Aベストアンサー

なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。

動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)

CGIの動作
 ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}+プログラム:処理結果 -[CGI]-> Webサーバー -[INTERNET]->ブラウザ

PHPの動作
 ブラウザ-[INTERNET]->Webサーバー:PHP:処理結果 -[INTERNET]->ブラウザ

PHPを単体で処理できるようにインストール設定すればPHPをCGIとして利用することも可能です。当然、利用範囲がCGIの域を出なくなり、PHPとしてのメリットがなくなってしまいます。
そのような非効率的な運用利用をする方はほとんどいないので書籍にしても需要が無いと思います(何らかの事情で必要な方なら、WebサーバとCGIがしっかり理解できていれば簡単に実現できるかと思います)。

ちなみに、代表的なWebサーバApacheは外部組み込み機能を使ってPerlを「PHPの動作」と同じ動きをさせることができます。
そちらは「CGI」の範疇ではなく「Webサーバー構築」の分野ですのでそういった書籍を参考にしてください。

なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。

動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)

CGIの動作
 ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}...続きを読む

QCGIから別サーバーのCGIの呼び出し

以下の二つのサーバーでCGIを動作させようと考えています。

 サーバーA:ユーザーからアクセスできる。
 サーバーB:サーバーAからアクセスでき、ユーザーからはアクセスできない。

この環境で

(1)サーバーAでリクエストを受け、簡単な処理をする。
(2)サーバーA上のCGIからサーバーB上のCGIを呼び出す。
(3)サーバーB上で処理(etc. メールの送信)を行い、処理結果をサーバーAのCGIに返す。
(4)サーバーA上で簡単な処理を行い、結果をユーザーに表示する

というような処理を考えています。
perlでは、このような処理を実装することは可能でしょうか?

サーバーAからサーバーBにあるスクリプトファイルを読み込んで、サーバーAで実行するということはできそうなのですが、サーバーB上のCGIはサーバーBで実行するというようなことができるのかがわかりません。

初心者的な質問で申し訳ありませんが、よろしくお願いします。

Aベストアンサー

 無理やり実装することは可能ですけど、面倒ですよ?
 自分でソケットを開いてHTTPで通信するんです。

QPerlのCGIでフォームのテキスト配列をPerlで取得するには?

フォームで通常は同じ名前のデータを取得することは無いのですが
表計算のように同じ名前の場合、データの取り出し方がわかりません。
以下、通常の1件の場合のソースです。


#!/usr/bin/perl

$| = 1;

use strict;
our %in;

use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);
require 'jcode.pl';
require 'cgi-lib.pl';
#

#-----分岐-----

&ReadParse;

# 配列でない場合
my $namae = $in{'namae'}
print "$namaeで名前が1件表示される";
# これをフォームで namaeが配列になった場合、
#<input type="text" name ="namae">
#<input type="text" name ="namae">
#<input type="text" name ="namae">
# のような場合、3件取得する場合

exit;

__END__

フォームで通常は同じ名前のデータを取得することは無いのですが
表計算のように同じ名前の場合、データの取り出し方がわかりません。
以下、通常の1件の場合のソースです。


#!/usr/bin/perl

$| = 1;

use strict;
our %in;

use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);
require 'jcode.pl';
require 'cgi-lib.pl';
#

#-----分岐-----

&ReadParse;

# 配列でない場合
my $namae = $in{'namae'}
print "$namaeで名前が1件表示される";
# これをフォームで namaeが...続きを読む

Aベストアンサー

パラメータのデコード処理で使用するモジュールによって、やり方は変わってきますが、cgi-lib.pl と CGI.pm の場合は下記のようになります。

cgi-lib.pl :
 対象のパラメータが収納された変数を \0 を区切り文字として分割する。

CGI.pm :
 リストコンテキストで値を受け取る。


例) cgi-lib.plを使う場合 ----------------------------
require "cgi-lib.pl";

&ReadParth; # デコード処理
@hoge = split(/\0/, $in{hoge}); # \0 で分割
------------------------------------------------

例) CGI.pmを使う場合 --------------------------------
use CGI;

$query = new CGI; # 新しいCGIオブジェクトの作成
@hoge = $query->param('hoge'); # パラメータhogeの内容の受け取り
------------------------------------------------

参考URL:http://www.futomi.com/lecture/form/cgilib.html#3.2,http://member.nifty.ne.jp/hippo2000/perltips/Cgi.htm#FETCHING_THE_VAL

パラメータのデコード処理で使用するモジュールによって、やり方は変わってきますが、cgi-lib.pl と CGI.pm の場合は下記のようになります。

cgi-lib.pl :
 対象のパラメータが収納された変数を \0 を区切り文字として分割する。

CGI.pm :
 リストコンテキストで値を受け取る。


例) cgi-lib.plを使う場合 ----------------------------
require "cgi-lib.pl";

&ReadParth; # デコード処理
@hoge = split(/\0/, $in{hoge}); # \0 で分割
---------------------------------------...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報