Weiß jemand, wie man das Dokumentenstammverzeichnis des Apache-Servers ändert? Ich möchte grundsätzlich localhost
aus dem /users/spencer/projects
Verzeichnis kommen anstatt /var/www
.
Bearbeiten
Am Ende habe ich es herausgefunden. Einige schlugen vor, die httpd.conf
Datei zu ändern , aber am Ende fand ich eine Datei in /etc/apache2/sites-available/default
und änderte das Stammverzeichnis von /var/www
in /home/myusername/projects_folder
und das funktionierte.
Antworten:
Sie müssen die
DocumentRoot
Einstellung in Ihrerhttpd.conf
Datei ändern . Die Chancen stehen gut, dass es unter so etwas wie sein wird/etc/apache2/conf/httpd.conf
Verwenden Sie Ihren Lieblingseditor (ich empfehle Vim ) und suchen Sie nach dem
DocumentRoot
und ändern Sie ihn in/users/spencer/projects
. Suchen Sie auch etwas weiter unten nach einer Einstellung, die folgendermaßen aussieht:Sie möchten auch die Anführungszeichen in Ihrem neuen Verzeichnis ändern. Dies gibt Apache Zugriff zum Lesen aus diesem Verzeichnis, wenn ein Benutzer eine Anforderung stellt, die es aufruft.
Starten Sie nun Ihren Apache-Dienst (
httpd -k restart
) neu und Sie sollten bereit sein.Bearbeiten : Apache2-Site-Konfigurationsdateien werden jetzt normalerweise gespeichert
/etc/apache2/sites-available/
(Debian, Ubuntu usw.).quelle
Bitte beachten Sie, dass dies nur für Ubuntu 14.04 LTS und neuere Versionen gilt.
In meinem Ubuntu 14.04 LTS wurde das Dokumentstammverzeichnis auf festgelegt
/var/www/html
. Es wurde in der folgenden Datei konfiguriert:Also mach einfach ein
und ändern Sie die folgende Zeile nach Ihren Wünschen:
Mach auch a
und finde das
und wechseln Sie
/var/www/html
in Ihr bevorzugtes Verzeichnisund speichern Sie es.
Nachdem Sie Ihre Änderungen gespeichert haben, starten Sie einfach den Apache2-Webserver neu und Sie sind fertig :)
Wenn Sie einen grafischen Texteditor bevorzugen, können Sie den einfach
sudo nano
durch einen ersetzengksu gedit
.quelle
var/www/html
als Standardwurzel. Versuchen sie tatsächlich , die Zeit der Menschen zu verschwenden? :)You don't have permission to access / on this server.
wenn ich in meinem Browser auf localhost: 80 drücke. Muss ich den Port ändern?<Directory path_to_directory> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
in der /etc/apache2/apache2.confIch musste bearbeiten
/etc/apache2/sites-available/default
. Die Zeilen sind die gleichen wie von RDL erwähnt.quelle
.conf
am Ende und hat standardmäßig ein000-
Präfix als". Das Ergebnis ist/etc/apache2/sites-available/000-default.conf
. Ich habe das nicht getestet, aber es kann einigen Leuten helfen.Dies ist für Ubunutu 14.04:
In der Datei
/etc/apache2/apache2.conf
sollte es wie folgt ohne den Verzeichnisnamen sein:und in die Datei
/etc/apache2/sites-available/000-default.conf
sollten Sie den benutzerdefinierten Verzeichnisnamen einfügen, dh www:Wenn nicht wie oben angegeben, wird beim Laden des Servers eine Fehlermeldung angezeigt:
Forbidden You don't have permission to access / on this server
quelle
Der richtige Weg, um das Verzeichnis zu wechseln oder von mehreren Verzeichnissen unter verschiedenen Ports für Apache2 auszuführen, ist wie folgt:
Für
/etc/apache2
Apache2 befinden sich die Konfigurationsdateien unter und verwenden keine einzige Konfigurationsdatei wie in älteren Versionen, sondern sind in kleinere Konfigurationsdateien aufgeteilt, wobei/etc/apache2/apache2.conf
dies die Hauptkonfigurationsdatei ist. Um Dateien aus einem anderen Verzeichnis bereitzustellen, benötigen wir eine neue virtualhost conf-Datei. Die conf-Dateien von virtualhost befinden sich in/etc/apache2/sites-available
(bearbeiten Sie keine Dateien innerhalb von Sites, die aktiviert sind). Die Standardinstallation von Apache verwendet die Konfigurationsdatei virtualhost000-default.conf
.Erstellen Sie zunächst eine neue VirtualHost-Datei, indem Sie die Standard-Virtualhost-Datei kopieren, die von der Standardinstallation von Apache verwendet wird (die bei localhost auf Port 80 ausgeführt wird). Wechseln Sie in das Verzeichnis
/etc/apache2/sites-available
undsudo cp 000-default.conf example.com.conf
erstellen Sie eine Kopie von . Bearbeiten Sie nun die Datei bissudo gedit example.com.conf
zu:Ich habe der Kürze halber die nicht wichtigen Zeilen aus der obigen Datei gelöscht. Hier
DocumentRoot
ist der Pfad zu dem Verzeichnis, aus dem die Website-Dateien bereitgestellt werden sollen, wie zindex.html
.Erstellen Sie das Verzeichnis, aus dem Sie die Dateien bereitstellen möchten, z.
mkdir example.com
und ändern Sie den Eigentümer und die Standardgruppe des Verzeichnisses, z. B. wenn Ihr angemeldeter Benutzernameubuntu
Änderungsberechtigungen als istsudo chown ubuntu:www-data example.com
. Dies gewährt dem Benutzer vollen Zugriffubuntu
und ermöglicht den Lese- und Ausführungszugriff auf die Gruppewww-data
.Bearbeiten Sie nun die Apache Conf-Datei,
/etc/apache2/apache2.conf
indem Sie den Befehl eingebensudo gedit apache2.conf
, die Zeile suchen<Directory /var/www/>
und unter dem schließenden Tag</Directory>
Folgendes hinzufügen:Nun gibt es zwei Befehle , um die Virtualhost - Konfigurationsdateien zu aktivieren oder zu deaktivieren, die sind
a2ensite
unda2dissite
jeweils. Da unsereexample.com.conf
Datei denselben Port (80
) verwendet wie die Standardkonfigurationsdatei (000-default.conf
), müssen wir die Standardkonfigurationsdatei durch Ausgabe des Befehls deaktivierensudo a2dissite 000-default.conf
und unsere virtualhost conf-Datei durch aktivierensudo a2ensite example.com.conf
Starten Sie nun den Server mit dem Befehl neu oder laden Sie ihn neu
sudo service apache2 restart
. Jetzt dient Apache Dateien aus dem Verzeichnisexample.com
anlocalhost
auf Standard - Port80
.Der
a2ensite
Befehl erstellt im Grunde genommen einen symbolischen Link zur conf-Datei im Site-fähigen VerzeichnisBearbeiten Sie keine Dateien in der Site-fähigen (oder * -aktivierten) Direktive, wie in dieser Antwort https://stackoverflow.com/a/41568701/2532763 angegeben
So ändern Sie den Port und führen ihn aus mehreren Verzeichnissen an verschiedenen Ports aus:
Wenn Sie das Verzeichnis nun an einem anderen Port ausführen müssen, ändern Sie die Portnummer von 80 auf 8080, indem Sie die virtualhost-Datei wie folgt bearbeiten:
und Bearbeiten
/etc/apache2/ports.conf
und HinzufügenListen 8080
direkt unter der LinieListen 80
Jetzt können wir die Standard-Konfigurationsdatei virtualhost aktivieren, die auf Port 80 ausgeführt wird, da das Verzeichnis example.com Port 8080 als verwendet
sudo a2ensite 000-default.conf
Starten Sie nun den Server mit dem Befehl neu oder laden Sie ihn neu
sudo service apache2 restart
. Jetzt kann vonlocalhost
und auf beide Verzeichnisse zugegriffen werdenlocalhost:8080
quelle
Ich habe mit LAMP gearbeitet und Um den Dokumentenstammordner zu ändern, habe ich die Standarddatei bearbeitet , die sich im Ordner / etc / apache2 / sites-available befindet . Wenn Sie dasselbe tun möchten, bearbeiten Sie es einfach wie folgt
Wenn Sie danach localhost in den Browser eingeben, wird der Inhalt * / home / username / new_root_folder * geladen .
quelle
Wenn du
http.conf
Nicks Weg nicht finden und ihm folgen könntest .Starten Sie Apache mit neu
sudo service apache2 restart
quelle
Für Apache2 unter Linux Mint 17.3 Cinnamon 64-Bit funktioniert Folgendes:
In
/etc/apache2/sites-available/
der offenen000-default.conf
Datei und die Änderung Document Root auf den absoluten Pfad des Verzeichnisses.sudo vim /etc/apache2/sites-available/000-default.conf
In
/etc/apache2/
offenenhttpd.conf
und fügen Sie ein<Directory>
Verzeichnis Tag Referenzierung und die exakt gleichen Einstellungen wie der Tag für die Aufnahmevar/www
.sudo vim /etc/apache2/apache2.conf
Auf meiner Maschine sah es so aus:
Hinweis: Im ersten Schritt möchten Sie wahrscheinlich auch das Dokumentstammverzeichnis in der
default-ssl.conf
Datei für SSL-Zwecke ändern . Soweit ich das beurteilen kann, ist dies jedoch nicht erforderlich, um eine allgemeine Entwicklungsumgebung zum Laufen zu bringen.quelle
In Apache Version 2.4.18 (Ubuntu).
1. Gehen Sie zu dieser Datei /etc/apache2/apache2.conf, suchen Sie
<Directory /var/www/>
nach Ihrem Verzeichnis und ersetzen Sie es in Ihrem Verzeichnis ......2. Gehen Sie zu /etc/apache2/sites-available/000-default.conf und suchen Sie
DocumentRoot /var/www/html
nach Ihrem DocumentRoot und ersetzen Sie ihn.quelle
Falls Sie Ubuntu 16.04 verwenden. Bitte aktualisieren Sie die Datei 000-default.conf im Verzeichnis / etc / apache2 / sites-available.
hier -> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / YourFolder
quelle
Ich hatte das
/var/www
zu einem Softlink zum gewünschten Verzeichnis gemacht (zB/users/username/projects
) und danach war alles in Ordnung.Das Original
/var/www
muss jedoch natürlich gelöscht oder umbenannt werden.quelle
Wenn jemand
LAMP
in dem/opt
Ordner installiert hat,/etc/apache2
ist das nicht das, wonach Sie suchen.Suchen Sie nach einer
httpd.conf
Datei in/opt/lampp/etc/httpd.conf
.Ändern Sie die Zeile in diesem Ordner und speichern Sie sie vom Terminal.
quelle
In RedHat 7.0:
/etc/httpd/conf/httpd.conf
quelle
Wenn Sie Linux Mint verwenden (persönliche Meinung, aus allen Distributionen macht mich diese glücklich), gehen Sie wie folgt vor:
1- Gehen Sie zu / etc / apache2 / sites-available und bearbeiten Sie 000-default.conf. 2- Suchen Sie nach DocumentRoot, Beispiel DocumentRoot / var / www / html, das Sie in Ihr jeweiliges Verzeichnis ändern. 3- Öffnen Sie das Terminal und geben Sie Folgendes ein: sudo service apache2 restart
BEARBEITET ----- Mir ist klar, dass Sie in Mint /etc/apache2/apache.conf aufrufen, / var / www durch Ihren jeweiligen Pfad ersetzen und dann den Server neu starten (Schritt 3).
Das ist es.
quelle
Gilt für Ubuntu 14.04 und spätere Versionen. Stellen Sie sicher, dass Sie die folgenden Dateien sichern, bevor Sie Änderungen vornehmen.
1.Öffnen
/etc/apache2/apache2.conf
und suchen Sie nach der<Directory /var/www/>
Direktive und ersetzen Sie den Pfad durch/home/<USERNAME>/public_html
. Sie können * anstelle von verwenden.2.Öffnen
/etc/apache2/sites-available/000-default.conf
und ersetzen Sie die WerteigenschaftDocumentRoot
von/var/www/html
bis/home/<USERNAME>/public_html
. Auch<Directory /var/www/html>
zu<Directory /home/<USERNAME>/public_html
.3.Öffnen
/etc/mods-available/php7.1.conf
. Suchen und kommentieren Sie den folgenden CodeSchalten Sie das
php_admin_flag engine OFF
Flag nicht ein, da der Grund im Kommentar über dem Richtliniencode angegeben ist. Auch PHP-Version kann 5.0, 7.0 oder alles sein, was Sie installiert haben.public_html
Verzeichnis erstellen inhome/<USERNAME>
.Starten Sie den Apache-Dienst neu, indem Sie den Befehl ausführen
sudo service apache2 restart
.Testen Sie, indem Sie ein Beispielskript auf dem Server ausführen.
quelle
Wenn Sie (wie ich) diesen Beitrag über Google finden:
Ich habe es unter /etc/apache2/sites-available/000-default.conf gefunden
quelle