Czy ktoś wie, jak zmienić katalog główny serwera Apache? Zasadniczo chcę localhost
pochodzić z /users/spencer/projects
katalogu zamiast /var/www
.
Edytować
W końcu to rozgryzłem. Niektórzy sugerowali zmianę httpd.conf
pliku, ale znalazłem plik /etc/apache2/sites-available/default
i zmieniłem katalog główny z /var/www
na /home/myusername/projects_folder
i to działało.
Odpowiedzi:
Musisz zmienić
DocumentRoot
ustawienie w swoimhttpd.conf
pliku. Są szanse, że będzie pod czymś takim/etc/apache2/conf/httpd.conf
Użyj swojego ulubionego edytora (polecam Vima ) i poszukaj go
DocumentRoot
i zmień na/users/spencer/projects
. Spójrz też nieco dalej w stronę ustawienia, które wygląda następująco:Będziesz także chciał zmienić zawartość cytatów w nowym katalogu. Dzięki temu Apache ma dostęp do odczytu z tego katalogu, gdy użytkownik wysyła żądanie do niego.
Teraz uruchom ponownie usługę Apache (
httpd -k restart
) i powinieneś być gotowy.Edycja : pliki konfiguracyjne strony Apache2 są teraz zwykle przechowywane w
/etc/apache2/sites-available/
(Debian, Ubuntu itp.).źródło
Należy pamiętać, że dotyczy to tylko Ubuntu 14.04 LTS i nowszych wersji.
W moim Ubuntu 14.04 LTS katalog główny dokumentu został ustawiony na
/var/www/html
. Został skonfigurowany w następującym pliku:Więc po prostu zrób
i zmień następujący wiersz na żądany:
Zrób też
i znajdź to
i przejdź
/var/www/html
do preferowanego katalogui zapisz to.
Po zapisaniu zmian po prostu uruchom ponownie serwer WWW Apache2 i gotowe :)
Jeśli wolisz graficzny edytor tekstu, możesz po prostu zastąpić go
sudo nano
przezgksu gedit
.źródło
var/www/html
jako domyślny root. Czy faktycznie próbują marnować czas ludzi? :)You don't have permission to access / on this server.
gdy uderzę w localhost: 80 w mojej przeglądarce. Czy muszę zmienić port?<Directory path_to_directory> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
w /etc/apache2/apache2.confMusiałem edytować
/etc/apache2/sites-available/default
. Linie są takie same jak wspomniane przez RDL.źródło
.conf
na końcu i domyślnie mają000-
jako prefiks”. Rezultatem jest/etc/apache2/sites-available/000-default.conf
. Nie przetestowałem tego, ale może to pomóc niektórym ludziom.Dotyczy to Ubunutu 14.04:
W pliku
/etc/apache2/apache2.conf
powinno być jak poniżej bez nazwy katalogu:a do pliku
/etc/apache2/sites-available/000-default.conf
należy dołączyć niestandardową nazwę katalogu, tj. www:Jeśli nie tak jak powyżej, pojawi się błąd podczas ładowania serwera:
Forbidden You don't have permission to access / on this server
źródło
Właściwy sposób zmiany katalogu lub uruchomienia z wielu katalogów pod innym portem dla apache2 jest następujący:
W przypadku apache2 pliki konfiguracyjne znajdują się pod
/etc/apache2
i nie używają pojedynczego pliku konfiguracyjnego, jak w starszych wersjach, ale są podzielone na mniejsze pliki konfiguracyjne,/etc/apache2/apache2.conf
będąc głównym plikiem konfiguracyjnym. Do obsługi plików z innego katalogu potrzebujemy nowego pliku conf wirtualnego hosta. Pliki conf wirtualnego hosta znajdują się w/etc/apache2/sites-available
(nie edytuj plików w obrębie witryn). Domyślna instalacja apache wykorzystuje plik conf virtualhost000-default.conf
.Rozpocznij od utworzenia nowego pliku virtualhost, kopiując domyślny plik virtualhost używany podczas domyślnej instalacji apache (ten, który działa na localhost na porcie 80). Przejdź do katalogu,
/etc/apache2/sites-available
a następnie wykonaj kopię przezsudo cp 000-default.conf example.com.conf
, teraz edytuj plik przezsudo gedit example.com.conf
:Dla zwięzłości usunąłem nieistotne wiersze z powyższego pliku. Oto
DocumentRoot
ścieżka do katalogu, z którego mają być obsługiwane pliki witryny, takie jakindex.html
.Utwórz katalog, z którego chcesz udostępnić pliki, na przykład;
mkdir example.com
i zmień właściciela i domyślną grupę katalogu, np. jeśli zalogowana nazwa użytkownika toubuntu
zmiana uprawnień assudo chown ubuntu:www-data example.com
. Zapewnia to pełny dostęp do użytkownikaubuntu
i umożliwia odczyt i wykonywanie dostępu do grupywww-data
.Teraz edytuj plik apache conf,
/etc/apache2/apache2.conf
wydając poleceniesudo gedit apache2.conf
i znajdź linię,<Directory /var/www/>
a pod tagiem zamykającym</Directory>
dodaj następujące:Obecnie istnieją dwa polecenia włączyć lub wyłączyć virtualhost pliki konfiguracyjne, które są
a2ensite
ia2dissite
odpowiednio. Ponieważ naszexample.com.conf
plik korzysta z tego samego portu (80
), co używany przez domyślny plik konfiguracyjny (000-default.conf
), musimy wyłączyć domyślny plik konfiguracyjny, wydając poleceniesudo a2dissite 000-default.conf
i włączyć plik conf wirtualnego hosta przezsudo a2ensite example.com.conf
Teraz uruchom ponownie lub ponownie załaduj serwer za pomocą polecenia
sudo service apache2 restart
. Teraz służy apache pliki z kataloguexample.com
nalocalhost
na domyślnym porcie80
.The
a2ensite
Komenda zasadzie tworzy dowiązanie symboliczne do pliku conf z katalogu witryn obsługującychNie edytuj plików w obrębie bezpośredniego (lub * włączonego) directo, jak wskazano w tej odpowiedzi https://stackoverflow.com/a/41568701/2532763
Aby zmienić port i uruchomić z wielu katalogów na różnych portach:
Teraz, jeśli chcesz uruchomić katalog na innym porcie, zmień numer portu z 80 na 8080, edytując plik virtualhost jako:
oraz edytowanie
/etc/apache2/ports.conf
i dodawanieListen 8080
tuż poniżej liniiListen 80
Teraz możemy włączyć domyślny plik conf wirtualnego hosta, który działa na porcie 80, ponieważ katalog example.com używa portu 8080, as
sudo a2ensite 000-default.conf
Teraz uruchom ponownie lub ponownie załaduj serwer za pomocą polecenia
sudo service apache2 restart
. Teraz oba katalogi są dostępne zlocalhost
ilocalhost:8080
źródło
Pracowałem z LAMP i aby zmienić folder główny dokumentu , edytowałem domyślny plik, który znajduje się w folderze / etc / apache2 / sites-available . Jeśli chcesz zrobić to samo, po prostu edytuj w następujący sposób
Następnie, jeśli wpiszesz localhost w przeglądarce, załaduje zawartość * / home / username / new_root_folder * .
źródło
Jeśli nie możesz znaleźć
http.conf
i podążyć drogą Nicka.Uruchom ponownie Apache za pomocą
sudo service apache2 restart
źródło
W przypadku apache2 na Linux Mint 17.3 Cinnamon 64-bit działają:
W
/etc/apache2/sites-available/
otworzyć000-default.conf
plik i zmienić głównego dokumentu do bezwzględnej ścieżki katalogu.sudo vim /etc/apache2/sites-available/000-default.conf
W
/etc/apache2/
otwartymhttpd.conf
i dodać<Directory>
tag Twego katalog i zawierającą dokładnie te same ustawienia jako znacznikavar/www
.sudo vim /etc/apache2/apache2.conf
Na mojej maszynie wyglądało to tak:
Uwaga: w pierwszym kroku prawdopodobnie chcesz zmienić katalog główny również w
default-ssl.conf
pliku dla celów SSL. Ale o ile wiem, nie jest to wymagane do uruchomienia ogólnego środowiska programistycznego.źródło
W wersji Apache 2.4.18 (Ubuntu).
1. przejdź do tego pliku /etc/apache2/apache2.conf i wyszukaj w
<Directory /var/www/>
katalogu ...2. przejdź do /etc/apache2/sites-available/000-default.conf wyszukaj
DocumentRoot /var/www/html
i zamień na swój DocumentRoot ....źródło
Jeśli używasz Ubuntu 16.04. Zaktualizuj 000-default.conf w katalogu / etc / apache2 / sites-available.
tutaj -> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / YourFolder
źródło
Stworzyłem
/var/www
miękki link do wymaganego katalogu (np./users/username/projects
) I potem wszystko poszło dobrze.Naturalnie jednak
/var/www
trzeba usunąć oryginał lub zmienić jego nazwę.źródło
Jeśli ktoś zainstalował się
LAMP
w/opt
folderze,/etc/apache2
to nie jest to, czego szukasz.Poszukaj
httpd.conf
pliku w/opt/lampp/etc/httpd.conf
.Zmień wiersz w tym folderze i zapisz go z terminala.
źródło
W RedHat 7.0:
/etc/httpd/conf/httpd.conf
źródło
Jeśli używasz Linux Mint (osobista opinia, ze wszystkich dystrybucji to mnie uszczęśliwia), wykonaj następujące czynności:
1- Idź do / etc / apache2 / sites-available i edytuj 000-default.conf 2- Wyszukaj DocumentRoot, na przykład DocumentRoot / var / www / html przechodzisz do odpowiedniego katalogu; 3- Otwórz terminal i wpisz: sudo service apache2 restart
ZMIENIONO ----- Zdaję sobie sprawę, że w Mint wybierasz /etc/apache2/apache.conf, zamieniasz / var / www na odpowiednią ścieżkę, niż restartujesz serwer (krok 3).
Otóż to.
źródło
Dotyczy Ubuntu 14.04 i nowszych wersji. Przed wprowadzeniem jakichkolwiek zmian należy wykonać kopię zapasową następujących plików.
1. Otwórz
/etc/apache2/apache2.conf
i wyszukaj<Directory /var/www/>
dyrektywę i zamień ścieżkę na/home/<USERNAME>/public_html
. Możesz użyć * zamiast.2. Otwórz
/etc/apache2/sites-available/000-default.conf
i zastąpDocumentRoot
właściwość wartości od/var/www/html
do/home/<USERNAME>/public_html
. Również<Directory /var/www/html>
do<Directory /home/<USERNAME>/public_html
.3. Otwórz
/etc/mods-available/php7.1.conf
. Znajdź i skomentuj następujący kodNie włączaj
php_admin_flag engine OFF
flagi, ponieważ przyczyna jest wymieniona w komentarzu powyżej kodu dyrektywy. Również wersja php może być 5.0, 7.0 lub cokolwiek, co zainstalowałeś.Utwórz
public_html
katalog whome/<USERNAME>
.Uruchom ponownie usługę Apache, wykonując polecenie
sudo service apache2 restart
.Przetestuj, uruchamiając przykładowy skrypt na serwerze.
źródło
Jeśli (podobnie jak ja) znajdujesz ten post za pośrednictwem Google:
Znalazłem go na /etc/apache2/sites-available/000-default.conf
źródło