Thanks George, no, I have no idea because there is no line of code in Rivet returning a 405 status, for what I can see.
The output produced by curl the 'Allow' line is bothering me. Where Apache is getting the list of available methods from? -- Massimo fismed44:~/rivetweb> curl -i -X DELETE -H 'Content-Type: application/x-rivet-tcl' http://localhost/~manghi/index.rvt HTTP/1.1 405 Method Not Allowed Date: Fri, 17 May 2013 09:09:14 GMT Server: Apache/2.2.22 (Ubuntu) Allow: POST,OPTIONS,GET,HEAD Vary: Accept-Encoding Content-Length: 316 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 DELETE is not allowed for the URL /~manghi/index.rvt.</p> <hr> <address>Apache/2.2.22 (Ubuntu) Server at localhost Port 80</address> </body></html> -- Massimo On 05/17/2013 10:24 AM, Georgios Petasis wrote: > I am not sure this is a configuration problem. I have created the > following php file (method.php), in the same directory as the rivet tcl > script: > > <?php > print_r($_SERVER); > ?> > > Executing "curl -i -X DELETE > http://localhost/webservices/AnnotationTool/method.php" (note that I > haven't specified a content type, as rivet requires), returns: > > HTTP/1.1 200 OK > Date: Fri, 17 May 2013 08:20:38 GMT > Server: Apache/2.4.4 (Fedora) OpenSSL/1.0.1e-fips PHP/5.4.14 Rivet/2.1.2 > mod_perl/2.0.8-dev Perl/v5.16.3 > X-Powered-By: PHP/5.4.14 > Content-Length: 1134 > Content-Type: text/html; charset=UTF-8 > > Array > ( > [UNIQUE_ID] => UZXoVj4B1LMAAAdMQBkAAAAC > [HTTP_USER_AGENT] => curl/7.27.0 > [HTTP_HOST] => localhost > [HTTP_ACCEPT] => */* > [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin > [SERVER_SIGNATURE] => > [SERVER_SOFTWARE] => Apache/2.4.4 (Fedora) OpenSSL/1.0.1e-fips > PHP/5.4.14 Rivet/2.1.2 mod_perl/2.0.8-dev Perl/v5.16.3 > [SERVER_NAME] => localhost > [SERVER_ADDR] => ::1 > [SERVER_PORT] => 80 > [REMOTE_ADDR] => ::1 > [DOCUMENT_ROOT] => /var/www/html/intellitech > [REQUEST_SCHEME] => http > [CONTEXT_PREFIX] => /webservices > [CONTEXT_DOCUMENT_ROOT] => /opt/WebServices > [SERVER_ADMIN] => root@localhost > [SCRIPT_FILENAME] => /opt/WebServices/AnnotationTool/method.php > [REMOTE_PORT] => 50768 > [GATEWAY_INTERFACE] => CGI/1.1 > [SERVER_PROTOCOL] => HTTP/1.1 > [REQUEST_METHOD] => DELETE > [QUERY_STRING] => > [REQUEST_URI] => /webservices/AnnotationTool/method.php > [SCRIPT_NAME] => /webservices/AnnotationTool/method.php > [PHP_SELF] => /webservices/AnnotationTool/method.php > [REQUEST_TIME_FLOAT] => 1368778838.542 > [REQUEST_TIME] => 1368778838 > ) > > So, php in the same directory works, rivet returns a 405 error. > > Any ideas? > > George > > > Στις 17/5/2013 10:55, ο/η Georgios Petasis έγραψε: >> I tried with this: >> >> <Directory /opt/WebServices> >> DirectoryIndex index.html index.htm index.shtml index.cgi index.tcl >> index.rvt >> >> AllowOverride None >> Order allow,deny >> Allow from all >> Require all granted >> # Require method GET HEAD POST PUT DELETE OPTIONS TRACE >> <Limit GET POST PUT DELETE> >> Order allow,deny >> Allow from all >> </Limit> >> <IfModule mod_security2.c> >> SecRuleInheritance Off >> </IfModule> >> </Directory> >> >> Again, 405 Method Not Allowed. GET, POST, PUT work as usual. >> >> George >> >> Στις 17/5/2013 01:47, ο/η Jeff Lawson έγραψε: >>> Try adding something like this to the appropriate scope in your >>> Apache config: >>> >>> <Limit GET POST PUT DELETE> >>> Order allow,deny >>> Allow from all >>> </Limit> >>> >>> >>> >>> >>> On Thu, May 16, 2013 at 4:50 PM, Massimo Manghi <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> likewise there is no 405 or HTTP_METHOD_NOT_ALLOWED reference in >>> Rivet C code >>> >>> -- Massimo >>> >>> >>> On 05/16/2013 11:26 PM, Georgios Petasis wrote: >>> >>> If it is a configuration problem, what may be wrong? >>> >>> There is not a single reference in all apache 2.4 >>> configuration files >>> about the methods. Only one exception, the user directories, >>> where the configuration is: >>> >>> <IfModule mod_userdir.c> >>> UserDir disabled >>> </IfModule> >>> >>> # >>> # Control access to UserDir directories. The following is an >>> example >>> # for a site where these directories are restricted to read-only. >>> # >>> <Directory "/home/*/public_html"> >>> AllowOverride FileInfo AuthConfig Limit Indexes >>> Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec >>> Require method GET POST OPTIONS >>> </Directory> >>> >>> Is DELETE in apache 2.4 disabled by default? I looked into >>> documentation >>> and some forums, but couldn't find anything useful. >>> Tomorrow I will test if php can accept a DELETE request... >>> >>> George >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> <mailto:[email protected]> >>> For additional commands, e-mail: [email protected] >>> <mailto:[email protected]> >>> >>> >> > -- -- Massimo Manghi Dipartimento di Neuroscienze Unità di Biofisica e Fisica Sanitaria via Volturno 39 43125 Parma --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
