Mam cmsplus.dev
pod /etc/apache2/sites-available
poniższym kodem,
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.cmsplus.dev
ServerAlias cmsplus.dev
DocumentRoot /var/www/cmsplus.dev/public
LogLevel warn
ErrorLog /var/www/cmsplus.dev/log/error.log
CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>
Teraz kiedy używam sudo /usr/sbin/a2ensite cmsplus.dev
, pojawia się błąd,
ERROR: Site cmsplus.dev does not exist!
Mój serwer internetowy Apache/2.4.6 (Ubuntu)
Jak rozwiązać ten problem?
apache
apache2
virtualhost
devo
źródło
źródło
Prawdopodobnie zaktualizowałeś instalację Ubuntu, a jedna z aktualizacji obejmowała aktualizację Apache do wersji 2.4.x
W Apache 2.4.x pliki konfiguracyjne vhost, znajdujące się w katalogu / etc / apache2 / sites-available, muszą mieć rozszerzenie .conf.
Za pomocą terminalu (komenda mv) zmień nazwę wszystkich istniejących plików konfiguracyjnych i dodaj do nich rozszerzenie .conf.
Jeśli pojawi się błąd „Odmowa zezwolenia”, dodaj „sudo” przed poleceniami terminalu.
Nie musisz wprowadzać żadnych innych zmian w plikach konfiguracyjnych.
Włącz vhost (y):
A następnie ponownie załaduj Apache:
Twoje strony powinny być już gotowe.
AKTUALIZACJA: Jak wspomniano tutaj , zainstalowana dystrybucja Linuksa zmieniła konfigurację na Uwzględnij tylko * .conf. Dlatego nie ma to nic wspólnego z Apache 2.2 lub 2.4
źródło
Jest jeszcze jeden dobry sposób, po prostu edytuj plik
apache2.conf
na końcu liniipo prostu usuń
.conf
na końcu, w ten sposóbi zrestartuj serwer.
(Próbowałem tego tylko w Ubuntu 13.10, kiedy go zaktualizowałem.)
źródło
.conf
do plików konfiguracyjnych zrobiło to jednak.Właśnie miałem ten sam problem. Powiedziałbym, że nie ma to nic wspólnego z apache.conf.
a2ensite musiało się zmienić - linia 532 to linia, która wymusza przyrostek .conf:
Jeśli zmienisz na:
... będzie działać bez żadnego przyrostka.
Oczywiście nie chcesz zmieniać skryptu a2ensite, ale zmiana sufiksu pliku conf jest poprawna.
Prawdopodobnie jest to tylko sposób na wymuszenie poprawki „.conf”.
źródło
Więc .. najszybszym sposobem jest zmiana nazw nazw konfiguracji stron kończących się na „.conf”
inne uwagi do poprzednich komentarzy:
Opcja Uwzględnij nie została wprowadzona do czasu apache 2.36 - wprowadzenie powyższej zmiany, a następnie restart w wersji 2.2 spowoduje, że serwer nie działa!
również wersja 2.2 a2ensite nie może być zhakowana zgodnie z opisem
ponieważ plik dostępny w witrynie jest tak naprawdę plikiem konfiguracyjnym, i tak należy go tak nazwać.
Zasadniczo nie uruchamiaj ponownie usług (serwery WWW są jednym z rodzajów usług):
Serwery mogą działać przez wiele lat - aktualizacja na żywo, ponowne ładowanie konfiguracji itp.
Chmura nie oznacza, że musisz ponownie uruchomić, aby załadować plik konfiguracyjny.
Zmieniając konfigurację usługi, użyj „przeładuj”, a nie „uruchom ponownie”.
restart zatrzymuje usługę, a następnie uruchamia usługę - jeśli wystąpi jakikolwiek problem w zmianie konfiguracji, usługa nie uruchomi się ponownie.
przeładowanie spowoduje błąd, ale usługa nigdy się nie wyłącza, co daje szansę naprawienia błędu konfiguracji, co może być tylko złą składnią.
debian lub ubunto [nazwa usługi dla tego wątku to apache2]
pozostałe os pozostały jako rozmiar dla czytelnika.
źródło
Działa po dodaniu
.conf
do pliku konfiguracyjnegoźródło
Właśnie zaktualizowałem wersję Ubuntu Server z 12.04 LTS do 14.04 LTS.
Rzeczywiście, jak powiedziano powyżej, rozszerzenie .conf do Apache 2.4.x jest potrzebne do plików vhost stron internetowych, które znajdują się w katalogu stron dostępnych.
Przed przeczytaniem tego pytania nie miałem pojęcia, co się dzieje z serwerem.
Całkiem fajne rozwiązanie.
Podsumowując, wykonałem następujące kroki na terminalu:
1) Uzyskaj dostęp do folderu obsługującego witryny
2) Ponieważ polecenie a2dissite nie będzie działać z przestarzałymi plikami (bez .conf), usuń stare pliki stron internetowych, które zostały opublikowane
3) Zmień nazwę plików vhostów witryny, zmieniając rozszerzenie, dodając .conf na końcu
4) Opublikuj ponownie nowy i poprawny plik vhost
5) Sprawdź stronę w przeglądarce i baw się dobrze! :)
źródło
W moim przypadku z Ubuntu 14.04.3 i Apache 2.4.7 problem polegał na tym, że skopiowałem site1.conf, aby udostępnić site2.conf, a po skopiowaniu coś się stało i nie mogłem a2ensite site2.conf z błędem opisanym w wątku .
Rozwiązaniem było dla mnie zmiana nazwy witryny2.conf na site2, a następnie zmiana nazwy witryny2 na site2.conf. Po tym byłem w stanie a2ensite site2.conf.
źródło
Wiem, że tak nie jest, ale może komuś pomóc.
Dokładnie sprawdź, czy plik conf nie został utworzony przez pomyłkę w / etc / apache2 / sites. Otrzymujesz ten sam błąd.
źródło
Spróbuj w ten sposób ..
i dodaj wpis w / etc / hosts
uruchom ponownie apache ..
źródło
It works
stronę zamiast ustawień..conf
rozszerzenie do tych plików konfiguracyjnych witryny.