od wielu lat hostuję własne strony internetowe. Od czasu przejścia z OS / 2 na Linuksa ponad 20 lat temu używałem Apache jako oprogramowania serwerowego. Apache jest solidny, dobrze znany i dość łatwy w konfiguracji do podstawowej instalacji. Nie jest to tak naprawdę dużo trudniejsze do skonfigurowania dla bardziej złożonej konfiguracji, takiej jak wiele stron internetowych.
instalacja i konfiguracja serwera WWW Apache musi być wykonywana jako root. Konfigurowanie zapory musi być również wykonywane jako root., Korzystanie z przeglądarki do przeglądania wyników tej pracy powinno być wykonywane jako użytkownik nie-root. (Używam użytkownikastudent
na moim wirtualnym hoście.)
instalacja
Uwaga: Ten artykuł został zaktualizowany przy użyciu Fedory 33 z Apache 2.4.46. Jeśli używasz innej dystrybucji lub innej wersji Fedory, Twoje polecenia, lokalizacje i zawartość plików konfiguracyjnych mogą być różne. Jednak linie konfiguracyjne, które musisz zmodyfikować, są takie same niezależnie od dystrybucji.
serwer WWW Apache jest łatwy w instalacji., Za pomocą jednego polecenia można go zainstalować i wszystkie niezbędne zależności:
$ dnf install httpd
wszystkie pliki konfiguracyjne Apache znajdują się w /etc/httpd/conf
I /etc/httpd/conf.d
. Dane dla stron internetowych, które uruchomisz z Apache, znajdują się domyślnie w /var/www
, ale możesz to zmienić, jeśli chcesz.
Konfiguracja
podstawowym plikiem konfiguracyjnym Apache jest/etc/httpd/conf/httpd.conf
. Zawiera wiele instrukcji konfiguracyjnych, które nie muszą być zmieniane dla podstawowej instalacji., W rzeczywistości należy wprowadzić tylko kilka zmian w tym pliku,aby uruchomić podstawową witrynę. Plik jest bardzo duży, więc zamiast zaśmiecać ten artykuł wieloma niepotrzebnymi rzeczami, pokażę tylko te dyrektywy, które trzeba zmienić.
najpierw poświęć trochę czasu i przejrzyj plik httpd.conf
, aby się z nim zapoznać. Jedną z rzeczy, które lubię w wersjach Red Hat większości plików konfiguracyjnych, jest liczba komentarzy opisujących różne sekcje i dyrektywy konfiguracyjne w plikach., Plik httpd.conf
nie jest wyjątkiem, ponieważ jest dość dobrze skomentowany. Użyj tych komentarzy, aby zrozumieć konfigurację pliku.
pierwszą rzeczą do zmiany jest polecenieListen
, które określa adres IP i port, na którym Apache ma nasłuchiwać żądań stron. W tej chwili wystarczy udostępnić tę stronę na lokalnym komputerze, więc użyj adresu localhost
., Linia powinna wyglądać tak po zakończeniu:
Listen 127.0.0.1:80
z tą dyrektywą ustawioną na adres IPlocalhost
, Apache będzie nasłuchiwał tylko dla połączeń z lokalnego hosta. Jeśli chcesz, aby serwer WWW nasłuchiwał połączeń ze zdalnych hostów, użyjesz zewnętrznego adresu IP hosta.
dyrektywaDocumentRoot
określa lokalizację plików HTML, które tworzą strony witryny. Ta linia nie musi być zmieniana, ponieważ wskazuje już na standardową lokalizację., Linia powinna wyglądać następująco:
DocumentRoot "/var/www/html"
instalacja Apache rpm tworzy drzewo katalogów /var/www
. Jeśli chcesz zmienić lokalizację, w której przechowywane są pliki witryny, służy do tego ta pozycja konfiguracyjna. Na przykład, możesz użyć innej nazwy podkatalogu www
, aby ułatwić identyfikację witryny. To może wyglądać tak:
DocumentRoot "/var/mywebsite/html"
są to jedyne zmiany konfiguracji Apache potrzebne do stworzenia prostej strony internetowej., W tym małym ćwiczeniu wprowadzono tylko jedną zmianę w pliku httpd.conf
—dyrektywę Listen
. Wszystko inne jest już skonfigurowane do produkcji działającego serwera www.
potrzebna jest jednak jeszcze jedna zmiana: otwarcie portu 80 w naszym firewallu. Używam iptables jako Firewalla, więc zmieniam /etc/sysconfig/iptables
aby dodać instrukcję pozwalającą na protokół HTTP. Cały plik wygląda tak:
linia, którą dodałem jest trzecią od dołu, która umożliwia ruch przychodzący na porcie 80. Teraz przeładowuję zmienioną konfigurację iptables.,
# cd /etc/sysconfig/ ; iptables-restore iptables
Utwórz indeks.plik html
plikindex.html
jest domyślnym plikiem, który serwer WWW będzie obsługiwał podczas uzyskiwania dostępu do witryny przy użyciu tylko nazwy domeny, a nie konkretnej nazwy pliku HTML. W katalogu /var/www/html
Utwórz plik o nazwie index.html
. Dodaj treść Hello World
. Nie musisz dodawać żadnych znaczników HTML, aby to działało. Jedynym zadaniem serwera www jest serwowanie strumienia danych tekstowych, a serwer nie ma pojęcia, jaka jest data i jak ją renderować., Po prostu przesyła strumień danych do żądającego hosta.
Po zapisaniu pliku Ustaw własność na apache.apache
.
# chown apache.apache index.html
Uruchom Apache
Apache jest bardzo łatwy do uruchomienia. Aktualne wersje Fedory używają systemd
. Uruchom następujące polecenia, aby go uruchomić, a następnie sprawdzić status serwera:
polecenia mogą być różne na twoim serwerze., W systemach Linux, które używają skryptów startowych SystemV, polecenia będą:
Jeśli masz przeglądarkę internetową, taką jak Firefox lub Chrome na swoim komputerze, możesz użyć adresu URL localhost
w linii adresu URL przeglądarki, aby wyświetlić stronę internetową, proste, jak to jest. Możesz również użyć przeglądarki internetowej w trybie tekstowym, takiej jak Lynx, aby wyświetlić stronę internetową. Najpierw zainstaluj Lynx (jeśli nie jest jeszcze zainstalowany).
# dnf -y install lynx
następnie użyj następującego polecenia, aby wyświetlić stronę internetową.
# lynx localhost
wynik wygląda tak w mojej sesji terminala., Usunąłem dużo pustego miejsca na stronie.
następnie Edytuj swój plik index.html
I dodaj trochę znaczników HTML, aby wyglądał tak:
<h1>Hello World</h1>
teraz odśwież przeglądarkę. W przypadku rysia użyj kombinacji klawiszy Ctrl + R. wyniki wyglądają nieco inaczej. Tekst jest kolorowy, czyli jak Lynx wyświetla nagłówki, jeśli terminal obsługuje kolor, i jest teraz wyśrodkowany. W przeglądarce GUI tekst byłby pisany dużą czcionką.
rozstanie myśli
Jak widać z tego małego ćwiczenia, łatwo jest skonfigurować serwer WWW Apache., Szczegóły będą się różnić w zależności od twojej dystrybucji i wersji Apache dostarczonej przez tę dystrybucję. W moim środowisku było to dość trywialne ćwiczenie.
ale jest tego więcej, ponieważ Apache jest bardzo elastyczny i potężny. W przyszłym miesiącu omówię hosting wielu stron internetowych przy użyciu jednej instancji Apache.
Ten artykuł został pierwotnie opublikowany w 2018 roku i został zaktualizowany przez redaktora.