Apache2.4にてWebDAVを有効にしてcurlでファイルを操作してみた

  • 投稿者:
  • 投稿カテゴリー:apache

Apache2.4にてWebDAVを有効にする

以下の設定をすると、どこからでもファイルアップロードし放題となるため注意すること。

# cd /etc/apache2/mods-available/
# a2enmod dav
# a2enmod dav_fs
# a2enmod allowmethods
# vi /etc/apache2/sites-enabled/000-default.conf
<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        DAV On
        AllowMethods HEAD GET POST CONNECT PUT DELETE OPTIONS PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK TRA
</Directory>
# systemctl restart apache2

curlでファイル操作してみる

ディレクトリを作成して、ファイルを置いて削除してみた。

# curl -X MKCOL 'http://s.mhv2.tk/testdir'
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>201 Created</title>
</head><body>
<h1>Created</h1>
<p>Collection /testdir has been created.</p>
<hr />
<address>Apache/2.4.18 (Ubuntu) Server at s.mhv2.tk Port 80</address>
</body></html>

# curl -T test-put.php --url http://s.mhv2.tk/testdir/test-put.php -X PUT
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>201 Created</title>
</head><body>
<h1>Created</h1>
<p>Resource /testdir/test-put.php has been created.</p>
<hr />
<address>Apache/2.4.18 (Ubuntu) Server at s.mhv2.tk Port 80</address>
</body></html>

# curl --url http://s.mhv2.tk/testdir/test-put.php -X DELETE

ログは以下。

# tail -n 3 /var/log/apache2/access.log
x.x.x.x - - [05/May/2020:02:03:31 +0900] "MKCOL /testdir HTTP/1.1" 201 454 "-" "curl/7.47.0"
x.x.x.x - - [05/May/2020:02:05:10 +0900] "PUT /testdir/test-put.php HTTP/1.1" 201 503 "-" "curl/7.47.0"
x.x.x.x - - [05/May/2020:02:07:00 +0900] "DELETE /testdir/test-put.php HTTP/1.1" 204 96 "-" "curl/7.47.0"

参考

https://adminswerk.de/httpd-24-webdav-error-405/