いつもサーバ構築の参考にさせていただいています。
Proftpdの1.2.8-2をインストールしてinetdで使用しようかと
思っているのですが、standaloneでないとサーバ起動時に
エラーが出るので、エラーが出ないようにしたいと思い
おやじさんのところで配布されているRPMを使用させていただきたい
と思いました。
でも、リンクをクリックするとページが表示されませんと出ます。
今は配布していないのでしょうか?
> Proftpdの1.2.8-2をインストールしてinetdで使用しようかと
> 思っているのですが、standaloneでないとサーバ起動時に
> エラーが出るので、エラーが出ないようにしたいと思い
> おやじさんのところで配布されているRPMを使用させていただきたい
> と思いました。
>
> でも、リンクをクリックするとページが表示されませんと出ます。
> 今は配布していないのでしょうか?
またまたやってしまいました。サーバ機のHDDが鳴き始めたので、予備機に入れてあったSuSE9.1に急遽切り替えたのですが、FTPユーザのホームディレクトリの修正を忘れており、とんでもないところにアクセスしていました。
修正しましたので、大丈夫と思います。前回も同じミスをしてますね・・・。m(__)m
切替手順書を用意していないのが、いけないんでしょうね。
おやじさん、どうもありがとうございます。
早速、インストールさせていただいたのですが
やはり、ServerTypeがinetdだと
Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
のようなエラーが出ますね。。ただし、FTP自体はきちんと動作しているので、使えるのは使えるのですが、、。
何か原因がおわかりでしたら、アドバイスいただければと思います。
ちなみに、私はRedhatLinux9なので、
proftpd-1.2.9-2.i386.rpmと
proftpd-inetd-1.2.9-2.i386.rpmをインストールしました。
> Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
> localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
このエラーはServerType inetdの設定で/etc/rc.d/init.d/proftpdを起動させてしまったときに出た記憶があります.
ServerType inetdの設定では/etc/rc.d/init.d/proftpdを実行してはいけません.
> おやじさん、どうもありがとうございます。
> 早速、インストールさせていただいたのですが
> やはり、ServerTypeがinetdだと
>
> Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
> localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
>
> のようなエラーが出ますね。。ただし、FTP自体はきちんと動作しているので、使えるのは使えるのですが、、。
>
> 何か原因がおわかりでしたら、アドバイスいただければと思います。
> ちなみに、私はRedhatLinux9なので、
> proftpd-1.2.9-2.i386.rpmと
> proftpd-inetd-1.2.9-2.i386.rpmをインストールしました。
かいさんのおっしゃっているとおりです。
恐らくですが、standaloneモードでproftpdが起動しているのだと思います。
まず、下記でstandaloneモード止めて、起動スクリプトを削除してください。
# /etc/init.d/proftpd stop
# chkconfig --del proftpd
そこで、proftpd.conf のServerTypeがinetdになっているのを確認してください。
次に、xinetdから起動するようになっているか確認してください。
つまり、/etc/xinetd.d/proftpd の disable がnoになっているかを確認して、
xinetdを再起動してください。
# /etc/init.d/xinetd restart
かいさん、おやじさん、どうもありがとうございます。
教えていただいた手順通りにやってみたのですが、
やはり同じエラーが出ました。。
このままでも特に問題なくFTPサーバにアクセス出来ているのですが
何か、起動する時にエラーが出るのは気持ち悪いですよね。。
> かいさん、おやじさん、どうもありがとうございます。
> 教えていただいた手順通りにやってみたのですが、
> やはり同じエラーが出ました。。
>
> このままでも特に問題なくFTPサーバにアクセス出来ているのですが
> 何か、起動する時にエラーが出るのは気持ち悪いですよね。。
おかしいですね。下記エラーは、confでServerType を inetd としておきながら、inetd/xinetdではなくコマンドラインでProFTPDを起動したときに出るものです。
> Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
> localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
再掲ですが、まず、下記でstandaloneモード止めて、起動スクリプトを削除してください。
# /etc/init.d/proftpd stop
# chkconfig --del proftpd
そこで、proftpd.conf のServerTypeがinetdになっているのを確認してください。
次に、xinetdから起動するようになっているか確認してください。
つまり、/etc/xinetd.d/proftpd の disable がnoになっているかを確認して、
xinetdを再起動してください。
# /etc/init.d/xinetd restart
これ以外のことをしてませんか?まさかと思いますが
# /etc/init.d/proftpd start
とか、
# /usr/sbin/proftpd
とかしてないですよね。
やっぱり駄目でした・・。
おやじさんが指示して下さった方法と
まったく同じ手順で実行してみたのですが・・。
ひとつ気になるのが
# /etc/init.d/proftpd stop
を実行すると「失敗」と出る事です。
あと
>そこで、proftpd.conf のServerTypeがinetdになっているのを確認
>してください。
とおっしゃっていますが、これを実行する前にServerTypeがinetdになっていても構わないのですか?それともinetdにする前にstandaloneにしてから修正を実行するのでしょうか?
> やっぱり駄目でした・・。
> おやじさんが指示して下さった方法と
> まったく同じ手順で実行してみたのですが・・。
>
> ひとつ気になるのが
> # /etc/init.d/proftpd stop
> を実行すると「失敗」と出る事です。
これは、起動スクリプトで起動していないと言うことなのでOKです。
> あと
> >そこで、proftpd.conf のServerTypeがinetdになっているのを確認
> >してください。
>
> とおっしゃっていますが、これを実行する前にServerTypeがinetdになっていても構わないのですか?それともinetdにする前にstandaloneにしてから修正を実行するのでしょうか?
xinetdをrestartする前にそうなっていればOKです。
ところで、下記エラーはどの時点ででるのですか? 一番最後にFTP接続した時ですか?
わけが分かりません。関係ないと思いますがvsftpdは動いたりしてませんよね。
Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
> ところで、下記エラーはどの時点ででるのですか? 一番最後にFTP接続した時ですか?
> わけが分かりません。関係ないと思いますがvsftpdは動いたりしてませんよね。
>
> Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
> localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
webminから起動した時にです。webmin上で起動すると必ず出ます。
ServerTypeをstandaloneにすると出ないのですが。。
あと、vsftpdはインストールすらしていません。
> > ところで、下記エラーはどの時点ででるのですか? 一番最後にFTP接続した時ですか?
> > わけが分かりません。関係ないと思いますがvsftpdは動いたりしてませんよね。
> >
> > Starting proftpd: localhost.localdomain - fatal: Socket operation on non-socket
> > localhost.localdomain - (Running from command line? Use `ServerType standalone' in config file!)
>
> webminから起動した時にです。webmin上で起動すると必ず出ます。
> ServerTypeをstandaloneにすると出ないのですが。。
こうやって聞いていかないとなかなか真実に近づかないのはBBSの限界ですね。何度も、指摘していたことをakiさんはやられていただけで、akiさんはその認識がなかっただけ、というのが結論ですね。 Webminから何を起動しているのですか? コマンドを自分でたたいているのではなく、proftpd関連の項目を操作しているのだと思うのですが・・。
おやじはWebminは何をしているかが分からないので使ってないので分かりませんが、状況証拠(standaloneにすると出ない)からすると、やってはいけないと何度もいっている起動スクリプトからのデーモン起動をWebminが勝手にやっていますね。
こういうツール(SuSEのYaSTも似たところがありますが)は、ある使用方法を前提に作られており、そこから外れると意図した動作は当然しません。この手のツールは、一見、簡単に扱えてよさそうですが、ツールが何をしているか分からないので、おかしくなったら切り分け能力がなければ今回のようにお手上げです。
現時点で分かったことを整理すると、ProFTPDをinetdモードで使用するなら、今までやっていたwebminからの制御はやめるしかありません。ツールがやっていることと、やろうとしていることがミスマッチしています。
これが結論で間違いないはずです。