CentOSのレンタルサーバーを使っています(root権限あり)。

WordPressをインストールしてみたのですが、プラグインの自動インストールで FTPの設定をする事ができます。

しかし、CentOSで自サーバーからの接続が許可されていないのか、正しいアカウントを入れても接続ができません。調べていたところ、以下のようなページを見つけたのですが
http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/038tcpwrapper.html

inetd.sec というファイルを見つけることができませんでした。
Cent OSで、自サーバーからの FTP接続を許可する設定を行うには、どうしたらよいでしょうか? または、WordPressで接続ができないのは全然別の原因でしょうか? 教えてください。

回答の条件
  • 1人2回まで
  • 登録:2008/12/21 19:45:37
  • 終了:2008/12/21 21:58:04

ベストアンサー

id:zzz_1980 No.3

zzz_1980回答回数492ベストアンサー獲得回数642008/12/21 21:08:31

ポイント60pt

proftpというのを利用しているようです

コンソールから ftp localhost として ftp サーバーにつながりますか。

つながらなければ、/etc/xinetd.d の下に vsftp とか ftp とかそれっぽい(^^;)名前のファイルが

あるはずなので、disalbe = no となっているかどうか確認をお願いします。

たとえばこんなファイルがあるはずです。

# default: on
# description: The proftpd FTP server serves FTP connections. It uses \
#	normal, unencrypted usernames and passwords for authentication.
service ftp
{
	socket_type		= stream
	wait			= no
	user			= root
	server			= /usr/sbin/in.proftpd
	server_args		= 
	log_on_success		+= DURATION USERID
	log_on_failure		+= USERID
	nice			= 10
	disable			= no
}
id:selter

アドバイスありがとうございます! 探してみたところ、該当のファイルがありました。また、「disable」も、noになっています。

ただ、yesにしてみたのですが、やはりうまく行きませんでした。。

だいぶ諦めモードではありますが、もう少し続けさせていただきますので、もし他にもアドバイスがありましたら、いただけると幸いです。

2008/12/21 21:32:39

その他の回答(2件)

id:zzz_1980 No.1

zzz_1980回答回数492ベストアンサー獲得回数642008/12/21 20:49:54

手元の環境がCentOS 4.9 なので、最新のものとは違うかもしれませんが、

CentOS では各種 daemon の制御は inetd や tcp/ip wrapper ではなく xinetd が行っています。

(ので hp-ux の設定方法は参考にならない)

/etc/xinted.d に gssftp というファイルがあれば、

このファイルの

disable = yes

disable = no

に書き換えて、kill -HUP xinetdのpid または reboot してください。

これだけで kerberos 認証付き ftpd を xinetd で使うことができます。

ただ、こいつを運用するには kerberos 認証ができないといけないので面倒です。

セキュリティ的に問題なければ vsftpd をのせたほうが設定は楽です。

id:selter

ありがとうございます。

うぅむ、kerberos認証というのがハードルが高そうですね。vsftpdというのは、新たな FTPサーバーソフトということでしょうか? 確か、今は proftpというのを利用しているようです<最初から入っていた。

私は、多少は Linuxのコンソールをいじったりはできるのですが、詳しいわけではなく、ソフトのインストールとかまでなると若干不安です。。

素人がこの辺りを設定するのは難しいんですかねぇ。。 他にもアドバイスありましたら、ぜひともいただければ幸いです!

2008/12/21 20:58:10
id:gorogoro563 No.2

gorogoro563回答回数15ベストアンサー獲得回数22008/12/21 21:06:39

ポイント20pt

そのURLはhp-ux について書かれた内容のようですね。centOSは関係ないかもしれません。

一般にサービスの許可などは/etc/host.allowやhosts.denyなどのファイル、あるいは、selinuxなどの機能を利用します。

Firewallは一般にiptablesが使われることが多いのですがそちらのほうの設定はどのようになっているでしょうか?

今現在利用されているcentosのどのサービスが起動しているかによっても答えが変わってくると思います。

「WordPressをインストールしてみたのですが、プラグインの自動インストールで FTPの設定をする事ができます。」

何をどのように作業したのかこれだけの文章では判断が付かないのです。wordpressはroot以外の1つのユーザで動かすと思いますのでwordpressのプラグインを入れてもftpサーバーの設定は出来ません。

wordpressはblogのスクリプトでftpはサーバーの1つのデーモンですのであまり関連が無いと思います。


/-/-/-/-/-/-/-/-/-/-/

root権限があるということは専用サーバーだと思いますが、一般に専用サーバーは管理者にOSやサーバーを管理する能力があることを前提としています。

非常に権限が大きい代わりにそれなりの知識を必要とします。不具合が起きればインターネット全体に迷惑をかけますしサーバーが悪用されれば管理者であるselterさんが最悪FBIに追っかけられることにもなりかねません。

selterさんはどの程度サーバー管理に対する知識があるのかわかりませんが、もし、初めてであれば同じOSをローカルエリア内に立てて色々調べてからインターネット上のサーバーを利用すると良いと思います。

id:selter

アドバイスありがとうございます。

「WordPressをインストールしてみたのですが、プラグインの自動インストールで FTPの設定をする事ができます。」

こちらの説明が下手で失礼しました。

通常、WordPressのプラグインをインストールする時は、FTPソフトを起動してファイルをアップロードしなければなりません。しかし、WordPressの設定画面からFTPの各種設定を行うとブラウザだけで「プラグインファイルのダウンロード->サーバーへのアップロード」という作業を行ってくれる機能があるのです。これを使ってみたかったのです。

しかし、私が使っているサーバーではこの設定をしても、「接続できませんでした」と出てしまい、できなかったため質問させていただいた次第です。

とはいえ、ご指摘の通り、このエラーが「恐らくローカルホストからの接続をはねているのだろう」といった程度までは分かるのですが、では具体的にどこの設定をどう変えたら良いのかなどまでが分からない程度の知識なので、設定を変えるのが危険なようであれば先の機能は使うのを諦めようかなとも思っております。

引き続きアドバイスお願いいたします。

2008/12/21 21:25:15
id:zzz_1980 No.3

zzz_1980回答回数492ベストアンサー獲得回数642008/12/21 21:08:31ここでベストアンサー

ポイント60pt

proftpというのを利用しているようです

コンソールから ftp localhost として ftp サーバーにつながりますか。

つながらなければ、/etc/xinetd.d の下に vsftp とか ftp とかそれっぽい(^^;)名前のファイルが

あるはずなので、disalbe = no となっているかどうか確認をお願いします。

たとえばこんなファイルがあるはずです。

# default: on
# description: The proftpd FTP server serves FTP connections. It uses \
#	normal, unencrypted usernames and passwords for authentication.
service ftp
{
	socket_type		= stream
	wait			= no
	user			= root
	server			= /usr/sbin/in.proftpd
	server_args		= 
	log_on_success		+= DURATION USERID
	log_on_failure		+= USERID
	nice			= 10
	disable			= no
}
id:selter

アドバイスありがとうございます! 探してみたところ、該当のファイルがありました。また、「disable」も、noになっています。

ただ、yesにしてみたのですが、やはりうまく行きませんでした。。

だいぶ諦めモードではありますが、もう少し続けさせていただきますので、もし他にもアドバイスがありましたら、いただけると幸いです。

2008/12/21 21:32:39
  • id:zzz_1980
    単にyesにしただけではだめですよ。
    「リブート」または、「kill -HUP xinetdのプロセスid 」が必要です。
    だめなのは、WordPressからの ftp の設定がだめなのか、
    コンソールからのlocalhost への接続がだめなのか…
  • id:zzz_1980
    ああ、disable=yesにしちゃあいけません。disable=noならそのまま。
    なにがどうだめなのかをもう少し書いていただけると…
    うまくいかないといわれても、どううまくいかないかは質問者以外にはわかりません。
  • id:selter
    コメントありがとうございます。説明が足りていなくてごめんなさい。

    確かに、最初のアドバイスで「noにする」というアドバイスを頂いておりましたね。失礼いたしました。。
    ちなみに、リブートはいたしました。設定ファイルを変えたらリブートするという知識はありましたので大丈夫です。

    うまく行かないというのは、SSH上で

    ftp
    open localhost

    としたり、

    ftp
    open 127.0.0.1

    としたりしたのですが、どれも

    ftp: connect: Connection refused

    というメッセージが出てしまいました。
    WordPressからも、やはりダメでした。

    セキュリティ系の設定で、はねられてしまっているのですかねぇ。。困りました。

    たびたびのアドバイスで恐縮ですが、もしなにか思いつきましたら教えていただけると幸いです。
  • id:zzz_1980
    WordPressからftpクライアントをどう起動・設定するか、という話なので、
    私の回答およびコメントはまったく的外れですね。0点でお願いします。_o_
  • id:selter
    たびたびのコメントありがとうございます。

    いえいえ、私の質問が下手だったかも知れませんが、ご回答は非常に参考になっています。
    あくまでも、FTPサーバー側が接続をはねてしまっているわけで、WordPressというのはあまり関係ないかと思います。

    SSHで、127.0.0.1に FTP接続ができれば問題が解決する気がするのですが、どうにも何が悪いのか分かりません。。

    これが使えないからといって、WordPressが利用できないわけではないため、ひとまず諦めようと思います。。アドバイスありがとうございました!
  • id:gorogoro563
    wordpressのどのpluginかわかりませんが、phpのftpuploadの関数を利用しているのであれば、

    ftpデーモンが動作している条件で、案外簡単なトラブルでユーザーID/PW、アップするディレクトリーのパーミッション、などは大丈夫でしょうか。
    pluginにしてもthemeにしてもwebが作ったディレクトリーなどはユーザーがapacheなどになっているのでその点も注意が必要です。
    また、php.iniにftpのファイルの上限が決められています。じょうげんにひかかかっているケースもかんがえられます

    単純にftp出来ないと言っても、関連しているのがファイヤーウォール関係かphpやpluginの設定かあっちこっちにかかわっていますので気づきそうなことを気づき次第書きます。
  • id:gorogoro563
    先ほどのコメントで1行抜けていましたので。。。

    メッセージで接続が出来ないと出てきたのでしょうか、それとも、単純にエラーで接続かダウンロードかどちらがエラーかわから無いけどエラーになったのか、エラーメッセージを書いてもらえると良いと思います。もし、エラーメッセージだけで接続に関するものかどうかわからない場合は以下の点を確認してください。

    。。。。。。。。。。。。。。。。。。。。
  • id:selter
    コメントありがとうございます。質問閉じてしまいました・・ごめんなさい。

    プラグインの件ですが、特定のプラグインではなく、WordPressの標準機能として装備されている機能なのです。>FTP接続機能
    ただ、PHPのどの機能を利用しているのかはちょっと分かりませんでした。。

    パーミッション関係やアカウント、ユーザーやグループなどは確認したのですが、特に問題はないとは思うのですが、WordPress側にもう少しいろいろ設定が必要だったりするのですかね?

    ちょっと、「FTPサーバーが接続をはねている」と思いこんで質問を書き込んでしまったところがあるため、別の方面でも調べてみたいと思います。なにか、お気づきの点などありましたら教えてくださいませ。
  • id:selter
    おっと、続けての回答ありがとうございます。

    エラーメッセージですが

    「FTP サーバー 127.0.0.1:21 への接続に失敗しました」

    でした。引き続きよろしくお願いいたします!
  • id:gorogoro563
    「FTP サーバー 127.0.0.1:21 」127.0.0.1はlocalhostですので、接続先のftpサーバーを指定していないのか、あるいは、ドメインをlookupできていないので、接続できないのかもしれないですね。
    ip指定するか、あるいは、/etc/resolv.confを確認してみてください。
    search localhost になっているとドメインからipが引けない可能性もありますので、
    --------------------
    nameserver 210.130.0.1
    nameserver 210.130.1.1
    -------------------
    210.130.0.1,1.1はiijのDNSサーバー
    にしてみてください
  • id:gorogoro563
    私もwordpress(2.6)を数サイト運営しています。ftpによるプラグインのダウンロードは標準でついていないと思ったのですがもしかして、バージョン2.7でしょうか?

    ”anonymous ftpで相手のサーバーに接続して、自サーバーの特定のディレクトリーに入れる”のであれば、相手サーバーを指定することになると思います。

    もしかして、設定が逆になっているということは無いでしょうか?
    逆というと変な感じですが、

    wordpressの管理画面でその操作をするのであれば、”anonymous ftpで相手のサーバーに接続して、自サーバーの特定のディレクトリーに入れる”という操作になると思います。

    それとも完全に異なるもう1台のサーバー(サーバー1)があって、それがpluginのサーバー(サーバー2)からダウンロードしてきて、wordpressのサーバー(サーバー3)にアップロードするような機能なんでしょうか?
  • id:selter
    コメントありがとうございます。

    どうも、私の説明が下手なようで、「WordPressのFTP設定」というところが、うまく伝えられていないようです。申し訳ありません。

    名称がついていないので、調べにくかったのですがどうやら「プラグインの自動アップデート」という機能のようです。以下のようなサイトを見つけました。
    http://wordpress.bowz.info/88

    このように、インストールしているプラグインがアップデートされると、管理画面からワンクリックで最新版をダウンロードしてインストールしてくれる機能なのです。2.5から搭載されているようです。(ちなみに、私はご指摘の通り 2.7を利用しております)

    上記のサイトでは、PHPのセーフモードの関係で正常に行っていなかったようですが、その場合 PHPのエラーが表示されるそうで、私の場合はそれさえ表示されず、接続にいっていない感じなのです。

    うぅむ、困りました。
  • id:gorogoro563
    「プラグインの自動アップデート」は2.6でも付いています。wordpressのplug-inはバージョン依存が強いので勝手にアップデートをされると困るため私は使用していません。
    実際に使っていないので詳しくはわかりませんが、この機能は、自分のサーバーのftpの設定を入れるのではなくて相手のサーバーの設定を入れるのだと思います。
    プラグイン毎に設定を入れるようになっていますね。

    「FTP サーバー 127.0.0.1:21 への接続に失敗しました」
    とりあえず、メッセージだけを見る限りでは「ホスト名:」を正しく入力すればよいようです。
  • id:selter
    コメントありがとうございます。

    結局私はその後、サーバーを移転して無事に利用できるようになりました。
    相手先のサーバーの設定を入れる画面だったのですかね。それですと、その設定をどこかから拾ってこないといけないですね。うぅん、面倒そうだ。。

    今となっては私も、何が原因だったのか不明ですが、無事に使えるようになりましたので大丈夫でした! ありがとうございました!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません