Ergebnis 1 bis 14 von 14

Thema: Gelöst: Berechtigungsprobleme bei Aufruf von contao-manager

  1. #1
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Gesicht zeigt die Zunge Gelöst: Berechtigungsprobleme bei Aufruf von contao-manager

    Situation: habe eine Ubuntu-VM mit aktuellem Apache2 und PHP 7.2.16 für eine lokale Installation aufgesetzt, die phpinfo lässt sich bereits korrekt aufrufen (siehe Anhang, ging nur als ZIP). Alle Installationen und Dateien sind tagesaktuell.

    Problem: wenn ich die /web/contao-manager.phar.php aufrufe, bekomme ich Probleme mit offenbar Berechtigungen. Entweder sie sind zu streng (ERROR 500: Cannot rename "/tmp/.htaccessniHURY" to "/var/www/html/contao-manager/.htaccess") oder sie sind nach chown 700 zu lasch (Installation aus Sicherheitsgründen verweigert, weil das Verzeichnis beschreibbar sei). Ich habe daraufhin mal versucht, die Rechte in /var/www zurückzusetzen anhand dieser Beschreibung.

    Das Ergebnis ist folgendes:

    Code:
    ls -la /var/www/html
    insgesamt 31
    drwxrwsr-x 4 www-data www-data  4096 Mär 17 17:55 .
    drwxrwxr-x 3 root     root      4096 Mär 17 17:10 ..
    drw-r--r-- 2 www-data www-data  4096 Mär 17 18:33 contao-manager
    -rw-rw-r-- 1 www-data www-data    21 Mär 17 17:25 phpinfo.php
    drwxrwxr-x 2 www-data www-data  4096 Mär 17 17:55 web
    Code:
    sudo ls -la /var/www/html/contao-manager
    insgesamt 16
    drw-r--r-- 2 www-data www-data 4096 Mär 17 18:33 .
    drwxrwsr-x 4 www-data www-data 4096 Mär 17 17:55 ..
    -rw-rw-r-- 1 www-data www-data  142 Mär 17 18:33 .htaccess
    -rw-rw-r-- 1 www-data www-data   37 Mär 17 17:55 users.json
    (* ohne sudo scheitert die Abfrage an der fehlenden Berechtigung)

    Auszug aus der unveränderten apache2.conf:
    Code:
    <Directory />
    	Options FollowSymLinks
    	AllowOverride None
    	Require all denied
    </Directory>
    
    <Directory /usr/share>
    	AllowOverride None
    	Require all granted
    </Directory>
    
    <Directory /var/www/>
    	Options Indexes FollowSymLinks
    	AllowOverride None
    	Require all granted
    </Directory>
    Hat jemand eine Idee, wie ich die Rechte korrekt setzen kann, damit die Installation durch den contao-manager funktioniert?

    Vielen Dank im Voraus!
    Angehängte Dateien Angehängte Dateien
    Geändert von Elektroschrott (03.04.2019 um 20:10 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    Verzeichnisse MÜSSEN "ausführbar" sein, also das x Bit gesetzt haben. versuch' mal ein `chmod 755 contao-manager` - wenn das immer noch als "zu viel" Schreibrecht bemängelt wird gib das Verzeichnis (chown) einem anderen user oder setzte die Rechte auf 555. Dann braucht's auch kein sudo zum Lesen.

  3. #3
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Standard chmod 755 und 555 sind lt. contao-manager immer noch nicht streng genug...

    Vielen Dank, leider brachte weder das Setzen aller Rechte auf Dateien und Verzeichnisse mit 755 noch mit 555 den gewünschten Effekt. In beiden Fällen meckert contao-manager, die Verzeichnisse seien beschreibbar. Hier die aktuelle Situation:

    Stammverzeichnis:
    Code:
    drwxr-sr-x 4 www-data www-data     4096 Mär 17 21:49 .
    drwxrwxr-x 3 root     root         4096 Mär 17 17:10 ..
    drwxr-sr-x 2 www-data www-data     4096 Mär 17 21:49 contao-manager
    -rwxr-xr-x 1 ubuntu   ubuntu   10398406 Mär 17 17:48 contao-manager.phar.php
    -rwxr-xr-x 1 www-data www-data       21 Mär 17 17:25 phpinfo.php
    drwxr-xr-x 2 www-data www-data     4096 Mär 17 17:55 web
    Verzeichnis contao-manager:
    Code:
    drwxr-sr-x 2 www-data www-data 4096 Mär 17 21:49 .
    drwxr-sr-x 4 www-data www-data 4096 Mär 17 21:49 ..
    -rwxr-xr-x 1 www-data www-data  142 Mär 17 21:49 .htaccess
    -rwxr-xr-x 1 www-data www-data   37 Mär 17 21:49 users.json
    Verzeichnis web:
    Code:
    drwxr-xr-x 2 www-data www-data     4096 Mär 17 17:55 .
    drwxr-sr-x 4 www-data www-data     4096 Mär 17 21:49 ..
    -rwxr-xr-x 1 www-data www-data 10398406 Mär 17 17:48 contao-manager.phar.php
    Btw: die php liegt im Unterverzeichnis web (als auch im root-Verzeichnis, was aber keinen Unterschied bzgl. Fehlermeldung macht). Meines Wissens soll das Verzeichnis web zum Rootverzeichnis geändert werden, was aber irgendwie auch nicht klappte. Geändert hatte ich die Pfade in den beiden Dateien /etc/apache2/sites-available/000-default.conf und /etc/apache2/apache2.conf.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.099
    Partner-ID
    10107

    Standard

    Zitat Zitat von Elektroschrott Beitrag anzeigen
    Meines Wissens soll das Verzeichnis web zum Rootverzeichnis geändert werden, was aber irgendwie auch nicht klappte.
    Du musst sicherstellen, dass das korrekt funktioniert. Andernfalls kannst du Contao und den Contao Manager nicht verwenden.

  5. #5
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    Zitat Zitat von Elektroschrott Beitrag anzeigen
    Geändert hatte ich die Pfade in den beiden Dateien /etc/apache2/sites-available/000-default.conf und /etc/apache2/apache2.conf.
    Nach solchen Änderung muss der Apache neu gestartet werden (was aber spätestens beim Reboot automatisch passiert).

    Etwas irritierend finde ich, dass Du die contao-manager.phar.php zweimal hast, so weißt Du ja nicht eindeutig, welche der Server ausliefert bzw. Ob Dein Konfigurieren des ServerRoot geklappt hat. Leg zu Testzwecken eine index.html in Dein /var/www/html/web und lass das DocumentRoot auf genau dieses Verzeichnis zeigen. Wenn DAS dann klappt (= genau DIE index.html angezeigt wird OHNE das im URL "/web" eingegeben werden muss), kannst Du Dich um die Rechte kümmern...

  6. #6
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Standard

    Vielen Dank für die Hinweise, werde ich in den kommenden Tagen mal probieren. Da die phpinfo.php aufrufbar ist, befinde ich mich noch im Stammverzeichnis, aber beim Wechsel werde ich das mit einer index.html mal überprüfen. Den Apache-Server hatte ich jedes Mal neu gestartet, das war mir soweit klar. Ich muss zunächst nochmal versuchen, das ins Unterverzeichnis /web umzubiegen. Muss doch irgendwie zu schaffen sein.
    Nebenbei: im Grunde würde ich die Sicherheitsabfrage gerne ganz unterdrücken, da ich das hier nur lokal zu Testzwecken laufen lassen werde. Aber vermutlich gibts dazu bewusst wohl keine Möglichkeit...

  7. #7
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Standard

    Habe jetzt in /etc/apache2/sites-available/000-default.conf das Verzeichnis auf /var/www/html/web umgebogen und den apache-service neu gestartet. Berechtigungen habe ich unberührt gelassen (siehe Post oben).
    Der Browser öffnet jetzt korrekt das Verzeichnis /web als root-Verzeichnis. Heißt: unter IP/contao-manager.phar.php wird die installations-php im Verzeichnis /web erreicht und gestartet.
    Aber leider der gleiche Fehler:
    ERROR 500 SICHERHEITSWARNUNG !!! Das Konfigurations-Verzeichnis ist ungeschützt
    Hab jetzt auch keine Idee...

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.099
    Partner-ID
    10107

    Standard

    Warum machst du das über die IP statt einer Domain?

  9. #9
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Warum machst du das über die IP statt einer Domain?
    Keine Ahnung, macht das einen Unterschied? Durch ifconfig erhielt ich halt die IP und der Aufruf der PHP scheint auch zu funktionieren... Wenn ich den Hostname statt der IP im Browser eingebe, bekomme ich 404 (Server läuft in einer ubuntu-VM).

    Nachdem das Projekt mit der VM nicht klappen wollte, habe ich es testweise jetzt doch mit XAMPP probiert, was für mich Neuland war. Und siehe, unter Windows 10 startet die Installation sowohl mit dem aktuellen XAMPP, als auch mit dem aktuellen Contao 4.7, die ja über die PHP installiert wird (Anleitung siehe unten im Beitrag). Allerdings bricht die Installation (mit Admin-Rechten) nach einigen Minuten ab mit der Meldung: "Installing Composer Dependencies: Console task terminated! The background task has stopped unexpectedly. Please check the console protocol."

    In der composer-install.out.log findet sich folgender Eintrag:

    Code:
    Loading composer repositories with package information
    Installing dependencies from lock file
    Nothing to install or update
    Generating optimized autoload files
    contao/manager-plugin: Generating plugin class...
    
    In Filesystem.php line 289:
      Cannot rename "D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\PluD  
      57F.tmp" to "D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\Compos  
      er/../PluginLoader.php".
    In den abgesicherten Modus komme ich über den Browser übrigens, aber auch dort scheitern weitere Installationsaufgaben bzw. Aktualisierungen.



    So hatte ich die Installation über XAMPP durchgeführt:
    1. Installation wie hier beschrieben (Schritt 1- 4): https://community.contao.org/de/show...l=1#post442677
    2. Umstellen von Port 80 auf Port 81, wie hier beschrieben (Änderung der Variable Listen in httpd.conf von 80 auf 81): https://www.rhein-main-experten.de/x...ren-windows-10
    3. Änderung des Stammverzeichnisses für Apache (httpd.conf) und doc_root in der PHP.ini nach D:\XAMPP\htdocs\contao\web. Der Eintrag in der php.ini scheint aber keine Auswirkungen bei der Installation zu haben.
    4. Starten von XAMPP als Admin und Aufruf von http://localhost:81/contao-manager.phar.php
    Geändert von Elektroschrott (30.03.2019 um 20:18 Uhr)

  10. #10
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Standard

    Der Aufruf über die Konsole ergibt ein ähnliches Bild:

    Code:
    D:^\XAMPP^\php^\php.exe "-q" "D:/XAMPP/htdocs/contao/web/contao-manager.phar.php" "composer" "install" "--prefer-dist" "--no-dev" "--no-progress" "--no-suggest" "--no-ansi" "--no-interaction" "--optimize-autoloader" 2>&1
    Loading composer repositories with package information
    Installing dependencies from lock file
    Nothing to install or update
    Generating optimized autoload files
    contao/manager-plugin: Generating plugin class...
    
    In Filesystem.php line 289:
    
      Cannot rename "D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\PluF859.tmp" to "D:\XAMPP\htdocs\contao\vend
      or\contao\manager-plugin\src\Composer/../PluginLoader.php".
    
    
    install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...
    Die temporären src\PluF***.tmp existieren übrigens, nur kommt mir der Zielpfad sehr komisch vor (\ und / vertauscht).
    Gleiches Bild übrigens, wenn ich über D:/XAMPP/php/php.exe und/oder mit Admin-Rechten die Konsole aufrufe...

    Mit Schalter -v erfolgen zusätzliche Angaben, die mir aber auch nicht weiterhelfen:

    Code:
    In Filesystem.php line 289:
    
      [Symfony\Component\Filesystem\Exception\IOException]
      Cannot rename "D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\PluC5B6.tmp" to "D:\XAMPP\htdocs\contao\vend
      or\contao\manager-plugin\src\Composer/../PluginLoader.php".
    
    
    Exception trace:
     () at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/filesystem/Filesystem.php:289
     Symfony\Component\Filesystem\Filesystem->rename() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/filesystem/Filesystem.php:694
     Symfony\Component\Filesystem\Filesystem->dumpFile() at D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\Composer\ManagerPluginInstaller.php:240
     Contao\ManagerPlugin\Composer\ManagerPluginInstaller->dumpClass() at D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\Composer\ManagerPluginInstaller.php:215
     Contao\ManagerPlugin\Composer\ManagerPluginInstaller->doDumpPlugins() at D:\XAMPP\htdocs\contao\vendor\contao\manager-plugin\src\Composer\ManagerPluginInstaller.php:167
     Contao\ManagerPlugin\Composer\ManagerPluginInstaller->dumpPlugins() at n/a:n/a
     call_user_func() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php:176
     Composer\EventDispatcher\EventDispatcher->doDispatch() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php:96
     Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/Installer.php:324
     Composer\Installer->run() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/Command/InstallCommand.php:121
     Composer\Command\InstallCommand->execute() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Command/Command.php:255
     Symfony\Component\Console\Command\Command->run() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Application.php:960
     Symfony\Component\Console\Application->doRunCommand() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Application.php:255
     Symfony\Component\Console\Application->doRun() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/Console/Application.php:258
     Composer\Console\Application->doRun() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Application.php:148
     Symfony\Component\Console\Application->run() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/Console/Application.php:104
     Composer\Console\Application->run() at phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/api/console:84
     require() at D:\XAMPP\htdocs\contao\web\contao-manager.phar.php:54
    Nach einer frischen Neuinstallation (alles bis auf die php gelöscht) wuchs das contao-Verzeichnis auf 216MB, bis es wieder zu dem oben beschriebenen Fehler kam (Console task terminated! The background task has stopped unexpectedly. Please check the console protocol.).
    composer-install.err.log:
    Code:
    RuntimeException: Unable to write config file to D:\XAMPP\htdocs\contao\contao-manager/composer-install.get.json in phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/terminal42/background-process/src/AbstractProcess.php:76
    Stack trace:
    #0 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/terminal42/background-process/src/ProcessRunner.php(215): Terminal42\BackgroundProcess\AbstractProcess::writeConfig('D:\\XAMPP\\htdocs...', Array)
    #1 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/terminal42/background-process/src/ProcessRunner.php(112): Terminal42\BackgroundProcess\ProcessRunner->saveConfig()
    #2 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/terminal42/background-process/src/ProcessRunner.php(53): Terminal42\BackgroundProcess\ProcessRunner->wait(1)
    #3 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/terminal42/background-process/src/Command/ProcessRunnerCommand.php(36): Terminal42\BackgroundProcess\ProcessRunner->run()
    #4 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Command/Command.php(255): Terminal42\BackgroundProcess\Command\ProcessRunnerCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #5 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Application.php(978): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #6 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Application.php(255): Symfony\Component\Console\Application->doRunCommand(Object(Terminal42\BackgroundProcess\Command\ProcessRunnerCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #7 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/api/ApiApplication.php(76): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #8 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/vendor/symfony/console/Application.php(148): Contao\ManagerApi\ApiApplication->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #9 phar://D:/XAMPP/htdocs/contao/web/contao-manager.phar.php/api/console(84): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput))
    #10 D:\XAMPP\htdocs\contao\web\contao-manager.phar.php(54): require('phar://D:/XAMPP...')
    #11 {main}
    Möglicherweise lässt sich contao über XAMPP unter Windows aber auch grundsätzlich nicht installieren: https://github.com/symfony/symfony/issues/10325. Wäre allerdings schade. Vielleicht probiere ich es mal unter einem nativen Mint (ohne VM und so).
    Geändert von Elektroschrott (30.03.2019 um 21:23 Uhr)

  11. #11
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    XAMPP funktioniert schon, hier im Forum gibt es eine ganze Menge Leute, die den nutzen. Wenn's nicht klappen will, versuch doch mal devilbox (Docker).

    Guckst Du mal das tT (tolles Tutorial ) von Franko:
    https://community.contao.org/de/show...PP-Alternative

  12. #12
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Daumen hoch

    Danke für den Tipp!! Gestern Abend war ich nämlich auch unter Mint 19 mit der Installation gescheitert, sowohl über die Konsole (obwohl es keine Fehlermeldung dabei gab), als auch über die Browser-GUI. Ich werde mich mal ans Tutorial halten, eine Docker-Umgebung auf einer OMV läuft sowieso schon, nur hätte ich mir das ohne Anleitung nicht zugetraut.

  13. #13
    Contao-Nutzer
    Registriert seit
    17.03.2019.
    Beiträge
    13

    Standard Gelöst, aber lokal unter Linux Mint

    So, nach vielen Stunden rumprobieren habe ich es unter Linux Mint schließlich geschafft. Als Hilfestellung habe ich die wichtigsten Punkte hier zusammengefasst: https://community.contao.org/de/show...l=1#post500499
    Mit der wichtigste Punkt war dabei, dass in der /etc/apache2/apache2.conf für den Pfad /var/www/ der Parameter AllowOverride auf 'None' statt auf 'All' stand. Dies verhindert spätestens den Aufruf des Installtools ohne jede Fehlermeldung (jedenfalls bei mir...)

  14. #14
    Contao-Nutzer Avatar von quenn
    Registriert seit
    28.03.2013.
    Ort
    Köln
    Beiträge
    133

    Standard

    Ich hatte auch damit zu kämpfen, Contao 4 lokal auf Ubuntu mit Apache zum Laufen zu bringen. Zusätzlich zum genannten musste ich noch folgende Änderungen vornehmen:

    1) Die Domain des VHosts in der Datei /etc/hosts eintragen:

    Code:
    127.0.0.1       contao.local
    2) mod_rewrite aktivieren:

    Code:
    sudo a2enmod rewrite
    systemctl restart apache2

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •