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/