
Ubuntu日本語フォーラム

ログインしていません。
当方、Ubuntu12.04デスクトップ版をいじり始めてまだ半月の初心者です。
なんとかWebサーバ公開までこぎつけたのですが、外出先からもホームページを更新したり、ファイルサーバとして使ったりしたいので、apache2に標準装備されているというWebDAVを使いたいのですが、とりあえず、ここのページのとおりにやってみましたが、ウィンドウズからアクセスできません。
http://bty.sakura.ne.jp/wp/archives/61
とりあえず、2台パソコンがあり、一つはubuntuですが、もう一つはwindowxpで、ubuntuのほうのプライベートIPはルータで192.168.0.3に設定しておりますので、
windowsのコマンドプロンプトからnet use z: http://192.168.0.3/davとやってみましたが、つながりません。
マイネットワーク →ネットワークプレースの追加、からやっても同様です。
windowsからアクセスするときに、ユーザー名とパスワードをきかれますが、上記ページにはユーザー名とパスワードをどうやって設定したらいいか、などはかかれておりません。
ですので、「ユーザー名」には、apacheのデフォルトのユーザー名であるwww-dataを入れ、パスワードは空欄にしてみましたが繋がりません。
また、ubuntuでログインしているユーザー名とパスワードも入れてみましたが、繋がりません。
上記サイトを参考に作ったvar/www/davのオーナー&グループはwww-data:www-dataに変更し、パーミッションは755にしました。
何が間違っているのか、どうしたらいいのかがわかりません。
参考サイトもいろいろありますが、UbuntuではなくCentOSだったりして、ディレクトリ構造などが違うのでよくわかりません。
どなたかお教えいただけないでしょうか。
オフライン
あ、すみません、おかしくなってしまいました。
正しくは、9行目が:
windowsのコマンドプロンプトからnet use z: http://192.168.0.3/dav
とやってみましたが、つながりません。
です。
オフライン
ユーザー名とパスワードの設定は、htdigestを使ってみてはどうでしょうか
Apache設定ファイル(/dav部分のみ抜きだし)
<Location /dav>
Dav on
AuthType Digest
AuthName "WebDAV"
AuthUserFile "/etc/apache2/conf.d/.htdigest"
Require valid-user
</Location>
コマンド(例)
htdigest -c /etc/apache2/conf.d/.htdigest "WebDAV" username
オフライン
>obon様
ご返信ありがとうございます。しかし、できません。
---
フォルダ /var/www/davを作成
/etc/apache2/sites-available/davsite
の中にお書きいただいたものをコピーペースト
terminalから
(Ubuntuのログインユーザー名)@(Ubuntuのログインユーザー名)-desktop:~$ sudo htdigest -c /etc/apache2/conf.d/.htdigest "WebDAV" TS
[sudo] password for (Ubuntuのログインユーザー名): (ubuntuユーザー名のパスワード)
Adding password for TS in realm WebDAV.
New password: (パスワード)
Re-type new password: (パスワード)
windowsのコマンドプロンプトから
net use z: http://192.168.0.3/dav
'192.168.0.3の'ユーザー名を入力してください: TS
192.168.0.のパスワードを入力してください: (さっきのパスワード)
システム エラー 67が発生しました
ネットワーク名が見つかりません
----
以上のような操作をしましたが、結果は以上のとおりです。
apache2のUsernameとgroupは www-dataのままです。
/var/www/davのフォルダも sudo chown でwww-daga:www-dataにしました。
このユーザー名、ならびに、Ubuntuのログインユーザー名は関係ないでしょうか?
htdigestでTSというユーザーを登録しましたが、これを登録する前から、windows側でユーザー名とパスワードを求められてきました。
これはどのユーザー名とパスワードを書くのが正しいんですか?
オフライン
WebDAVにはユーザーとパスワードはhtdigestで設定したものが使われます。
Linux自体のアカウントは使われません。
「ネットワーク名が見つかりません」というエラーが気になりますね・・・
Windowsから192.168.0.3にPINGできますか?
それとWindowsのブラウザで、http://192.168.0.3/davにアクセスできるかも試してみてください。
あとはLinux側からローカルでWebdavに接続できるかも気になります。
Linuxにcadaverをインストールして試してみてください。
cadaver http://localhost/dav
オフライン
>obon様
ご回答ありがとうございます。
>WebDAVにはユーザーとパスワードはhtdigestで設定したものが使われます。
>Linux自体のアカウントは使われません。
そうだったんですか。それを明記されているサイトがなかったので迷いました。ありがとうございます。
htdigestを設定しないと全く使えない、という認識でよろしいでしょうか?
>Windowsから192.168.0.3にPINGできますか?
やってみました。
------------
C:\Documents and Settings\(Windowsのログインユーザー名)>ping 192.168.0.3
Pinging 192.168.0.3 with 32 bytes of data:
Reply from 192.168.0.3: bytes=32 time<1ms TTL=64
Reply from 192.168.0.3: bytes=32 time<1ms TTL=64
Reply from 192.168.0.3: bytes=32 time<1ms TTL=64
Reply from 192.168.0.3: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.0.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
-------------
特に問題ないようです。
>Windowsのブラウザで、http://192.168.0.3/davにアクセス
Operaですが、アクセスは出来ました。
>cadaver
すいません、まだやってません。
やり次第報告いたします。
オフライン
今手元にLinuxのマシンが無いので、おぼろげな記憶で返信させていただきます。
Operaでアクセスしたときはユーザーとパスワードは聞かれましたか?
その後ユーザーとパスワードを入力したら、ディレクトリの内容(恐らく今は空?)が表示されたでしょうか。
もしそうなら基本的な設定はOKなはずです。
cadaverのインストールは、Linuxの端末から
sudo apt-get install cadaver
でできると思います
それと今思いついたのですが、もしUbuntuのデスクトップをお使いなら
エクスプローラーみたいなやつ(nautilus?)を開いた状態で
Ctrl+Lを押してみてください
そうすると、場所を入力するウインドウが開いたと思います。
そこでdav://192.168.0.3/dav(もしくはlocalhost)と入れると
同じようにユーザーとパスワードを聞かれると思います。
もしローカルのLinuxで成功するなら問題はWindowsかネットワーク側
ローカルで失敗するならApacheの設定の問題でしょうか・・・
Apacheのアクセスログやエラーログに何かヒントが出ているかもしれません。
htdigestは、Apacheの設定ファイルでAuthType Digestを指定した場合の方法です。
他にhtpasswdを使う方法もあります。
ユーザー認証の方法はRequire valid-userでの指定です。
他の方法も指定できたと思いますが、試したことがありません・・・。
以上、何か適当なことを言ってたらごめんなさい・・・
オフライン
>obon様
たびたびありがとうございます。
OPERAでhttp://192.168.0.3/davにアクセスしたときはパスワードは訊かれず、フォルダの中身が表示されました。
/var/www/davの中身は空ですが、、その一つ上の階層の/var/wwwにはもうすでにindex.htmlだのなんだのが入ってますので、「Parent Directory」をクリックしたらまさにそのページが表示されました。
「閲覧だけはできている」状態です。
しかし、書き込み、ファイル更新は出来ません。(成功すればブラウザからでも出来るのですか?)
>cadaver
できませんでした。
------
t(Ubuntuのログインユーザー名)@(Ubuntuのログインユーザー名)-desktop:~$ cadaver http://localhost/dav
Could not access /dav/ (not WebDAV-enabled?):
405 Method Not Allowed
Connection to `localhost' closed.
dav:!>
-----
こうなりました。
あと。nautilusの場所ウィンドウからもやってみましたが、
「表示できませんでした」と出てきます。
以上のことから、Apache側の設定ファイルが間違っていると推測されます。
とりあえず、/etc/apache2/sites-availavle/davsiteの中身はこうなってます。
上記サイトからそのままいただいてきましたが、それぞれの文の意味がわからずに書いている部分も多いです。
これらについての日本語リファレンスがあれば知りたいです。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/dav>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alias /dav /var/www/dav
<Location /dav>
Dav on
AuthType Digest
AuthName "WebDAV"
AuthUserFile "/etc/apache2/conf.d/.htdigest"
Require valid-user
</Location>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>で、これを
$ a2ensite davsite
として、sites-enabledフォルダの中にも表示されるようにしました。
htdigestも前記のとおりに設定したままです。
無論書き換えるたびにapache2をrestartしています。
なにがいけないのでしょうか?
オフライン
確証はないのですが・・・
下記のように変更したらどうなりますか?
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alias /dav /var/www/dav
<Location /dav>
Dav on
AuthType Digest
AuthName "WebDAV"
AuthUserFile "/etc/apache2/conf.d/.htdigest"
Require valid-user
</Location>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
オフライン
>obon様
ありがとうございます。
やっぱりできませんでした。
とりあえず当面は、外部からのアップデートはFTPサーバを使うことにしました。
vsftpdを動かすことはとりあえずできたので、そちらをいじってみます。
いろいろご迷惑おかけしてすみません。
でもそのうち時間ができたらもう一度挑戦してみます。
ありがとうございました。
オフライン