Drupal 9 Installation Composer
am 04.05.2021 - 08:21 Uhr in
Hallo Drupalforum,
ich habe mich schon länger nicht mehr mit Drupal auseinandergesetzt und wollte jetzt Drupal 9 auf meinen SharedHosting Webspace testen.
Hierzu habe ich Drupal via Composer in das public_html Verzeichnis installiert.
public_html/test/drupal/web
Allerdings sind so auch die composer.json und die composer.lock Dateien sowie der Vendor Ordner über den Webserver/Browser erreichbar, was ja eigentlich nicht sein sollte.
Dann habe Drupal außerhalb des public_html Verzeichnisses installiert und versucht den Pfad in der composer.json Datei anzupassen, also auf public_html/test/drupal gesetzt (das web wollte ich weglassen). Nun ist die Installationsroutine nicht über den Webserver erreichbar, auch nicht, wenn ich die Drupal Dateien in den entsprechenden Ordner in public_html kopiere.
Leider finde ich bei meinen Recherchen keine Lösung (Englischkenntnisse sind begrenzt voranden).
Meine Frage, wie kann ich Drupal 9 mit Composer sicher installieren, so dass die o.g. Dateien nicht über den Webserver zugänglich sind?
Besten Dank im Voraus für eure Antworten!
- Anmelden oder Registrieren um Kommentare zu schreiben
Warum "Verzeichnis-Browsing" in drupal_installation?
am 04.05.2021 - 13:21 Uhr
...
Allerdings sind so auch die composer.json und die composer.lock Dateien sowie der Vendor Ordner über den Webserver/Browser erreichbar, was ja eigentlich nicht sein sollte.
...
Das war bei mir auch, ob man "Verzeichnis-Browsing" einfach selber über auf dem Apache einstellen muss, oder es auch etwas mir Drupal zu tun hat (sollte die Drupal Installation Verzeichnis-browsing abstellen?), weiß ich nicht.
Aber Verzeichnis-browsing abstellen sollte so gehen:
disable directory browsing (Ubuntu 20.04.)
https://www.vultr.com/docs/how-to-disable-directory-browsing-on-apache
sudo nano /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ändern zu:
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
sudo systemctl restart apache2
Frage: Ist dann etwas bei der Drupal-Installation nicht richtig gelaufen (htaccess datei etc...?), wenn "Verzeichnis-Browsing" möglich ist, oder ist das eine separate Aufgabe, die man selber in z.B. /etc/apache2/apache2.conf regeln muss?
Danke.
Drupal 9.x, Ubuntu
Wenn der composer.json-File
am 04.05.2021 - 19:17 Uhr
Wenn der composer.json-File vom apache aus erreichbar ist, stimmt bei Dir das DocumentRoot nicht. Das sollte nämlich auf das web-Verzeichnis zeigen. Dann kann der apache die Ebene darüber nicht erreichen. Im Webverzeichnis liegt dann auch die .htaccess-Datei sowie index.php.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Tropse, danke für deine
am 05.05.2021 - 13:49 Uhr
Hallo Tropse,
danke für deine Antwort.
Ich kann leider nicht direkt auf den Apachen zugreifen, da es sich um eine SharedHosting Umgebung handelt.
Das Verzeichnisbrowsing ist im Installationsverzeichnis von Drupal nicht möglich, die composer Dateien und der Vendor Ordner liegen aber eine Ebene höher.
Hallo Werner, danke auch die
am 05.05.2021 - 13:54 Uhr
Hallo Werner,
danke auch die für deine Antwort.
Ich stehe leider etwas auf dem Schlauch...
Die Drupal Installation ist im Ordner "public_html/test/drupal/web".
Die composer.json Datei ist im Ordner "public_html/test/drupal/".
In diesen Ordner habe ich jetzt eine .htaccess eingefügt, die das Directorybrowsing im vendor Ordner und den Zugriff auf die composer Dateien verhindert.
Ich hoffe das ist ein sicherer Workaround!?
Oder hast du noch weitere Ideen?
Besten Dank und viele Grüße
Stephan
Schau Dir die Bilder an
am 18.06.2021 - 18:33 Uhr
Wenn es so aussieht, dann ist es ok.
Drupal === lesen!
==============
WP? Auch cool!
https://intempore.com.co
Falls möglich, setze in
am 26.06.2021 - 06:38 Uhr
Falls möglich, setze in cPanel das Document Root auf public_html/test/drupal/web und entferne das '/web' aus dem Redirect, das sollte die einfachste Lösung sein. Dann ist auch keine Anpassung von .htaccess nötig.