はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

このスレッドはクローズされています。記事の閲覧のみとなります。

 WebサーバのCGIとFTPサーバのアカウントとパスワード
日時: 2007/07/09 16:20
名前: milu

?不明点・障害内容:
?ログの有無   :
  (有:その内容):
?Distribution  :Fedora 7
      Version:
?Service Name  :httpd vsFTPd
      Version:
?ネットワーク構成:WindowsXP+Fedora7

いつもお世話になっております。
ここまで構築できたのは管理者様のおかげだと思っております。ありがとうございます。

今回は、CGIとFTPについてお聞きしたいことがあります。


webサーバの方は外部からのアクセスが可能となったところまできました。
また、CGIに関しては、webサーバの解説ページの「test.cgi」の動作が確認されました。
しかし、他のディレクトリに置いたCGIが動作しません。
フリーで配布されているカウンタですが、それを、/var/www/html/count/ のディレクトリに置いた場合ですが、
その場合は、.plが含まれておりましたので、下記のように書き加えました。


# vi /etc/httpd/conf/httpd.conf
AddHandler cgi-script .cgi .pl

それに加えて、パーミッションをファイルやフォルダに対して下記のようなコマンドで一つずつ変更していきました。
また、位置は下記のとおりです。
# which perl
/usr/local/bin/perl

基本的な設定は「Webサーバの構築(Apache) 」に従わさせていただいております。
使用したCGIは http://www.kent-web.com/count/dream.html になります。

パーミッションは、「chmod 701 /var/www/html/count/dream.cgi」等コマンドを使って下記のように変更しました。

dream.cgi(701) drmgr.cgi(701) index.dat(600) drinit.cgi(600) gifcat.pl(600) dataディレクトリ(700)です。

これ以外に何か不足していることはありませんでしょうか・・・


また、FTPの方では、vsFTPDを利用しておりますが、Tiny FTP Deamonのように、ユーザーID、パスワード を入力して認証する方法はどのようにすればできるのでしょうか。

■ コンテンツ関連情報

 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.1 )
日時: 2007/11/04 08:41
名前: milu

設定ファイルは下記のように今はなっております。

/etc/vsftpd/chroot_list



/etc/vsftpd/ftpusers/

# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody


/etc/vsftpd/user_list



# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

fedora


/etc/vsftpd/vsftdp_conf_migrate.sh

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
data_connection_timeout=60
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
ascii_upload_enable=YES
ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to test-server.com FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES
#
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES
#
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
# sockets, you must run two copies of vsftpd whith two configuration files.
# Make sure, that one of the listen options is commented !!
#listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
xferlog_std_format=NO
log_ftp_protocol=YES
use_localtime=YES
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50030
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.2 )
日時: 2007/07/09 16:11
名前: milu

私は

ログイン → user_list と比較m → userlist_denyの設定よりlist参照(許可or許否) → パスワードを尋ねる → ftpuser参照 →ログイン

と言う感じの流れだと思うのですが、そうした場合のパスワードの設定がどうすればいいのか、それに伴い他の設定をどうすればいいのか分かりません・・・
どうかご教授お願いいたします。
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.3 )
日時: 2007/07/09 16:37
名前: 管理者

> 基本的な設定は「Webサーバの構築(Apache) 」に従わさせていただいております。
> 使用したCGIは http://www.kent-web.com/count/dream.html になります。
>
> パーミッションは、dream.cgi(701) drmgr.cgi(701) index.dat(600) drinit.cgi(600) gifcat.pl(600) dataディレクトリ(700)です。
>
> これ以外に何か不足していることはありませんでしょうか・・・


kent-webさんの公開スクリプトは「Shift-JIS」コードで保存されています。
miluさんが自サーバを構築する際に参照していたサイトが当サイトである場合、システムコードは「eucJP」です。
ちなみに以下のコマンドを実行してみて下さい。

# locale
LANG=ja_JP.eucJP
LC_CTYPE="ja_JP.eucJP"
LC_NUMERIC="ja_JP.eucJP"
LC_TIME="ja_JP.eucJP"
LC_COLLATE="ja_JP.eucJP"
LC_MONETARY="ja_JP.eucJP"
LC_MESSAGES="ja_JP.eucJP"
LC_PAPER="ja_JP.eucJP"
LC_NAME="ja_JP.eucJP"
LC_ADDRESS="ja_JP.eucJP"
LC_TELEPHONE="ja_JP.eucJP"
LC_MEASUREMENT="ja_JP.eucJP"
LC_IDENTIFICATION="ja_JP.eucJP"
LC_ALL=

上記のように「ja_JP.eucJP」と出力されましたでしょうか?


この場合、スクリプトも同文字コードで保存しないと動作しない場合があります。
(「動作しない場合」と言うのは、そのスクリプト内にコメント等、2バイト文字(日本語)がある場合です。)

サーバアップロード前に『秀丸』等の高機能エディタで一度そのスクリプトを開き「名前をつけて保存」で「エンコードの種類」を「日本語(EUC)」で保存してください。

 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.4 )
日時: 2007/07/09 16:43
名前: 管理者

> また、FTPの方では、vsFTPDを利用しておりますが、Tiny FTP Deamonのように、ユーザーID、パスワード を入力して認証する方法はどのようにすればできるのでしょうか。

FTPクライアントのソフトウェアが何をお使いなのか分かりませんが、単に設定部分の「ユーザー名」「パスワード」を空白にしておけば宜しいのでは?
(的が全く外れていたら申し訳ありません・・・)
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.5 )
日時: 2007/07/09 17:23
名前: milu

> miluさんが自サーバを構築する際に参照していたサイトが当サイトである場合、システムコードは「eucJP」です。


最初にインストール後の設定 という項目を参考にさせて頂き、eucJPに致しました。
仮に、「Shift-JIS」コードにした場合、Windowsと同じように「Shift-JIS」として機能するということになるのでしょうか?





> FTPクライアントのソフトウェアが何をお使いなのか分かりませんが、単に設定部分の「ユーザー名」「パスワード」を空白にしておけば宜しいのでは?


言葉足らずで申し訳ございませんでした。
FTPクライアントは、主にFFFTPを使用していました。(セキュリティ面が不安だということは理解いたしましたが・・・)
私は以前、知人にスペースを貸していたのですが、その場合はやはり、ユーザー名とパスワードを利用したログイン方法を使用していました。

ユーザー名:user1
パスワード:example1

その場合は、ProFTPDの方なのでしょうか。
そういった用途ではどうしたらよいのでしょうか。。。
何度もすみません。よろしくお願い致します。
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.6 )
日時: 2007/07/09 17:48
名前: 管理者

> 最初にインストール後の設定 という項目を参考にさせて頂き、eucJPに致しました。
> 仮に、「Shift-JIS」コードにした場合、Windowsと同じように「Shift-JIS」として機能するということになるのでしょうか?


「Shift-JIS」として機能する訳ではありません。
apacheが要求されたスクリプトを読み込んだ時「Shift-JIS」で保存された全角文字混在の場合、文字コードが当然「EUC」と「Shift-JIS」では違う為、
内部でのコード解釈ができずにエラーとなってしまう様です。

> FTPクライアントは、主にFFFTPを使用していました。(セキュリティ面が不安だということは理解いたしましたが・・・)
> 私は以前、知人にスペースを貸していたのですが、その場合はやはり、ユーザー名とパスワードを利用したログイン方法を使用していました。
>
> ユーザー名:user1
> パスワード:example1
>
> その場合は、ProFTPDの方なのでしょうか。


どうも当方の理解力が悪くて申し訳ありません。
通常のログインアカウントとFTPログインのアカウント(パスワード)を別にしたいと言うことなのでしょうか?
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.7 )
日時: 2007/07/09 18:31
名前: milu

迅速な回答ありがとうございます。


# vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"

LANG="ja_JP.Shift-JIS"

上記のような変更を加えることは出来ないということですね・・。
ということは、逆にwindowsサーバでは「UTF-8」や「EUC」のスクリプトは変換させて使用するということと同じことなのでしょうか・・?
Unix系OSでは、「Shift-JIS」のスクリプトを利用する方法はないのでしょうか。変換はすぐ出来ると思いますので、やはり変換してやっていくのがベストだと思っておりますが。。やっとAddDefaultCharsetを変更した意味が理解できました…。



>通常のログインアカウントとFTPログインのアカウント(パスワード)を別にしたいと言うことなのでしょうか?


私の理解不足と言葉足らずな文章で困惑させてしまい申し訳ありませんでした。
通常のログインアカウントがピンとこなくて、確信はありませんが、よくレンタルサーバである下記のURLのようなものにしたいと思っている次第であります。
http://www.xreab.com/040ffftp/010.html
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.8 )
日時: 2007/07/09 18:58
名前: 管理者

> # vi /etc/sysconfig/i18n
> LANG="ja_JP.UTF-8"
> ↓
> LANG="ja_JP.Shift-JIS"
>
> 上記のような変更を加えることは出来ないということですね・・。


できないことはありませんよ。
企業(FedoraやCentOSは当然使用していないと思いますが・・)では、「Shift-JIS」が一般的な様ですし・・・

ちなみにRHEL系のディストリビューションで「Shift-JIS」の組み込み方法は以下にあります。

  参照:http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=968


> 通常のログインアカウントがピンとこなくて、確信はありませんが、よくレンタルサーバである下記のURLのようなものにしたいと思っている次第であります。

なるほど。ドメインのページに対してレンタルサーバの様な使い勝手のFTPログインにしたいと言うことですね。
(1サーバに対して複数ドメインを公開しマルチユーザ対応にしたいと言うことですよね?)
現在、もうひとつのサブさんのスレッド「ルートディレクトリについて(http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=1259)」と同じですね・・・
この様な使い方を当方は行ったことがありません(勉強不足・・)ので、申し訳ありませんが現段階では不明です。

 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.9 )
日時: 2007/07/10 19:46
名前: milu

>なるほど。ドメインのページに対してレンタルサーバの様な使い勝手のFTPログインにしたいと言うことですね。
>(1サーバに対して複数ドメインを公開しマルチユーザ対応にしたいと言うことですよね?)
>現在、もうひとつのサブさんのスレッド「ルートディレクトリについて(http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=1259)」と同じですね・・・



自分でも良く分かりませんが、ユーザーとグループの設定で、ユーザーアカウントとパスワードを生成し、それを利用する形でやったら上手くいくことができました。グループを二つつくり、片方はホームディレクトリより上を見ることができるのとそうでないのとに分けた感じです。複数のドメインを使い分けるわけではないので、私としてはこれで満足かなと思っている次第であります。(レンタルサーバみたいな感じかな)
結局は完全に私の説明不足でした・・・



>できないことはありませんよ。
>企業(FedoraやCentOSは当然使用していないと思いますが・・)では、「Shift-JIS」が一般的な様ですし・・・


>ちなみにRHEL系のディストリビューションで「Shift-JIS」の組み込み方法は以下にあります。

>  参照:http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=968


これがどうも上手くいきませんでした。
同じように、やったのですが、どうもShift-JISとして動作しなかったみたいです(Shift-JISで動作していたら、webサーバでindexes表示したとき、Shift-JISでも文字化けしずに表示できるのでしょうか。また、cgiもパーミッションだけの変更では動作せず、そのままの状態で秀丸でEUCに変換してパーミッションを変更したら動作しました。)

また、indexes(index.htmlを置かずに日本語ファイルだけを置いてみた場合)ですが、エンコードをunicode8にすると文字化けしずに表示できるみたいでした。(これをやる前は手動でブラウザでEUCにするときちんと表示できました)

そんな中でやったせいか、掲示板をEUCに変換した場合では、動作は正常でも文字化けしてしまいました。こちらの掲示板はkent-webさんからのもので、ブラウザで手動でEUCにするときちんと表示されますが、ページを更新する度にShiftJISに戻るので、またEUCにしなければいけない感じです。(上記URLによる変更する前の動作はどうなっていたのかは試してませんでしたが・・)



国内のレンタルサーバ(ロリポップ)では、レッドハットを使用しているみたいですが、ShiftJISのスクリプトをそのままパーミッションの変更だけできちんと文字化けもせず動作しました。

同様のことをできるようにしたいのですが、これはレッドハットでないとできないことでしょうか?また、FedoraみたいなフリーのOSでは上記の方法がベストだったのでしょうか。
最終手段はwindows serverなのでしょうか・・・(でも、やはりwindowsではなくUnix系OSでやっていきたいです)


また、上記のURLで変更の手順と箇所は、

# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
キャラクタマップ `SHIFT_JIS' は ASCII 互換ではありません, ロケールは ISO C に従っていません



# locale -a | grep ja
ja_JP
ja_JP.eucjp
ja_JP.sjis
ja_JP.ujis
ja_JP.utf8
japanese



/etc/sysconfig/i18n


LANG="ja_JP.UTF-8"




#LANG="ja_JP.UTF-8"
#SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
LANG="ja_JP.SJIS"
SUPPORTED="ja_JP.SJIS:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"

と変更し再起動、また

LANG="ja_JP.UTF-8"

#LANG="ja_JP.UTF-8"
#SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
LANG="ja_JP.SJIS"

とやっても同じような感じで、上記に述べた感じでした。

また、戻そうと、単純に

#LANG="ja_JP.eucJP"

として再起動したら、システム自体が英語表記となってしまい、EUCに変換したcgiファイルをテキストエディタで開くと文字化けしてしまったりと、どうしよもない状態になってしまいました。

初心者としては、fedora7を再インストールした方が手っ取り早いという考えです。
私としては、先ほど述べたロリポップのような感じにしたいのですが、どうしたら良いのでしょうか・・・?
元に戻すのは再インストールした方が簡単且つ楽だと思うのでそうしようと思っておりますが。。。



また、Apacheのデフォルトキャラセットは
AddDefaultCharset Off
にしております。

とにかく、CGIをShift-JISでも動作できるようにするだけで十分ですので、どうかご教授お願いできないでしょうか(これさえできれば。。。)
よろしくお願いいたします。お忙しいところ申し訳ありませんでした。
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.10 )
日時: 2007/07/10 22:55
名前: milu

先ほど調べていたら、FTPでコード変換させることで、対策が取れるのではないかと思いました。
vsftpdではそのようなことが出来るのでしょうか?

現段階で分かったことは下記の通りです。
http://www.hakusan.tsg.ne.jp/tjkawa/software/misc/proftpd-iconv/index.jsp
http://bbs.fedora.jp/read.php?FID=8&TID=2758
http://bbs.fedora.jp/read.php?FID=2&TID=1798&p=2

はっきり理解できないため、これらでレンタルサーバみたいに解決できるのか分かりませんが明日やってみようと思います。
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.11 )
日時: 2007/07/11 18:11
名前: エンタ

通常のFTPアップロードって、サーバ側の文字コードをソフト側で設定して”テキストモード”でアップすれば全く問題ないはずですよ。
”FFFTP”だったら、”ホストの設定”画面の所にあります。
 Re: WebサーバのCGIとFTPサーバのアカウントとパスワード ( No.12 )
日時: 2007/07/14 18:26
名前: milu

エンタ様

ご回答ありがとうございます。
その機能を完全に忘れておりました。


管理人様

何度も丁寧に解答して下さってありがとうございました。
無事、Shift-JISで動作し、FTPによる変換も無しで文字化けせず動作するようにできました。
CGIも全部きちんと動作いたしました。これといって、windowsサーバと同じような感じですが^;
ありがとうございました!

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.