Page 1 of 1

DuckDB-, Django- und Apache2-Berechtigung in der Produktion verweigert

Posted: 24 Dec 2024, 20:36
by Guest
Ich habe ein Problem mit meiner duckdb-Datenbank, das ich wirklich nicht zu verstehen scheine.
Nachdem ich eine .db-Datenbank erstellt und in Apache2 abgelegt habe /Django webapp root und www-data Zugriff darauf und sein Verzeichnis gegeben habe, wird mir immer noch die Berechtigung verweigert.
Hier sind die seltsamen Teile:< /p>
  • I Ich erhalte den Berechtigungsfehler nicht, wenn ich die Verbindung herstelle, sondern nur im fetchdf()-Teil.

Code: Select all

con = duckdb(database='path/to/db.db',read_only=True)

P = con.execute('SELECT * FROM products LIMIT 1;')

p = p.fetchdf() # Here's where the error gets thrown

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
duckdb.duckdb.IOException: IO Error: Permission denied
  • Wenn ich denselben Python-Code mit den WWW-Daten ausführe, funktioniert alles gut. Auch in der Runserver-Situation funktioniert es problemlos. Es scheint, dass das Problem mit der Produktionsumgebung zusammenhängt.
Ich vermute, dass duckdb Zugriff auf ein bestimmtes Verzeichnis oder eine bestimmte Datei haben möchte, die ich in der verfügbar machen muss Apache2-Konfiguration, aber ich und AI wussten nicht, was oder wo.
Irgendwelche Hilfe?
Ich habe versucht, das temp_directory zu ändern, Home-Verzeichnis, Erweiterungsverzeichnis und geheimes_Verzeichnis in ein Verzeichnis innerhalb des Webapp-Stammverzeichnisses.
Ich habe versucht, die Datenbankdatei in ein anderes Verzeichnis zu verschieben und ihr auch in der .conf die Apache-Berechtigung erteilt.