ショボ短歌会

htpasswd -c/---と打ち込むと、-bash:---: command not found と表示されます。----- Basic認証を試みています。日経Linux 2005-12月号付録の SUSE Linux 10.0で、そして、その中にあったApache で、また、Windowsで作ったファイルを Samba でSUSE Linux コンピュータに移動して、というやり方で、イ ン ト ラ ネ ッ ト Webサーバを作りました。初心者で、全くわかりませんが、いろいろやっているうちに、なんとかなりました。しかし、htpasswd -c/ --- がうまくいかず、難渋しております。よろしく、お願いいたします。

A 回答 (3件)

自己訂正


>おそらくはhttpd.confのServerRoot 行に書いてあるパスの下にあると思いますので
自分でApache2.2をコンパイルしたときにそうなっただけでした。
最初から素直に
find /usr -name "htpasswd"
で探せばOKでした。(ちと時間食うけど)

どうしても見つからなければ
http://www.rescue.ne.jp/cgi/htpasswd/
でhtpasswd.tar.gz 貰ってきてインストールするか、、
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/07/31 09:39

http://www.rescue.ne.jp/cgi/htpasswd/
の説明どおりにやれば出来る筈ですけどねえ
コマンドラインで 解凍したディレクトリに移り
$ ls -l して fileが有ることを確認します
 解凍して出来たhtpasswdはたぶん使えません
$ make <=と打つと警告が出ますが、新しいhtpasswdが作られたはずです
$ ls -l して htpasswdの日付を確認してください
次に
$ chmod 755 htpasswd
$ ./htpasswd これで Usage:、、、、の文章が出れば成功です

$ ./htpasswd -c /home/tarou/.htpasswd test
  (ユーザーtarouのディレクトリに .htpasswd と言うfileをつくり test と言うユーザーを登録する)
パスワードを2回要求されるので入れるとOKです
但し、このままだとプログラムhtpasswdはパスの切られていないディレクトリに有りますので
毎回 /home/tarou/bin/htpasswd などのようにパスを指定して呼び出す必要があります
面倒くさければ /usr/bin/ に htpasswd をコピーしちゃいましょう
そうすれば単に htpasswd とパス無しで呼び出せます

尚、このhtpasswdはかなり古い物です
最新のapacheを自分でコンパイルすれば最新のhtpasswdも入手できますが、
もうちょっと勉強しないと難しいかもしれませんね

この回答への補足

umasikajiro様 ありがとうございました。しかし、だめでした。 /etc/apache2/bin の中に、.htpasswd ができました。cat .htpasswd で 期待どおりのものが出てきました。その後、 .htaccess を作りました。 .htaccess は どこに置けばよいのでしょうか? /srv/www/htdocs に web のファイルがあります。http://www.rescue.ne.jp/cgi/htpasswd にあるようにやってみたのですが、何度挑戦しても、認証をかけたいディレクトリのファイルが今までどおり登場します。etc/apache2 にある httpd.conf を書き換える必要があるという説明が、どこかにありましたので、やってみましたが、認証ダイアログボクスはでませんでした。残念です。ありがとうございました。

補足日時:2006/05/26 17:40
    • good
    • 0
この回答へのお礼

umasikajiro 様 ご親切なご回答、まことにありがとうございました。お教えのとおりに挑戦してみます。

お礼日時:2006/05/24 13:48

何にもパラメーターを付けず単に


htpasswd
と打ってみてください パスが通っていれば
 Usage:
 以下使い方の説明(英文)
 が出てくるはずです。
command not foundが表示されるならパスが通っていませんので
/usr/local/pache2/bin/htpasswd -c ./.htpasswd tarou
のようにフルパスで指定しないと駄目ですが、そのパスが判らないと思いますけど、まずはコマンドラインから
whereis htpasswd
と打ってhtpasswdのパスが出るか試します。これでも出なければ
おそらくはhttpd.confのServerRoot 行に書いてあるパスの下にあると思いますので
例えば ServerRoot "/usr/local/apache2" と記述してあれば su でrootになってから
cd /usr/local/apache2  <=apacheのディレクトリに移動する
find -name "htpasswd" <=と打ってhtpasswdを探す
これで 例えば ./bin/htpasswd と出てきたら
現在のカレントディレクトリ+./bin/htpasswd ですから、この例だと
/usr/local/apache2/bin/htpasswd がフルパスだと判ります

##もっとスマートな方法知っている方、いましたらオイラにも 教えて!goo
    • good
    • 0
この回答へのお礼

umasikajiro様、ありがとうございました。私のSUSE Linux には htpasswd が ありませんでした。 それで、http://www.rescue.ne.jp/cgi/htpasswd/
でhtpasswd.tar.gz 貰ってきてインストール 
しょうとしましたが、私にはできませんでした。 解凍して、Makefile と htpasswd.c と htpasswd になったのですが、それからはなんともなりません。やはり htpasswd -c --- で - bash command not found --- インストールの仕方を、お教えいただけると、幸甚のいたりです。よろしくお願いいたします。

お礼日時:2006/05/23 14:59

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