Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Matroids Matheplanet Forum Index » Informatik » Apache-Server einstellen: curl PUT, DELETE - "405 Method Not Allowed"
Druckversion
Druckversion
Antworten
Antworten
Autor
Beruf Apache-Server einstellen: curl PUT, DELETE - "405 Method Not Allowed"
RegEx
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 09.06.2007
Mitteilungen: 41
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2021-02-26


Hallo, dieser apache server nervt mich immer wieder mit seiner komischen config syntax. dann aendert sie sich auch noch von 2.2 auf 2.4 und schon passen die Tipps im Internet nicht mehr.
hab viele Tipps aus dem Internet gestern probiert, keiner ging.
mit curl wollte ich was hochladen, is der Befehl soweit ok?
curl -X PUT  --upload-file hallo.html -v "http://raspberrypi:81"
oder
curl -X PUT  --upload-file hallo.html --url "http://raspberrypi:81"

und was mach ich da nur immer falsch in dieser elendigen apache config Hoelle?:
in der apache 000default.conf ging nicht:
xml
<Directory "/var/www/html">
<Limit GET HEAD POST PUT DELETE OPTIONS>
     #Apache 2.4 
    Require all granted
</Limit>
und in der apache.conf ging auch nicht:
xml
<Directory /var/www/>
<LimitExcept POST GET PUT DELETE>
  Require valid-user
</LimitExcept>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
und einige andere Sachen auch probiert, wie dieses allow modul aktivieren usw. nix geht. curl bekommt immer zur Antwort:
bash
curl -X PUT  --upload-file hallo.html -v http://raspberrypi:81
*   Trying x.x.x.x:81...
* TCP_NODELAY set
* Connected to raspberrypi (x.x.x.x) port 81 (#0)
> PUT /hallo.html HTTP/1.1
> Host: raspberrypi:81
> User-Agent: curl/7.68.0
> Accept: */*
> Content-Length: 6
> Expect: 100-continue
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
* Mark bundle as not supporting multiuse
< HTTP/1.1 405 Method Not Allowed
< Date: Fri, 26 Feb 2021 06:39:04 GMT
< Server: Apache/2.4.38 (Raspbian)
< Allow: GET,POST,OPTIONS,HEAD
< Content-Length: 299
< Content-Type: text/html; charset=iso-8859-1
< 
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>405 Method Not Allowed</title>
</head><body>
<h1>Method Not Allowed</h1>
<p>The requested method PUT is not allowed for this URL.</p>
<hr>
<address>Apache/2.4.38 (Raspbian) Server at raspberrypi Port 81</address>
</body></html>
* Connection #0 to host raspberrypi left intact
 






-----------------
stefan-eibl.de



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
RegEx
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 09.06.2007
Mitteilungen: 41
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, vom Themenstarter, eingetragen 2021-02-27


Hallo Leute, dieser Mist hat mir keine Ruhe gelassen und jetz hab ich es endlich geschafft.
hab grade bisschen meine google Suchbegriffe geaendert, und schon habe ich neue Ideen vorgeschlagen bekommen.
man braucht also dieses komische Webdav Modul. davon bin ich bisher ausgegangen dass man das eben nicht unbedingt braucht weil nur Schnickschnack Luxusfunktion. aber anscheinend braucht man das eben doch zwingend bei fileuploads. anscheinend ist nicht jeder put automatisch auch ein fileupload, da bin ich auch falsch davon ausgegangen. soso, wieder was gelernt.
also falls es jemand interessiert und nachbasteln will:
bash
a2enmod dav
a2enmod dav*
systemctl restart apache2
service apache2 force-reload
xml
root@raspberrypi:/etc/apache2/sites-available # cat ../sites-enabled/0raspberrypi.conf 
<VirtualHost *:80>
  ServerName raspberrypi
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/raspberrypi/
 
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
  <Directory "/var/www/raspberrypi">
Dav On
      <LimitExcept GET POST PUT DELETE >
        deny from all
      </LimitExcept>
  </Directory>
</VirtualHost>
 
root@raspberrypi:/etc/apache2/sites-available # 
 

dann klappt auch der fileupload:
bash
~$ curl   --upload-file hallo.html -v http://raspberrypi
*   Trying x.x.x.x:80...
* TCP_NODELAY set
* Connected to raspberrypi (x.x.x.x) port 80 (#0)
> PUT /hallo.html HTTP/1.1
> Host: raspberrypi
> User-Agent: curl/7.68.0
> Accept: */*
> Content-Length: 6
> Expect: 100-continue
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
* Mark bundle as not supporting multiuse
< HTTP/1.1 201 Created
< Date: Sat, 27 Feb 2021 07:00:54 GMT
< Server: Apache/2.4.38 (Raspbian)
< Location: http://raspberrypi/hallo.html
< Content-Length: 264
< Content-Type: text/html; charset=ISO-8859-1
< 
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>201 Created</title>
</head><body>
<h1>Created</h1>
<p>Resource /hallo.html has been created.</p>
<hr />
<address>Apache/2.4.38 (Raspbian) Server at raspberrypi Port 80</address>
</body></html>
* Connection #0 to host raspberrypi left intact
~$

und man sieht dass die uploaded html seite jetz online is:
bash
curl -v http://raspberrypi/hallo.html
*   Trying x.x.x.x:80...
* TCP_NODELAY set
* Connected to raspberrypi (x.x.x.x) port 80 (#0)
> GET /hallo.html HTTP/1.1
> Host: raspberrypi
> User-Agent: curl/7.68.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sat, 27 Feb 2021 07:11:18 GMT
< Server: Apache/2.4.38 (Raspbian)
< Last-Modified: Sat, 27 Feb 2021 07:00:54 GMT
< Accept-Ranges: bytes
< Content-Length: 6
< Content-Type: text/html
< 
hallo
* Connection #0 to host raspberrypi left intact
 

🙂



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 370
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2021-02-27


Hallo RegEx,

ein Server macht erst einmal gar nichts. Er steht im Raum und nimmt Anfragen entgegen. Natürlich brauchst du eine Implementierung, die in deinem Fall den Fileupload behandelt. Du hättest auch einen Endpunkt implementieren können, der Dateien entgegennimmt und damit was auch immer macht. Aber ohne Implementierung geht es nun mal nicht.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
RegEx
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 09.06.2007
Mitteilungen: 41
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2021-03-01


und warum geht delete aber nicht?
das put uploaded file kann ich mit delete aber nicht loeschen.
so wie es oben steht muesste delete doch auch allowed sein in der config.
bash
~$ curl -X DELETE http://raspberrypi/hallo.html
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>405 Method Not Allowed</title>
</head><body>
<h1>Method Not Allowed</h1>
<p>The requested method DELETE is not allowed for this URL.</p>
<hr>
<address>Apache/2.4.38 (Raspbian) Server at raspberrypi Port 80</address>
</body></html>
~$



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
RegEx
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 09.06.2007
Mitteilungen: 41
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2021-03-01


habs grade entdeckt, da hat das DELETE gefehlt in der apache.conf:
xml
<Location "/">
    AllowMethods GET PUT DELETE
</Location>

jetz gehts auch mit delete.
das is schonein ziemlich unuebersichtliches Chaos Gemurkse mit diesen apache config files. und bei den befehlen weiss man auch nie welcher jetz wirklich alles uebernimmt, a2enmod apache2 reload, apache force-reload, apache restart. mannomann.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 2000
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2021-03-01


2021-03-01 09:57 - RegEx in Beitrag No. 4 schreibt:
und bei den befehlen weiss man auch nie welcher jetz wirklich alles uebernimmt, a2enmod apache2 reload, apache force-reload, apache restart. mannomann.

Warum schaust du nicht einfach mal in die Doku, um dieser Unsicherheit ein Ende zu bereiten?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
RegEx
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 09.06.2007
Mitteilungen: 41
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2021-03-01


weil ich die Erfahrung gemacht habe, dass es halt manchmal doch nicht das gemacht hat was es sollte.
kann aber auch sein, dass ich da durch das ewige Rumprobieren auch andere Fehler drin hatte, die da reingegraetscht haben.
gut, ich les mir dann in Ruhe nochmal durch was diese Befehle machen, obwohl sie eigentlich selbsterklaerend benannt sind.




Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
RegEx hat die Antworten auf ihre/seine Frage gesehen.
RegEx wird per Mail über neue Antworten informiert.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]