eacces fehler

Alles, was den Apache betrifft, kann hier besprochen werden.

eacces fehler

Postby mgdtgd » 19. August 2006 14:17

Ich spiele grade ein bischen mit CGI Scripts in Ruby rum und dafür einen Apache lokal installiert (Windows XP pro). Ziel des Sache soll ein Wiki werden, das Artikel in Textdateien speichert (statt in einer SQL Datenbank). Nichts großartiges also.

Ich bin also irgendwann zum Punkt gekommen, an dem es möglich werden sollte die Artikel online zu editieren. Dazu hab ich in meinem Script eine Funktion, die die Datei des Artikels löscht und dann neu anlegt, mit dem geänderten Text als Inhalt.
Wens interessiert, hier ist der Code (aber daran kanns eigentlich nicht liegen):

Code: Select all
def ok
 cgi=CGI.new("html4")
 if File.exist?($textpfad+cgi["datei"].to_s)
 File.delete($textpfad+cgi["datei"].to_s)
 end
 File.open($textpfad+cgi["datei"].to_s, File::CREAT|File::WRONLY) do |datei|
  datei.print(cgi.params["text"].to_s)
 end
 cgi.out{
  cgi.html{
   cgi.head{cgi.meta("http-equiv"=>"refresh", "content"=>"5; URL=wiki.rb?datei=#{cgi['datei'].to_s}")}+
   cgi.body{"rischtisch"+cgi.br+"<a href=\"./wiki.rb\">redirect</a> in 5 sekunden..."+cgi.br+$textpfad+cgi["datei"].to_s}}}
end


Das Problem ist, dass das ganze nicht funktioniert. Apache sagt mir:
[Sat Aug 19 15:01:37 2006] [error] [client 127.0.0.1] Premature end of script headers: edit.rb, referer: http://localhost/cgi-bin/wiki.rb?datei= ... ;edit=true
[Sat Aug 19 15:01:37 2006] [error] [client 127.0.0.1] C:/Programme/Apache Software Foundation/Apache2.2/cgi-bin/edit.rb:18:in `delete': Permission denied - ../htdocs/text/ (Errno::EACCES)\r, referer: http://localhost/cgi-bin/wiki.rb?datei= ... ;edit=true
[Sat Aug 19 15:01:37 2006] [error] [client 127.0.0.1] \tfrom C:/Programme/Apache Software Foundation/Apache2.2/cgi-bin/edit.rb:18:in `ok'\r, referer: http://localhost/cgi-bin/wiki.rb?datei= ... ;edit=true
[Sat Aug 19 15:01:37 2006] [error] [client 127.0.0.1] \tfrom C:/Programme/Apache Software Foundation/Apache2.2/cgi-bin/edit.rb:41\r, referer: http://localhost/cgi-bin/wiki.rb?datei= ... ;edit=true
[Sat Aug 19 15:01:37 2006] [debug] mod_deflate.c(447): [client 127.0.0.1] Zlib: Compressed 0 to 2 : URL /cgi-bin/edit.rb, referer: http://localhost/cgi-bin/wiki.rb?datei= ... ;edit=true


Er meint also irgendwie, dass mein Script nicht die Rechte hat um da Dateien zu löschen. Jedoch hat "Jeder" auf den betreffenden Ordner Vollzugriff. Neue Dateien erstellen geht. Dateien im cgi-bin Ordner löschen geht auch.

Da es ja eigentlich nicht an der Windows Dateisystemgeschichte liegen kann (Jeder darf ja alles) hab ich einen Fehler in meiner Apache Konfiguration vermutet. Deswegen hab ich auch mal nen anderen Server ausprobiert (Xerver), aber da hat er den gleichen Fehler produziert.

Was muss ich tun damit meine Scripts Dateien löschen können?
mgdtgd
 
Posts: 3
Joined: 19. August 2006 13:50

Return to Apache

Who is online

Users browsing this forum: No registered users and 234 guests