Optionen zum Konfigurieren von Apache, um andere Ordner trotz / var / www zu berücksichtigen

1

Ich verwende Ubuntu 12.10 und weiß, dass ich eine PHP-Datei (index.php) unter / var/wwwund ich besuche localhost:80/index.php, es wird gut funktionieren.

Angenommen, ich habe mehrere Projekte in Ordnern in Ordnern wie:

/home/myuser/Projects/Joomla

und

/home/myuser/Work/testphp

Was sind meine Alternativen, damit Apache diese Ordner lesen kann? Ich weiß, dass ich folgende Möglichkeiten habe:

  • Erstellen Sie Symlinks (ich konnte jedoch nicht herausfinden, welche Berechtigungen / Gruppen ich festlegen soll und warum?)

  • Fügen Sie VirtualHosts hinzu (ich habe keine Ressource gefunden, die erklärt, wie VirtualHosts für diese Situation verwendet wird).

Kann mir jemand sagen, welche Möglichkeiten es gibt und welche die beste ist und warum?

Hommer Smith
quelle
Unter welchen URLs sollen die Dateien in diesen anderen Verzeichnissen erreichbar sein? Je nach Antwort auf diese Frage gibt es verschiedene Methoden. Oder besteht Ihr Problem darin, dass Apache nicht einmal auf die Dateien zugreifen kann, und Sie möchten wissen, wie Sie Berechtigungen festlegen, um dies zuzulassen?
David Z
Hallo David Z. Es ist eine konzeptionelle Frage. Ich möchte wissen, wie man Apache anweist, um auf alle Dateien aus diesen Ordnern zugreifen zu können. Sie sind im Grunde ein Joomla-Projekt.
Hommer Smith
Was meinen Sie mit "Ich habe keine Ressource gefunden, die die Verwendung von VirtualHosts erläutert"? Sie meinen, Sie können keine Anrufe mit verschiedenen "Host:" - Headern tätigen oder Sie konnten kein Beispiel für verschiedene VirtualHosts mit unterschiedlichen DocumentRoots finden.
csikos.balint

Antworten:

0

Folge diesen Schritten:

1. Bearbeiten Sie die Standardkonfigurationsdatei:

vi /etc/apache2/sites-available/default.conf

und füge diese Zeile hinzu:

DocumentRoot /home/myuser

2. Erstellen Sie eine neue Site-Konfigurationsdatei:

touch /etc/apache2/sites-available/yourSite.conf
vi /etc/apache2/sites-available/yourSite.conf

<VirtualHost *:80> 

ServerName Joomla
DocumentRoot /home/myuser/Projects/Joomla
    <Directory /home/myuser/Projects/Joomla>
            AllowOverride all
            Options all
    </Directory>

</VirtualHost>

3. Laden Sie Ihren Server neu:

service apache2 reload

Sie können jetzt auf Joomla als URL zugreifen. Wenn dies nicht funktioniert, sollten Sie den Symlink erstellen:

ln -s /etc/apache2/sites-available/yourSite.conf /etc/apache2/sites-enabled/yourSite.conf
Manolo
quelle