- ベストアンサー
さくらVPSでFTP接続できない
- さくらのVPSでApache、PHP、MySQL、vsftpdをインストールしたが、FTP接続ができない。
- VsftpdをインストールしてコマンドプロンプトからはFTP接続できるが、Dreamweaverでは接続できない。
- 設定が足りていない可能性があるが、どの設定が問題か分からない。DreamweaverからVPSにFTP接続する方法を教えてほしい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>vsftpd start/running, process 1161 >runningと出ているので起動は出来ているのでしょうか…。ですがftp.exeからでもやはりつながりません。 PID 1161で起動はできた。 ということになります。 が、しはらくすると強制終了されているのでしょう。 serviceコマンドで起動した後、 ps aux | grep vsftpd コマンドを繰り返していくとそのうち起動時に表示されたPIDのプロセスが消滅するのではないでしょうか? >Jul 31 14:37:53 www39075u init: vsftpd main process (1056) terminated with status 1 というログが強制終了などされた時のログかと。 # serviceコマンドで停止させた場合はこのようなログにならないかと。 # vsftpdが終了コード1で停止した…という内容ですかね。 その後、initによりvsftpdの再起動処理が実施されている……っぽいので、 psコマンドで監視しているとvsftpdのPIDが変わるかもしれません。 >SELinuxというのと、AppArmorというのによって強制終了させられているかもしれないとのことですが、これはどこかのログに残っているのでしょうか? /var/log/message になにか残っている…かも知れません。 # 残っていないかも知れない…のでなんとも…… # OOMKillerで殺された場合には残っていた…ハズ。 私の方でも以前起動させたハズのサービスが勝手に終了している。 という現象に悩まされたことがあります。 ログになにも残っていない状態で、プロセスがいきなり消滅…という状況に。 その時、どんな対処したのかは…ちょっと忘却です。 # SELinuxを無効(警告モードに変更)したような気がするのですが…定かではないです。 AppArmorについては使ったことがありませんので不明…です。
その他の回答 (4)
- 03e1396
- ベストアンサー率0% (0/1)
各設定の自動起動設定は設定されていますか。 特に、FTPですと、Webサーバーへのファイル転送用にFTPサーバーを構築する。 CentOS標準のFTPサーバーであるvsftpd の設定がポイントかと思います。 素人の私は、ここでつまづいていました。 vsftpd起動 # /etc/rc.d/init.d/vsftpd start vsftpd 用の vsftpd を起動中: [ OK ] の確認後、 vsftpd自動起動設定 # chkconfig vsftpd on いかがでしょうか
補足
回答ありがとうございます。 vsftpdの自動起動の設定に関しては、sysv-rc-confで確認したところランレベル2から5にチェックがついていました。 また、ubuntuであるためchkconfgは入っておらず、代わりにsysv-rc-confをインストールしてある感じです。
- Wr5
- ベストアンサー率53% (2173/4061)
>Jul 31 14:41:11 www39075u init: vsftpd main process (1111) terminated with status 1 とか >root # service vsftpd start >vsftpd start/running, process 1727 >root # service vsftpd stop >stop: Unknown instance: とか見ると…起動したvsftpdのプロセスがなんらかの理由により不正に終了しているようです。 SELinuxやAppArmorとかそれらにより強制終了させられていたりしませんか?? >root # service /etc/init.d/vsftpd start >/etc/init.d/vsftpd: unrecognized service serviceコマンドの場合、パスは入りませんからエラーでしょう。 root # /etc/init.d/vsftpd start ならアリかもしまませんが…。
補足
>serviceコマンドの場合、パスは入りませんからエラーでしょう。 そうだったんですね。パス無し起動してみたところ以下のようになりました。 # service vsftpd start vsftpd start/running, process 1161 runningと出ているので起動は出来ているのでしょうか…。ですがftp.exeからでもやはりつながりません。 SELinuxというのと、AppArmorというのによって強制終了させられているかもしれないとのことですが、これはどこかのログに残っているのでしょうか? /var/logの中を見てみたのですがちょっと見当たりませんでした。 # iptables -L で見ると ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data ACCEPT tcp -- anywhere anywhere tcp dpt:ftp となっていて、 /etc/vsftpd.conf も特に問題がないとして、 # service vsftpd start vsftpd start/running, process 1161 で起動しているとなれば、素人的な考えではあたかも繋がりそうな感じがするのですが… もしよろしければまたお返事いただけると嬉しいです。よろしくお願いします。
- Wr5
- ベストアンサー率53% (2173/4061)
う~ん…vsftpd.confの方は問題なさげ…ですな。 コマンドラインのftp.exeでは繋がるようですし。 >vsftpdのログというのがちょっと見方がわかりません…。 /var/log 辺りにあるかと思われます。 daemon.logとかになるのかな? パーソナルファイヤーウォールとかでdreamewaverをブロックしていたりしないか確認されてはどうでしょう?
補足
このvps以外の全てのサイトはdreamewaverで接続できるので、パーソナルファイヤーウォールではないように思います。 root # /var/log/daemon.log Jul 31 14:25:28 www39075u ntpdate[629]: step time server 91.189.94.4 offset 2.208985 sec Jul 31 14:32:51 www39075u init: ttyS0 main process ended, respawning Jul 31 14:34:55 www39075u init: vsftpd main process (1014) terminated with status 1 Jul 31 14:34:55 www39075u init: vsftpd main process ended, respawning ~ Jul 31 14:34:55 www39075u init: vsftpd respawning too fast, stopped Jul 31 14:37:53 www39075u init: vsftpd main process (1056) terminated with status 1 Jul 31 14:37:53 www39075u init: vsftpd main process ended, respawning Jul 31 14:37:53 www39075u init: vsftpd main process (1060) terminated with status 1 ~ Jul 31 14:37:53 www39075u init: vsftpd respawning too fast, stopped Jul 31 14:41:11 www39075u init: vsftpd main process (1104) terminated with status 1 Jul 31 14:41:11 www39075u init: vsftpd main process ended, respawning Jul 31 14:41:11 www39075u init: vsftpd main process (1108) terminated with status 1 Jul 31 14:41:11 www39075u init: vsftpd main process ended, respawning Jul 31 14:41:11 www39075u init: vsftpd main process (1111) terminated with status 1 Jul 31 14:41:11 www39075u init: vsftpd main process ended, respawn daemon.logをみたら上記のようになっていました。「~」の部分は全て同じエラー(respawningの行)です。 それから今気がついたのですが、ftp.exeのほうもつながらなくなっていました。(サーバーを再起動した後からだと思います。) vsftpdが起動していないような気がするのでstart,stopしたときに出力されるものも貼っておきます。 root # service vsftpd start vsftpd start/running, process 1727 root # service vsftpd stop stop: Unknown instance: root # service vsftpd restart restart: Unknown instance: root # service /etc/init.d/vsftpd start /etc/init.d/vsftpd: unrecognized service root # service /etc/init.d/vsftpd stop /etc/init.d/vsftpd: unrecognized service root # service /etc/init.d/vsftpd restart /etc/init.d/vsftpd: unrecognized service もしよろしければまた回答頂けると幸いです。 どうかよろしくお願い致します。
- Wr5
- ベストアンサー率53% (2173/4061)
>何か書き足りない情報があれば補足します。 vsftpdの設定とか掲示されないと…とか思いますが…。 dreamewaverが出力しているエラーメッセージや、vsftpdのログとか……。
補足
【vsftpdの設定】 listen=YES anonymous_enable=NO local_enable=YES local_umask=022 write_enble=YES ascii_download_enable=NO ascii_upload_enable=NO connect_from_port_20=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem 改行から上は検索して調べた通りに記述したような感じです。改行から下は最初から書かれていたものです。 【dreamweaverのエラー】 FTPエラーが発生しました。-ホストに接続できません。ホスト「***.***.***.***」に接続することが出来ません。以下のいずれかの原因が考えられます。 (この下に解決方法が乗っています。コピーできませんでした) vsftpdのログというのがちょっと見方がわかりません…。以上の情報から何かわかることはありますでしょうか?
お礼
解決しました。 結局のところvsftpd.confの記述ミスだったようです。 改めて「vsftpd 起動 失敗」というキーワードで検索してみたところ 「設定ファイルにミスがあると起動できない…」というような情報にたどり着きまして、もう一度自分のvsftpd.confを見なおしてみました。 具体的には write_enble=YES の部分がスペルミスしていまして write_enable=YES にすることにより接続することが出来ました。 お騒がせしてすみません。 結果的に単純なスペルミスでしたが、知らないことを沢山教えていただき、大変ためになりました。 何度も回答していただきどうもありがとうございました。
補足
なるほど。daemon.logの言っていることがわかりました。そういうことだったんですね。 ・service vsftpd startによって起動はできる→でもすぐに終了してしまう→initによってすぐに再起動される→一定回数再起動が繰り返された後に停止 ・どうしてすぐに終了してしまうかの原因を見つけたい→selinuxとapparmorが怪しい ということで理解しました。 それで、selinuxを見てみたのですが、設定は無効になっているようでした。(getenforceでDisabledと表示された) また、apparmorですが、無効かどうかの確認方法がわからなかったので、sysv-rc-confでチェックが全て外れていることを確認した上でOSを再起動してみました。 そしてまた # service vsftpd start としてみたのですが、やはり起動したあとすぐに終了→再起動→停止となっていたようです。 また、/var/log/messagesにはvsftpdに関するログは残っていないようでした。