Lokale Host-Site in Apache einrichten?

11

Ich habe wochenlang gesucht, wie man die localhost-Umgebung auf Ubuntu ohne gute Lösungen einrichtet.

Das möchte ich erreichen:

Ich möchte meinen Stammordner als solchen haben /home/'username'/Sites/'projectname.pl 'oder / home /' username '/ Sites / pl /' projectname '/ public (oder simular)

Wenn ich auf meinen localhost zugreife, muss ich nicht localhost / 'projectname' / public (oder so weiter) schreiben. Ich möchte auf das Projekt zugreifen können, indem ich einfach http: //'projectname'.pl eingebe

Ich weiß, dass dies auf dem Apache-Server unter OSX möglich ist, aber ich konnte auf meinem Ubuntu-Computer keine Anleitungen finden, um dies zu erreichen.

Ich wäre wirklich dankbar für jede Hilfe und hoffe wirklich, dass es möglich ist.

Grüße!

Zinn
quelle

Antworten:

16

Sie können Ihre vhosts in einrichten

/etc/apache2/sites-available

Für jeden vhost möchten Sie eine conf-Datei in diesem Verzeichnis erstellen. In der vhost-Konfiguration können Sie Ihren Dokumentstamm festlegen. Der Name der Datei muss mit .conf enden

So zum Beispiel: /etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

Aktivieren Sie jetzt Ihre Site mit:

sudo a2ensite projectname

Und starten Sie Apache neu:

sudo /etc/init.d/apache2 restart

Bearbeiten Sie dann Ihre Datei / etc / hosts.

Fügen Sie einfach die Zeile ein:

127.0.0.1 projectname.pl

am Ende.

Jetzt können Sie mit auf Ihre Site zugreifen http://projectname.pl

rechengehirn
quelle
Vielen Dank für Ihre Antwort. Ich habe in meiner Frage einige illegale Zeichen verwendet, was dazu führte, dass ein Text herausfiel. Ich habe meine Frage jetzt aktualisiert. Bitte beziehen Sie sich erneut darauf und prüfen Sie, ob ich noch etwas tun muss, damit es funktioniert. Grüße!
Zinn
Nun, im Grunde bleibt es gleich. Ich habe die Antwort bearbeitet, um Ihre Wünsche zu erfüllen :)
rechengehirn
Die beiden wichtigsten Punkte hier sind die Benennung der Apache-Konfiguration mit der Erweiterung config und der anschließende Neustart von Apache.
John Merlino
Hat für mich gearbeitet !!
Arqam
1

Um die anderen Antworten hier zu ergänzen, habe ich ein solches Verhalten mit Symlinks konfiguriert ... Scheint gut zu funktionieren. Dies ist sehr einfach und erfordert keine Konfigurationsdateien.

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

Der letzte Teil der oben genannten Punkte kann für Sie anders sein. Das Obige verwende ich in Linux Mint 17. Das Verzeichnis '/ var / www / html /' ist der Standard-Apache-Ordner "site".

Also ja, für alle, die nach einer sauberen, einfachen Methode suchen, um eine Site zuzuordnen, ohne das Verzeichnis ihrer Site tatsächlich im Standard-Apache-Ordner abzulegen, sind Sie hier richtig.

Hinweis: Ich bin nicht sicher, ob das oben Genannte für Produktionsumgebungen geeignet ist, aber für die lokale Entwicklung scheint es in Ordnung zu sein. Der Grund, warum ich mir nicht sicher bin, ist, dass der Symlink die Berechtigungen des Ordners im Home-Verzeichnis enthält, der (höchstwahrscheinlich) dem Benutzer "gehört". Wenn nötig, können Sie das natürlich in das sicherere 'root' wie das Apache-Verzeichnis ändern, aber ich lasse meins in Ruhe, da ich dies nur in einer Entwicklungsumgebung verwende.

derekmx271
quelle
0

Ich habe dieses Problem gelöst, indem ich dieser Anleitung gefolgt bin. Eine wirklich nette Lösung, mit der Sie einen Ordner in Ihrem angegebenen "Sites" -Ordner erstellen und dann darauf zugreifen können, ohne für jede neue Site eine verfügbare Site hinzufügen zu müssen.

DER Leitfaden -> http://css.dzone.com/articles/drop-folder-directory-and-have

Zinn
quelle