Empfohlene Workflows für virtuelle Apache-Hosts?

8

Ich mache viele lokale Webentwicklungsarbeiten auf meinem Ubuntu-Computer und richte ständig virtuelle Hosts in Apache ein. Ich muss keine Hardcore-Serververwaltung durchführen, aber ich habe es satt, wiederholt Konfigurationsanweisungen manuell zu Dateien in / etc / apache2 / sites-available / hinzuzufügen und dann die Datei / etc / hosts zu aktualisieren.

Gibt es eine effizientere oder automatisiertere Möglichkeit, all das zu tun, was mir fehlt? Vielleicht so etwas wie Rapache, aber das funktioniert tatsächlich?

Craig Zheng
quelle

Antworten:

8

Wenn ich etwas tun musste, erstelle ich einen VirtualHost mit einem Platzhalternamen:

  1. Wählen Sie einen ausgefallenen Domainnamen wie 'example.com' für localhost
  2. Legen Sie es in die /etc/hostsDatei als127.0.0.1 *.example.com
  3. Installieren und aktivieren mod_rewrite
  4. Erstellen Sie einen Platzhalter VirtualHost im Apache-Sites-Verzeichnis:

    <VirtualHost 127.0.0.1:80>
      DocumentRoot /default/path
      ServerName example.com
      ServerAlias *.example.com
      RewriteEngine On
      UseCanonicalName Off
    
      RewriteCond %{HTTP_HOST} ^(.*).example.com
      RewriteCond /srv/%1/ -d
      RewriteRule ^(.+)   %{SERVER_NAME}$1 [C]
      RewriteRule ^([^.]+)\.example\.com/(.*) /srv/$1/$2 [L]
    </VirtualHost>
    
  5. Jetzt können Sie einen beliebigen Ordner unter platzieren /srv/und es wird das Stammverzeichnis für sein<foldername>.example.com

Dies ist aus dem Speicher entlehnt, es könnten kleinere Anpassungen erforderlich sein und es kann zu Konflikten mit anderen Umschreiberegeln kommen, die jede Webanwendung haben würde. Aber es passt zu mir für meine Webapp-Testanforderungen.

Theist
quelle
Das ist sehr klug, werde es versuchen. Vielen Dank.
Craig Zheng
Gute Antwort. Außer dass der Platzhalter bei mir nicht funktioniert hat, musste ich dnsmasq verwenden , damit er funktioniert.
Elias
3

würde Webmin funktionieren? Es ist nicht nur für Apache, sondern eine Weboberfläche für die Systemadministration. Es verfügt über eine Schnittstelle zum Ausfüllen von Formularen für den virtuellen Apache-Host.

sagarchalisieren
quelle
1
Sah in Webmin, dachte aber, es könnte übertrieben sein, weißt du?
Craig Zheng
Ich benutze es auf meinem Entwicklungsserver, es macht die Dinge ein bisschen einfacher, obwohl ich immer noch von Zeit zu Zeit SSH
einnehme
0

Warum nicht eine Website erstellen, die die Dateien für Sie erstellt / aktualisiert? Wenn Sie mit PHP arbeiten und dies lokal ist, verwenden Sie nur die Funktion exec (), um Terminalbefehle auszuführen, um Daten zu schreiben / erstellen / aktualisieren, die Sie basierend auf Textfeldeinträgen möchten. Ich wünschte, ich wüsste, wie man Anwendungen auf Ubuntu macht, die auf GUI basieren. würde das Leben wirklich einfach machen.

Sarmen B.
quelle