ubuntuusers.de

[gelöst] Apache und Symlinks?

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

linuxtux

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

Hallo!
Ich komme auch nach langem herumprobieren und suchen bei folgendem Problem einfach nicht weiter.
Habe den Apache2 mit Php, Phpmyadmin, Mysql über Synaptic installiert. Alles lief auch sofort auf Anhieb.
Die erstellte infophp.php (unter /var/www) zeigt mir nach Aufruf von http://localhost/infophp.php im Browser auch die Php-Info einwandfrei an.
Nun bin ich dabei, meine erste Homepage mit Bluefish zu erstellen, und habe dazu eine php-Datei erstellt.
Jetzt habe ich das Verzeichnis public_html unter /home/benutzername angelegt, und dort das homepage-Verzeichnis hineinkopiert, da ich irgendwo gelesen habe, dass dies funktionieren soll. Leider funktioniert aber der Aufruf der Homepage nicht. Habe dann das homepage-Verzeichnis zum Probieren in das Docroot-Verzeichnis hineinkopiert. Aus diesem Verzeichnis funktioniert der Aufruf. Da man dort aber als Benützer nicht hineinschreiben kann, und ich dieses Verzeichnis nicht für Benützer freigeben möchte, möchte ich gerne über Symlinks auf dieses hompage-Verzeichnis
zugreifen.
Kann mir jemand für einen Anfänger verständlich erklären, wie und wo ich welche Einträge erstellen muss, und wie die Adresse im Browser lauten muss, um diese Seite zu starten.
Wäre eventuell auch ein Alias-Eintrag eine Lösung? Und wie und wo müsste dieser Eintrag erfolgen?

Danke inzwischen!

Moderiert von Logdog82:

Thread als gelöst gekennzeichnet

Kajapka Team-Icon

Anmeldungsdatum:
9. Mai 2005

Beiträge: 736

Den Ordner "public_html" hast du in deinem /home Verzeichnis erstellt und die darin enthaltene index File heisst auch "index.php" oder? (man achte auch auf Groß- und Kleinschreibung)
Was erscheint denn wenn du http://localhost/~benutzername im Broswer eingibst?

linuxtux

(Themenstarter)

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

Danke für deine schnelle Antwort Logdog82!

Ich habe mir in dem Verzeichnis public_html eine phpinfo.php mit folgendem Inhalt
<?php
phpinfo()
?>
zum Testen erstellt. Diese funktioniert aber auch nicht.

Was bedeutet den das ~ vor dem benutzername?
Ist der folgende Aufruf schon richtig?
http://localhost/home/NameDesBenützerverzeichnisses/public_html/phpinfo.php

Wenn ich http://localhost/~benutzername eingebe erscheint folgende Fehlermeldung:
Not Found

The requested URL /benützerverzeichnisname was not found on this server.

Apache/2.0.53 (Ubuntu) mod_perl/1.99_14 Perl/v5.8.4 mod_ldap_userdir/1.1.7 mod_python/3.1.3 Python/2.4.1 PHP/4.3.10-10ubuntu4 Server at localhost Port 80

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6514

Wohnort: Hamburg

Was bedeutet den das ~ vor dem benutzername?

Das bedeutet das du auf das Verzeichnis /home/<benutzername>/public_html/... des jeweiligen Rechners zugreifst.

Wenn ich http://localhost/~benutzername eingebe erscheint folgende Fehlermeldung:
Not Found

Ist das Modul userdir geladen? (Du solltest etsprechende Links in /etc/apache2/mods-enabled/ finden).
Oder es sollte sich eine Datei namens "index.html" in diesem Verzeichnis befinden (abhängig von den Einstellungen in /etc/apache2/apache2.conf).

Dakuan

linuxtux

(Themenstarter)

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

In der Datei userdir.conf im Verzeichnis /etc/apache2/mods-enabled befindet sich folgender Eintrag:
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>

In der Datei apache2.conf steht folgender Eintrag:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Somit nehme ich an, dass die module auch richtig geladen werden, oder?

linuxtux

(Themenstarter)

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

Kann mir wirklich niemand weiterhelfen?

Kajapka Team-Icon

Anmeldungsdatum:
9. Mai 2005

Beiträge: 736

Was bringt:

chmod a+x /home/linuxtux/public_html/phpinfo.php
http://localhost/~linuxtux/phpinfo.php


?

linuxtux

(Themenstarter)

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

Hallo Logdog82! Danke für deine Antwort!

Habe jetzt chmod so durchgeführt, aber leider ohne Erfolg. Kommt wieder folgende Fehlermeldung:
The requested URL /benützerverzeichnisname was not found on this server.

Apache/2.0.53 (Ubuntu) mod_perl/1.99_14 Perl/v5.8.4 mod_ldap_userdir/1.1.7 mod_python/3.1.3 Python/2.4.1 PHP/4.3.10-10ubuntu4 Server at localhost Port 80

Habe die Zugriffsrechte der Verzeichnisse /home, /linuxtux, public_html sowie der Datei phpinfo.php überprüft.
Die Zugriffsrechte lauten auf: drwxr-xr-x, 755

Muss man eigentlich das ~ vor linuxtux auch miteingeben? Habe beide Varianten probiert, kommt aber auch immer obige Fehlermeldung.

Kajapka Team-Icon

Anmeldungsdatum:
9. Mai 2005

Beiträge: 736

Ja man muß das ~ voran stellen.
Hmm da weiß ich leider jetzt auch nicht weiter. Blackbird weiß da bestimmt noch ein paar Sachen dazu 😉

MrMind

Avatar von MrMind

Anmeldungsdatum:
25. Mai 2005

Beiträge: 70

Wohnort: Odw.

Mal ne andere dumme Frage *gg* Hast du deinen Account bei Ubuntu auch zu den Apache-Gruppe hinzugefügt??? Das kann die Ursache sein, warum er deinen Usernamen-Ordner nicht findet, weil er keine Zugriffsrechte besitzt.

Einfach mal über System->Systemsteuerung->Benutzer und Gruppen deinen Account anwählen und die Gruppen checken.
Dann ein Aufruf mit http://127.0.0.1/~username/phpinfo.php sollte dann eigentlich klappen (nach einem neustart). Hier solltest du username durch deinen Accountnamen ersetzen Beispiel:

http://127.0.0.1/~linuxtux/phpinfo.php

Dieser Link sollte direkt auf deinen public_html-Ordner dann zeigen und die dort enthaltene phpinfo.php öffnen.

Mfg
MrMind

linuxtux

(Themenstarter)

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

Hallo MrMind! Danke dir!

Ich habe jetzt dort nachgesehen, aber leider keine Apache-Gruppe finden können.
Es gibt unter dem Reiter Benutzer einen Eintrag www-data mit Heimverzeichnis /var/www und Benutzerdetails www-data. Das Verzeichnis /var/www ist bei mir das Standard-Docroot-Verzeichnis.
Wenn ich nun Gruppen www-data anklicke und dort auf Eigenschaften klicke ist unter Gruppenmitglieder linuxtux und www-data angeführt. Wenn ich das gleiche mache und linuxtux anklicke ist unter den Gruppenmitgliedern unter anderen linuxtux und www-data ebenfalls angeführt.

Muss ich da noch was ändern, wenn ja wie?

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6514

Wohnort: Hamburg

Eigentlich braucht man überhaupt nichts zu ändern, insbesondere keine Dateirechte, wenn man über Synaptic die Ubuntu Pakete installiert (Grundregel: Apache braucht nur Leserechte). Wenn man bei den Dateinamen keine Tipfehler macht (meine Spezialität 🙄 ) sollte alles sofort funktionieren. Allerdings habe ich Phpmyadmin nicht installiert.

Eine Datei im Userverzeichnis, z.B. "/home/dakuan/public_html/index.html" sollte mit
"http://localhost/~dakuan/" oder "http://localhost/~dakuan/index.html" erreichbar sein.
Wenn das nicht klappt würde ich eine Tippfehler in der Eingabe oder bei den Verzeichnis- bzw. Dateinamen vermuten. Solange wir die komplette Eingabe und den kompletten Dateipfad nicht kennen, können wir nur spekulieren.

Achtung: Standardmäßig ist nur die Endung "html" konfiguriert, nicht "htm".

Dakuan

linuxtux

(Themenstarter)

Anmeldungsdatum:
21. Januar 2005

Beiträge: 105

Hallo Dakuan! Danke auch dir für deine Antwort!

😀 Grosse Freude! Jetzt funktioniert es!

In der apache2.conf war bei folgendem Eintrag die Zeile UserDir is now a module nicht durch ein # gekennzeichnet. Habe dort jetzt ein #Zeichen davor gestellt, und siehe da es funktionierte!
# UserDir is now a module
# UserDir public_html
# UserDir disabled root

# <Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
# </Directory>

Ich nehme an, dass es dadurch mit folgendem Eintrag einen Konflikt gegeben hat:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Da, wenn ich es richtig verstehe diese Zeilen alle Dateien (module) im Ordner mods-enabled und damit auch die Datei userdir.conf mit dem Eintrag public_html schon lädt.

Danke allen die mir geantwortet haben, sowie auch allen die diesen Thread gelesen haben, recht herzlich für euer Bemühen!

Btw hätte ich noch eine zusätzliche Frage:
Ich verwende zu der Homepage-Erstellung Bluefish. Wenn ich nun dort eine Seite lade, wird sie nicht über den Apache gestartet sondern nur mit:
file:///home/linuxtux/public_html/index.html

Besteht dort eine Einstellungsmöglichkeit, damit die Seite auch von Bluefish aus über den Apache gestartet wird?

MrMind

Avatar von MrMind

Anmeldungsdatum:
25. Mai 2005

Beiträge: 70

Wohnort: Odw.

Ich bezweifel es das Bluefish via Apache eine Seite läd bzw. diese Einstellung vorgenommen werden kann. Habe das noch net gesehen in der Konfigurationseinstellungen.

Habe dafür immer einen Browser offen und Bluefish gleichzeitig. Ist eigentlich net störend.

Mfg
MrMind

Kajapka Team-Icon

Anmeldungsdatum:
9. Mai 2005

Beiträge: 736

Schön dass es jetzt funktioniert. Hab den Thread mal als gelöst gekennzeichnet.
Für dein Bluefish Problem/Frage bitte einen neuen Thread eröffnen. Danke.

Antworten |