Skonfiguruj Apache na systemie operacyjnym Ubuntu
Ostatnia aktualizacja: 2019-12-20
Autor: Rackspace Support
System operacyjny Ubuntu używa innego układu Apache niż używany w systemach operacyjnych Nie opartych na Debianie. Różnice są niewielkie, ale pomocne w konfigurowaniu i wdrażaniu stron internetowych. W tym artykule wyjaśniono niektóre ustawienia konfiguracji witryny i modułu dla Apache w systemie operacyjnym Ubuntu oraz opisano, jak włączać i wyłączać witryny i moduły w razie potrzeby.
przed rozpoczęciem
użyj aptitude
, aby zainstalować Apache na swoim serwerze z systemem operacyjnym Ubuntu.
zaletą korzystania z aptitude
jest to, że otrzymasz wszelkie aktualizacje zabezpieczeń z systemu operacyjnego Ubuntu (jeśli i kiedy są dystrybuowane), a zależności są automatycznie instalowane.
Wyświetl plik konfiguracyjny
aby wyświetlić zawartość pliku konfiguracyjnego Apache, uruchom następujące polecenia:
$ cd /etc/apache2$ ls
wynik powinien wyglądać następująco:
apache2.conf envvars mods-available ports.conf sites-enabledconf.d httpd.conf mods-enabled sites-available
ustawienia konfiguracji
Ta sekcja wyjaśnia ustawienia konfiguracji w następujących folderach:
- witryny-dostępne
- witryny-włączone
- mody-dostępne
- mody-włączone
witryny-dostępne
folder witryny-dostępne zawiera konfiguracje dla każdej witryny, którą chcesz obsługiwać. Są one znane jako wirtualne hosty lub vhosty.
jeśli zajrzysz do tego folderu, powinieneś zobaczyć, że dostępna jest jedna (Domyślna) strona:
$ ls sites-available/...default default-ssl
instalacja Apache ma domyślny i domyślny-ssl vhost dostępny. Kiedy wejdziesz na adres IP swojego serwera w chmurze i uzyskasz ” to działa!”komunikat, plik Default mówi Apache’ owi, co ma zrobić i gdzie znajdują się pliki.
Uwaga: plik w folderze sites-available nie jest automatycznie aktywny. Jest po prostu dostępny do serwowania, jeśli go włączysz.
z obsługą witryn
folder z obsługą witryn zawiera dowiązania symboliczne do witryn, które faktycznie obsługujesz.
na przykład możesz mieć skonfigurowane dwa hosty vhost i gotowe do użycia w folderze witryny-availablefolder, ale obsługiwany jest tylko host vhost, który ma dowiązanie symboliczne z folderu z obsługą witryny.
jeśli zajrzysz do tego folderu, zobaczysz, która witryna jest aktualnie włączona:
$ ls -l sites-enabled...lrwxrwxrwx 1 root root 26 Nov 28 22:38 000-default -> ../sites-available/default
ten wynik pokazuje, że strona domyślna jest włączona. Dowiązanie symboliczne o nazwie 000-default łączy się z domyślnym plikiem w folderze sites-available.
Uwaga: Domena może wskazywać adres IP serwera chmury, ale nie ma pliku konfiguracyjnego witryny. W takim przypadku wyświetlana jest pierwsza strona aktywna (Alfabetycznie). Na przykład zostanie użyta konfiguracja dla 000-default.
mods-available
folder mods-available zawiera moduły, które są dostępne do załadowania.
zajrzyj do folderu, uruchamiając następujące polecenie:
$ ls mods-available
lista modułów jest dostępna w instalacji podstawowej, ale nie wszystkie są włączone, tylko dostępne do użytku. Podobnie jak w przypadku plików vhosts, wszystkie moduły, których chcesz użyć, muszą być włączone.
mods-enabled
folder mods-enabled zawiera dowiązania symboliczne do włączonych modułów.
Użyj następującego polecenia, aby zajrzeć do folderu:
$ ls mods-enabled
ta wynikowa lista jest znacznie krótsza niż lista dostępnych modułów i zawiera włączone moduły, takie jak php5.conf.
Włącz witryny i moduły
możesz użyć poleceń w tej sekcji, aby włączyć i wyłączyć witryny i moduły.
a2dissite
polecenie a2dissite
usuwa dowiązanie symboliczne do wcześniej włączonej witryny.
na przykład, aby wyłączyć domyślną witrynę, uruchom następujące polecenie:
$ sudo a2dissite default
łącze symboliczne do domyślnej witryny w folderze z obsługą witryn jest usuwane. Powinieneś zobaczyć wyjście podobne do następującego wyjścia:
Site default disabled.Run '/etc/init.d/apache2 reload' to activate new configuration!
Przeładuj Apache za pomocą następującego polecenia, aby upewnić się, że witryna jest w pełni wyłączona:
$ sudo /etc/init.d/apache2 reload
kiedy teraz odwiedzisz adres IP swojego serwera w chmurze w przeglądarce internetowej, otrzymasz komunikat 404 Not Found
zamiast ” to działa!”strona.
Uwaga: główny plik vhosts w folderze sites-available nadal istnieje. Polecenie a2dissite
właśnie usunęło dowiązanie symboliczne do niego w folderze sites-enabled.
a2ensite
polecenie a2ensite
ustanawia dowiązanie symboliczne do witryny, która nie jest jeszcze włączona.
Włącz domyślną stronę za pomocą następującego polecenia:
$ sudo a2ensite default
powinieneś zobaczyć wyjście podobne do następującego wyjścia:
Enabling site default.Run '/etc/init.d/apache2 reload' to activate new configuration!
Przeładuj Apache za pomocą następującego polecenia, aby upewnić się, że witryna jest włączona:
$ sudo /etc/init.d/apache2 reload
jeśli odwiedzisz witrynę z adresem IP serwera w chmurze w przeglądarce internetowej, zobaczysz, że domyślne”to działa!”strona jest serwowana.
a2dismod
polecenie a2dismod
wyłącza wszystkie wcześniej włączone Moduły.
na przykład wyłącz moduł PHP5 za pomocą następującego polecenia:
$ sudo a2dismod php5
powinieneś zobaczyć wyjście podobne do następującego wyjścia:
Module php5 disabled.Run '/etc/init.d/apache2 restart' to activate new configuration!
jeśli spojrzysz w folderze mods-enabled, zobaczysz, że php5.confand php5.dowiązania symboliczne ładowania zostały usunięte.
Uwaga: Pamiętaj, aby przeładować Apache po każdej zmianie modułu adresu IP serwera w chmurze, aby odzwierciedlić wszelkie wprowadzone zmiany.
a2enmod
polecenie a2enmod
włącza dowolny moduł znajdujący się w folderze mods-available.
na przykład Włącz moduł PHP5, uruchamiając następujące polecenie:
$ sudo a2enmod php5
powinieneś zobaczyć wyjście podobne do następującego wyjścia:
Enabling module php5. Run '/etc/init.d/apache2 restart' to activate new configuration!
jeśli sprawdzisz folder mods-enabled, zobaczysz php5.conf andphp5.Wczytaj dowiązania symboliczne.
Uwaga: Pamiętaj, aby przeładować Apache po każdej zmianie modułu dla adresu IP serwera w chmurze, aby odzwierciedlić wszelkie zmiany, które wprowadziłeś.