Paketmanager M1.1 Rc1

Started by Hondo, October 05, 2005, 02:27:40 PM

Previous topic - Next topic

Hondo

Hi,
mein Paketmanager sagt mir wenn ich ein Mod installieren möchte dass mein Paketverzeichnis nicht schreibbar ist, was es definitiv aber ist. Mehr als 777 geht halt nicht.
Die genaue Meldung ist wie folgt:
QuoteSie können keine Pakete mehr runterladen, da das Paket Verzeichnis nicht beschreibbar ist!

Woran liegts?
Andreas

Daniel D.

Sind alle Dateien überschreibbar?

mediman

Bitte überprüfen, ob die im Package verzeichnis enthaltenen Dateien *.list ebenfalls beschreibbar sind 0666
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Hondo

Hi,
die einzelnen Packages sind ja zip bzw. tar dateien, die kann man nicht schreibbar machen.
installed.list war schreibbar (777) aber server.list nicht. Hab ich dann auch geändert und erneut versucht, aber mit dem gleichen Ergebnis und gleicher Fehlermeldung.

Welche Dateien sollten sonst noch beschreibbar sein? Was genau trag ich unter lokaler Pfad zum Forum ein? /forum hab ich eingetragen, im Unterverzeichnis forum hab ich meine Installation.

Gruß Andreas

Hondo

Hallo,
hier mal der für die Fehlermeldung verantwortliche Code-Teil:

if (!mktree($boarddir . '/Packages/temp', 0755))
{
deltree($boarddir . '/Packages/temp', false);
if (!mktree($boarddir . '/Packages/temp', 0777))
{
deltree($boarddir . '/Packages/temp', false);
packageRequireFTP($scripturl . '?action=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package'], array($boarddir . '/Packages/temp/delme.tmp'));

deltree($boarddir . '/Packages/temp', false);
if (!mktree($boarddir . '/Packages/temp', 0777))
fatal_lang_error('package_cant_download', false);
}
}


So wie ich das sehe liegt es an der Funktion mktree($boarddir . '/Packages/temp', 0755) die versucht ein Verzeichnis temp anzulegen. Wohl nur als Test ob beschreibbar.
In den involvierten Funktion in package-subs.php sind meine üblichen Verdächtigen die @ for den open, close, copy etc. Befehlen.
Dessen Einsatz sind doch abhängig der verwendeten PHP Version?!
Meine Version von PHP ist 4.4.0

Gruß Andreas

noex

Korrigiert mich wenn ich mich irre, aber das @ vor Funtkionsaufrufen unterdrückt doch nur die Fehlermeldungen!? Und dies ist soweit ich weiß nicht abhängig von der PHP Version.

Aber ich glaube du hast den Fehler schon gut eingegrenzt.
Bekommst du Fehler im Fehlerprotokoll?

Wie z.B.:
The script whose uid is *** is not allowed to access /pfad/zum/forum/ owned by uid *** in....

lg
noex
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Hondo

Hi,
denke habe den Fehler, Safe_mode ist lokal auf on, global aber auf off.
Werde das mal ändern und wieder berichten.

Danke für die Hilfe,
Andreas

Hondo

Hi,
ist wohl leider nicht möglich.
Wundere mich nur warum safe_mode global auf off steht??

Andreas

tutnixweh

Hallo,

ich blicke jetzt nicht mehr durch. Lokal funktioniert die Paketinstallation, im Netz nicht mehr. Ist es nun zwingend notwendig dass der safe_mode on sein muss? Bei mir wird der lokale Pfad irgendwie nicht erkannt. Ich lande immer wieder auf der Seite mit den ftp Zugangsdaten.

Hondo

Hallo,
ich denke dass für den Paketmanager safe_mod ausgeschaltet sein muss.
Bin mir ziemlich sicher.

Andreas

tutnixweh

danke erstmal für die info.

der safe_mode ist off. wenn ich nun ein mod installieren möchte kommt die maske mit den ftp zugangsdaten.
mehrere fragen:
1. muss ftp-server localhost oder mein ftp-zugang sein? ich habe hier irgwendwo gelesen dass dieser localhost sein sollte, was stimmt nun?
2. der lokale pfad stimmt laut smf nicht. das forum liegt im unterverzeichnis /forum. ich habe nun schon diverses probiert, /forum, /home/web0/html/forum, /html/forum, die repair_settings...funkioniert alles nicht. die fehlermeldung sagt immer No such file or directory. was muss hier hin?

Hondo

Hi,
du musst die Zugangsdaten verwenden die dein Provider dir gibt. Ist der FTP-Server localhost dann nimmst du den, ansonsten eben den der dir dein Provider zugeordnet hat.

Dein lokaler Pfad erfahrst du ebenfalls vom Provider oder aus der php.ini.
erstelle eine php-Datei und darin schreibst du: echo phpinfo();

Beim Ausführen dieser Datei wird die PHP.ini angezeigt.

Gruß Andreas

tutnixweh

#12
wieder danke,

klappt leider nicht. als zugangsdaten nehme ich die gleichen wie bei meinem ftp-client. der lokale pfad ist dergleiche wie unter document_root steht. er meckert immer dass er den pfad nicht finden kann. ich weiss nicht weiter...


update:

mmh, wenn der falsche ftp-server drinnen steht kommt die gleiche meldung. vielleicht ist es gar nicht der pfad sondern der ftp-server. gibt es eine bestimmte syntax die hier beachtet werden muss (ein ftp:// vorweg oder ähnliches)?

headdy

hab zum thema auch was... bin mir aber  nicht sicher obs wichtig ist...  aber ick schreibs mal:

mit dem paket manager war alles supi...  bis ich arcade aufspielen wollte auf 11rc1  das ging bis zum wollen sie installieren auch wenn 2 .f ehler da sind?? ( einer war in der subs und einer .....?? vergessen... ) naja ich sagte nein und seit dem kommt auch bei mir der nette spruch... vorher ging dat aber alles

Daniel D.

Das Arcade Mod kotzt mich langsam an, da es unter Umständen Fehler produziert die SMF nicht sehr gut tun.

dieter4

vllt solltet ihr den aus der mod-base nehemen, oder den autor überreden, die mod neu zu schreiben :-\

dkl

Hallo,

ich hatte das gleiche Problem und habe einfach im Verzeichnis "Packages" den Ordner "temp" von Hand angelegt.

Gruß,
Daniel

Trainspotter

Hallo!

Ich will mich mal hier anschließen:
Eine Frische SMF Installation 1.0.5 liegt vor und läuft auch 1A!

Safe_Mode ist auf On und das ganze läuft in einer suexec umgebung (Confixx).
SuexecUserGroup web3 web3. Demnach haben auch alle Dateien in meinem Ordner nen chown web3:web3

Problem:
Ich will einen Mod mit dem PaketManager installieren:

Fehlermeldungen liegen vor wie bei meinen Vorrednern:
Beim Versuch z.B. die Ultimate Shoutbox zu installieren kommt das hier:
2: fopen(): SAFE MODE Restriction in effect. The script whose uid is 1151 is not allowed to access /var/www/web3/html/xxx/smf/Packages/temp owned by uid 33
Datei: /var/www/web3/html/xxx/smf/Sources/Subs-Package.php
Zeile: 1476


UID 1151 ist web3
UID 33 ist www-data

drwxrwxrwx   3 web3 web3   4096 Jan  5 02:47 Packages
drwxr-xr-x   2 www-data www-data  4096 Jan  5 02:47 temp
-rw-r--r--   1 web3 web3 61027 Jan  3 22:16 Subs-Package.php


Ich kann den Ordner temp per hand auf web3:web3 setzen. Beim Versuch über den PacketManager wird er wieder zurück zu www-data:www-data gesetz.

Ich habe auch schon versucht den Safe_Mode = Off zu setzen. Vergebens.
Ich vermute mal das hier der suexec (Scripte werden unter Ihrem User ausgeführt) greift.
Auch habe ich versucht im vHost die SuexecUserGroup auf www-data:www-data zu setzen.

Vergebens!

Wer kann mir einen Tipp geben?
Ich habe endlich die Alternative für mich und viele ForenKunden gefunden um endlich das phpBB in die Tonne zu schmeissen und jetzt hapert es an sowas :(

Grüße
Matthias

mediman

Es gibt hier irgendwo von Unknown eine Datei "fix_ownership.php" oder son Krams.
Des Teil setzt zu nächst mal korrekt Rechte für die Dateien und es zeigt dir den Pfad den du nutzen müsstest, um im PM auch mit SuEXEC arbeiten zu können.

Wenn der Pfad z.b. /home/www/web3/html/forum ist, dann ist die Pfad für FTP ja normalerweise /forum.

Also
FTP-URL: ftp://deineseite.de
FTP-Pfad: /forum

Oft muss man aber

FTP-URL: ftp://deineseite.de
FTP-Pfad: ./html/forum

nutzen.

mediman
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Trainspotter

Hey Danke!

Jetzt muss ich nur noch an diese Datei rankommen. Die Suche im Board nach "fix_ownership.php" bringt mich u.a. zu einem 13 Seiten MörderThreat, wo von genau dieser Datei berichtet wird, aber nirgends steht wo und wie man sie bekommt :(

Wer sie hat -> immer her damit.

Ich habe in dem Zusammenhang auch ein Workaround gefunden, wo man /Packages/temp zwei mal anlegen muss und jedes mal den chmod 777 geben muss, wären mann ein neues Paket installiert. Naja - so richtig will das auch nicht..

Grüße
Matthias

Advertisement: