OXID eSales und Dateirechte bei der Setup?!

Hi,

habe mir den Kostenfreien Oxid eSales Shop gedownloadet und versuche diesen zuinstallieren. Allerdings scheiter ich schon bei der Installation.

Die rechte sollen wie folgt verteilt werden:

* /config.inc.php  777
* /.htaccess  777
* /out/pictures/  777
* /out/media/   777
* /out/basic/src/  777
* /log/  777
* /tmp/  777

dennoch steht die Dateizugriffsrechte abfrage auf Rot.
Mach ich was falsch? Hab ich was übersehen?

Wär schön wenn mir da jemand helfen könnte.
Bedanke mich.

Hab das selbe Problem seit gerade eben nach dem Update auf 4.3 - deswegen gehe ich auch mal davon aus, dass du die 4.3er Version installiert hast oder?

Hallo

ich habe ebenfalls das Problem mit Dateirechten. Der Oxid 4.3.0 soll in ein Unterverzeichnis installiert werden. Es erscheint die Fehlermeldung:

Warning: fopen(/oxpec_class_file_paths.php) [function.fopen]: failed to open stream: Permission denied in ..... /core/oxutils.php on line 545

Soweit ich das in der oxutils.php sehen konnte, wird auf das Installationsverzeichnis zugegriffen. Dieses steht normalerweise in der config.inc.php $this->sCompileDir. Nur das dort erst nach dem Setup ein Wert steht.
Trägt man den Installationspfad in der config.inc.php ein, so startet das Setup. Das ist nicht im Sinne des Erfinders.
Im übrigen muss die .htaccess weltweite Schreibrechte besitzen, welches vor der 4.3.0 nicht der Fall war, also auch darauf achten.

Nachtrag: Nachdem ich auf den beschriebenen Weg den Shop installieren konnte, bekomme ich im Adminbereich wiederum den Fehler das die Dateiberechtigung fehlerhaft sei. Das verschwindet, wenn die config.inc.php auf nicht schreiben gesetzt wird.
Das ganze ist für unerfahren Benutzer sehr verwirrend, da nicht ersichtlich ist was denn zu tun ist, bzw. wo der Fehler liegt.

[QUOTE=redone;28469]Das verschwindet, wenn die config.inc.php auf nicht schreiben gesetzt wird.[/QUOTE]

Bei mir nicht!

Bei lokaler “Installation” auf MAMP keine Probleme mit 4.3 Setup

Beim Provider:

  1. Dateirechte: nach manueller Anlage einer .htaccess Datei mod 777 und Korrektur der Berechtigungen (siehe xenonbcc) erledigt
  2. mod_rewrite: obwohl definitiv mod_rewrite on ist, war der check negativ. Workaround: vorübergehend /core/oxsysrequirements.php in Z.282 “$iModStat = 2;” eingefügt und check somit umgangen. Vorsicht, ich habe vorher sehr genau geprüft, dass mod_rewrite auch wirklich aktiv ist.

Installation danach fast erfolgreich verlaufen. “.htaccess” wurde nicht geschrieben.
Habe die .htaccess der lokalen Installation kopiert und RewriteBase angepasst.
Der Shop läuft nun unter 4.3

Der ganze Installations-/Setup-Prozess klappte mit 4.2. besser. Aber vielleicht korrigiert ja OXID noch die ein oder andere Kleinigkeit.

Oxid 4.3.0 Installation lief auf localhost (XAMPP) problemlos durch.

Systemvoraussetzungs-Check zeigte jedoch folgende Fehler:

  1. cURL -> Lösung: in \php\php.ini > extension=php_curl aktivieren ( ; entfernen)
  2. Dateizugriffsrechte -> Lösung: im Shopverzeichnis die config.inc.php auf schreibgeschützt setzen.
  3. Apache mod_rewrite Modul -> Lösung: alte .htaccess getestet mit mod_rewrite_module_is=1 (geht nicht) statt 1 muss hier on stehen.

[QUOTE=Earlybird;28563]2. Dateizugriffsrechte -> Lösung: im Shopverzeichnis die config.inc.php auf schreibgeschützt setzen.[/QUOTE]

Also Berechtigungen auf 555 setzen?

[QUOTE=miedsegadse;28586]Also Berechtigungen auf 555 setzen?[/QUOTE]

Ich teste erstmal lokal unter Windows auf XAMPP. Da wird bei Eigenschaften > Schreibschutz nur 1 Häckchen gesetzt.

Auf einem LINUX Server wären die Berechtigungen für alle 3 auf “nur lesen und ausführen” gesetzt dann 555.

Präventiever Hinweis:
Updates und Upgrades niemals sofort auf einem Produktiv-System installieren. Immer erst auf einem Testserver ausgiebig prüfen ob alles korrekt funktioniert (Fremd-Module, Templates uvm.) - sonst könnte der Shop für längere Zeit geschlossen bleiben bis ein Update von einem Drittanbieter kommt.

[B]Hi,[/B]
for windows server 2003 Ent. R2 SP2 x64 with IIS6 x64 (in x32 mode) you have ;
1.
for url_rewrite support to [U]extract[/U] the dll, install and [U]configure[/U] the ISAP from Iirf2.1-x32.msi (do not install from x64 - that does not work under IIS x64 in x32 mode and the x32 install package is not installable)

than in oxsysrequirements.php on line 383 you have to change the source code like that:
$iModStat = 2;//( strpos( $sOut, ‘mod_rewrite_on’ ) !== false ) ? 2 : 0;
} else {
if ( function_exists( ‘apache_get_modules’ ) ) {
// it does not assure that mod_rewrite is enabled on current host, so setting 1
$iModStat = in_array( ‘mod_rewrite’, apache_get_modules() ) ? 1 : 0;
} else {
$iModStat = -1;
}
}
return $iModStat;

then from line 229 on you have to change the source like that:
public function checkServerPermissions( $sPath = null, $iMinPerm = 777 )
{

    $sVerPrefix = '';
    clearstatcache();
	
    $sPath = $sPath ? $sPath : getShopBasePath();
    // special config file check
    $sFullPath = $sPath . "config.inc.php";
    if ( !is_readable( $sFullPath ) ||
         ( isAdmin() && is_writable( $sFullPath ) ) ||
         ( !isAdmin() && !is_writable( $sFullPath ) )
       ) {
        return 2;//0;
    }

    $sTheme = 'basic';
    $sTmp = "$sPath/tmp$sVerPrefix/";
    if (class_exists('oxConfig')) {
        $sTheme  = oxConfig::getInstance()->getConfigParam('sTheme');
        $sCfgTmp = oxConfig::getInstance()->getConfigParam('sCompileDir');
        if (strpos($sCfgTmp, '<sCompileDir_') === false) {
            $sTmp = $sCfgTmp;
        }
    }

    $aPathsToCheck = array(
                        $sPath."out/pictures{$sVerPrefix}/",
                        $sPath."out/media/",
                        $sPath."out/$sTheme/src/",
                        $sPath."log/",
                        $sTmp
                        );
    $iModStat = 2;
    $sPathToCheck = reset( $aPathsToCheck );
    while ( $sPathToCheck ) {
        // missing file/folder?
        if ( !file_exists( $sPathToCheck ) ) {
            $iModStat = 2;//0;
            //break;
        }

        if ( is_dir( $sPathToCheck ) ) {
            // adding subfolders
            $aSubF = glob( $sPathToCheck."*", GLOB_ONLYDIR );
            if (is_array($aSubF)) {
                foreach ( $aSubF as $sNewFolder ) {
                    $aPathsToCheck[] = $sNewFolder . "/";
                }
            }
        }

        // testing if file permissions >= $iMinPerm
        //if ( ( (int) substr( decoct( fileperms( $sFullPath ) ), 2 ) ) < $iMinPerm ) {
        if ( !is_readable( $sPathToCheck ) || !is_writable( $sPathToCheck ) ) {
            $iModStat = 2;//0;
            //break;
        }

        $sPathToCheck = next( $aPathsToCheck );
    }

    return $iModStat;
}

then you have to set the sharing and websharing permissions for the windows folders in OUT

after that you have to chabge the source code in oxsetup.php on line 1766 to that:
// was unable to update htaccess file for mod_rewrite check
if ( $blHtaccessUpdateError && $sModule == ‘server_permissions’) {
$sClass = $oSetup->getModuleClass( 2 );
$blContinue = true;//false;

After you fulfilled that, the setup under IIS6 works(if you change the sql scripts to the right windows quotation mark manner, which must inverse (’ “) to (” ') !

Best regards
[B]Axel Bangert - Herzogenrath 01.2012[/B]