symbolischer Link auf Verzeichnis

Status
Für weitere Antworten geschlossen.

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
Hallo,

mit
Rich (BBCode):
ln -s /volume2/web2/website /volume1/web/website
wollte ich ein Verzeichnis auf der SSD (2.HDD) dem Webserver im Ordner web auf Volume1 zur Verfügung stellen.
Das Ergebnis ist in der Filestation gar nicht zu sehen, und auf der Konsole oder per afp nur als Link-Datei mit den Eigenschaften:
Rich (BBCode):
lrwxrwxrwx    1 root     root            19 Aug  1 18:35 website -> /volume2/web2/website

Was mache ich da falsch?

Bildschirmfoto 2015-08-01 um 20.37.00.png
 
Zuletzt bearbeitet:

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Hast Du das aktiviert?

Zwischenablage01.jpg
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
ja, habe ich (inkl. Neustart).

Gleiche Situation innerhalb eines gemeinsamen Ordners.

Ich habe es gerade auch noch einmal auf einer anderen DS probiert ==> genau das Gleiche. Das schreit ja regelrecht nach einem Fehler meinerseits …


Legt man richtigerweise eigentlich erst einen leeren Ordner an, der dann nach dem Erstellen des Links die Zieldateien zeigt?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
sooo:

Habe mich jetzt noch einmal per smb an Stelle von afp verbunden, und da geht es schon mal :)

Allerdings erscheint der Symlink nicht in der Filestation … und ist im Webserver auch nicht wie gewünscht sichtbar / aufrufbar.



EDIT:
Laut diesem Beitrag scheint es via Filestation wirklich nicht zu funktionieren.

Ein mount bind sollte hoffentlich helfen.
 
Zuletzt bearbeitet:

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

die Filestation kann keinen SymLinks folgen und auch für einen Apache sind Anpassungen nötig. Ohne das jetzt auf der DS geprüft zu haben sind aber z.Bsp. folgende Optionen nötig:

Rich (BBCode):
Options AllowOverride
Options +FollowSymLinks

Gruß Frank
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
Habe jetzt mit mount bind den Ordner aus Volume2 auch in /volume1/web/ sichtbar.
Allerdings kann ich immer noch keine Ressourcen per Webserver aufrufen (Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden).
Ich habe den Pfad zum Volume2 auch als PHP open_basedir hinzugefügt. Es werden auch nicht die einfachsten .txt-Dateien angezeigt.

Hallo,

die Filestation kann keinen SymLinks folgen und auch für einen Apache sind Anpassungen nötig. Ohne das jetzt auf der DS geprüft zu haben sind aber z.Bsp. folgende Optionen nötig:

Rich (BBCode):
Options AllowOverride
Options +FollowSymLinks

Gruß Frank

Muss ich auch bei mount bind bei dem Apache etwas ändern? Wenn ja, wo?


Das steht schon in der /etc/httpd/conf/httpd.conf-user:
Rich (BBCode):
<Directory />
    Options FollowSymLinks
    AllowOverride All

    RewriteEngine on
    RewriteCond %{HTTP:Transfer-Encoding} chunked
    RewriteRule ^(.*)$ http://localhost:412/$1 [P]
</Directory>

Sollte ich hier noch einen Directoryeintrag für den Ordner auf Volume2 hinzufügen / ich will ja meinen Webserver nicht abschießen:
Rich (BBCode):
<Directory "/volume2/web2">
    Options FollowSymLinks
    AllowOverride All

    RewriteEngine on
    RewriteCond %{HTTP:Transfer-Encoding} chunked
    RewriteRule ^(.*)$ http://localhost:412/$1 [P]
</Directory>
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
Ich habe noch einmal das Verzeichnis /volume2/web2/websitevolume2 (welches nur eine index.html enthält) nach /volume1/web/websitemount/ gemounted.
Beim Aufruf von http://ip/websitemount/index.html erscheint dieser Fehler in der /var/log/httpd/user-error_log:
[Sun Aug 02 13:33:17 2015] [crit] [client 192.168.170.56] (13)Permission denied: /var/services/web/websitemount/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Zum Test habe ich auch mal die .htaccess im Webroot deaktiviert.

Ich weiß nicht, was mir da dazwischenfunkt.
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Muss ich auch bei mount bind bei dem Apache etwas ändern? Wenn ja, wo?

Bei mount bind muß meines Wissens nichts geändert werden. Um das SymLinks vom Apachen gefolgt werden kann, muß in der httpd.conf folgende Zeile stehen "Options AllowOverride" Ist ja wohl bei dir der Fall. Kann das gerade auf keiner DS prüfen.

Die Zeile "Options +FollowSymLinks" kann entweder auch in der httpd-conf (scheinbar auch schon der Fall) stehen oder aber wenn AllowOverwrite in der .conf vorhanden ist, dann auch in der .htaccess.

Bei Änderungen der .conf immer daran denken den Apachen neu zu starten.

Ich würde nochmals prüfen ob dir nicht vieleicht eine vorhandene .htaccess die Option wieder deaktiviert oder aber ob dein Apache überhaupt Zugriffsrechte auf dein eingehangenes Verzeichnis hat. Helfen kann hier auch das Log des Apachen bzw. den Loglevel hochsetzen.

Gruß Frank
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
...
Das steht schon in der /etc/httpd/conf/httpd.conf-user:
...
Ergänze dort für doch mal ein Require all granted für das Webroot, d.h.
Code:
<Directory "/var/services/web">
    Options MultiViews FollowSymLinks ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
   [COLOR=#b22222] Require all granted[/COLOR]
</Directory>
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
… Ich würde nochmals prüfen ob dir nicht vieleicht eine vorhandene .htaccess die Option wieder deaktiviert oder aber ob dein Apache überhaupt Zugriffsrechte auf dein eingehangenes Verzeichnis hat. Helfen kann hier auch das Log des Apachen bzw. den Loglevel hochsetzen.

.htaccess hatte ich umbenannt und auch immer Apache neu gestartet.

Bzgl. der Zugriffsrechte:
Noch mal hier meine Frage von oben:
Rich (BBCode):
<Directory />
    Options FollowSymLinks
    AllowOverride All

    RewriteEngine on
    RewriteCond %{HTTP:Transfer-Encoding} chunked
    RewriteRule ^(.*)$ http://localhost:412/$1 [P]
</Directory>

Sollte ich hier noch einen Directoryeintrag für den Ordner auf Volume2 hinzufügen / ich will ja meinen Webserver nicht abschießen:
Rich (BBCode):
<Directory "/volume2/web2">
    Options FollowSymLinks
    AllowOverride All

    RewriteEngine on
    RewriteCond %{HTTP:Transfer-Encoding} chunked
    RewriteRule ^(.*)$ http://localhost:412/$1 [P]
</Directory>

Ergänze dort für doch mal ein Require all granted für das Webroot, d.h.
Code:
<Directory "/var/services/web">
    Options MultiViews FollowSymLinks ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
   [COLOR=#b22222] Require all granted[/COLOR]
</Directory>

Das hat meine Wordpressseite gekillt:
Errorlog:
[Sun Aug 02 14:12:31 2015] [error] [client 93.202.47.204] (104)Connection reset by peer: FastCGI: comm with server "/php-fpm-handler" aborted: read failed, referer: https://MeineDOMAIN/
[Sun Aug 02 14:12:31 2015] [error] [client 93.202.47.204] FastCGI: incomplete headers (0 bytes) received from server "/php-fpm-handler", referer: https://MeineDOMAIN/

Require all granted wieder rausgenommen, und alles wieder OK.

Beim Neustart des Apache findet sich auch folgende Errormeldung im Log.
Ist das unbedenklich, oder hackt es noch an einer anderen Stelle?

[Sun Aug 02 14:12:09 2015] [notice] caught SIGTERM, shutting down
[Sun Aug 02 14:12:11 2015] [error] FastCGI: access for server (uid 1023, gid 1023) failed: read not allowed
[Sun Aug 02 14:12:11 2015] [error] FastCGI: can't create dynamic directory "/run/httpd/fastcgi/dynamic": access for server (uid 1023, gid 1023) failed: read not allowed
[Sun Aug 02 14:12:11 2015] [notice] Digest: generating secret for digest authentication ...
[Sun Aug 02 14:12:11 2015] [notice] Digest: done
[Sun Aug 02 14:12:11 2015] [error] FastCGI: access for server (uid 1023, gid 1023) failed: read not allowed
[Sun Aug 02 14:12:11 2015] [error] FastCGI: can't create dynamic directory "/run/httpd/fastcgi/dynamic": access for server (uid 1023, gid 1023) failed: read not allowed
[Sun Aug 02 14:12:11 2015] [notice] FastCGI: process manager initialized (pid 1929)
[Sun Aug 02 14:12:11 2015] [notice] Apache/2.2.29 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_ssl/2.2.29 OpenSSL/1.0.1p-fips configured -- resuming normal operations
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Und wenn Du das nur auf Deine Webseite eingrenzt, also einen zusätzlichen Eintrag ergänzen mit
Code:
<Directory "/var/services/web/website">
   [COLOR=#b22222] Require all granted[/COLOR]
</Directory>
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.612
Punkte für Reaktionen
1.459
Punkte
234
Soooo - jetzt habe ich den Bösewicht gefunden :D

Auf /volume2/web2/ fehlte die Berechtigung für die Gruppe http.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat