Aby administrować witryną na serwerze lokalnym, musisz zainstalować wiele dodatkowych komponentów, które organizują pojedynczy system, który działa płynnie i bez żadnych błędów. Za jeden z głównych elementów takiej struktury można uznać serwer WWW. Użytkownicy najczęściej preferują Apache ze względu na jego prostotę i elastyczność konfiguracji, a także możliwość podłączenia zewnętrznych modułów. Jednak instalacja i podstawowa konfiguracja nie jest procesem szybkim, a dla niektórych nawet trudnym, dlatego chcielibyśmy o tym porozmawiać bardziej szczegółowo, biorąc za przykład dystrybucję CentOS 7.
Zainstaluj Apache na CentOS 7
Struktura dzisiejszego artykułu będzie podzielona na etapy, aby nawet najbardziej początkujący użytkownik wiedział, jak dokładnie przebiega instalacja i przygotowanie danego serwera WWW. Wyjaśnijmy od razu, że nie udostępniamy wskazówek dotyczących szczegółowej konfiguracji Apache, ponieważ zależy to od osobistych preferencji użytkownika i pozostałych ważnych dostępnych komponentów. Aby uzyskać te informacje, zawsze zalecamy zapoznanie się z oficjalną dokumentacją.
Krok 1: przygotowanie i instalacja
Zacznijmy od razu od zainstalowania komponentów Apache i dodania wszystkich usług pomocniczych. Sugerujemy skorzystanie w tym celu z repozytorium dystrybucji, ponieważ zawsze ładowana jest tam najnowsza stabilna wersja oprogramowania, a sam proces instalacji nie zajmuje dużo czasu.
- Biegać "Terminal"na przykład za pomocą ikony w sekcji Ulubione.
- Jeśli wcześniej zainstalowałeś Apache na swoim komputerze lub przypadkowo usunąłeś jeden z jego składników, po prostu użyj polecenia
sudo yum aktualizacja httpd
aktywując go poprzez naciśnięcie klawisza Wchodzić. - Ta akcja jest wykonywana w imieniu superużytkownika, co oznacza, że będziesz musiał to potwierdzić, określając hasło do tego konta.
- Jeśli aktualizacje są zainstalowane, zostaniesz o tym powiadomiony, a jeśli pakietu będzie brakować, pojawi się inny komunikat o odpowiednim charakterze.
- Porozmawiajmy teraz o instalacji Apache od zera. Jak powiedzieliśmy, użyjemy do tego oficjalnych repozytoriów, dlatego musisz wprowadzić polecenie
sudo yum zainstaluj httpd
. - Gdy pojawi się powiadomienie o instalacji pakietu, potwierdź je, wybierając opcję y.
- Poczekaj na zakończenie instalacji, w tym czasie nie zamykaj bieżącej sesji terminala, aby nie przerywać procesu.
- Po zakończeniu zaleca się natychmiast uruchomić serwer WWW, co można zrobić za pomocą
sudo systemctl uruchom httpd
. - Sprawdź aktualny stan poprzez
sudo systemctl status httpd
. - Powiadomienie „Aktywny: aktywny (działa)” oznacza, że teraz Apache działa poprawnie i możesz przystąpić do jego dalszej konfiguracji.
To wszystko, co trzeba było wiedzieć o podstawowej procedurze instalacji serwera WWW. Jak widać, nie ma w tym nic skomplikowanego. Następnie chcemy porozmawiać o interakcji z głównymi usługami i ustawieniu podstawowej konfiguracji, a Ty decydujesz, czy powinieneś zapoznać się z tymi instrukcjami, czy już masz wiedzę na temat konfiguracji i zarządzania.
Krok 2: Zarządzaj usługą Apache
Serwer WWW na CentOS, podobnie jak inne dystrybucje, działa w tle jako usługa. Domyślnie jest dodawany do startu, ao aktywacji i sprawdzaniu statusu rozmawialiśmy już wcześniej. Jeśli chcesz zarządzać tym narzędziem, robi się to w następujący sposób:
- Wchodzić
sudo systemctl zatrzymaj httpd
aby całkowicie zatrzymać Apache. - To i wszystkie kolejne polecenia będą wykonywane w imieniu superużytkownika, więc będziesz musiał to potwierdzić, wprowadzając odpowiednie hasło.
- Ponowne uruchomienie następuje za pomocą polecenia
sudo systemctl zrestartuj httpd
... To polecenie jest istotne w sytuacjach, gdy serwer ulega awarii lub wymaga ponownego uruchomienia ze względu na specyfikę interakcji z innymi komponentami. - Posługiwać się
sudo systemctl przeładuj httpd
jeśli chcesz, aby wszystkie zmiany dokonane po konfiguracji odniosły skutek bez przerywania jakichkolwiek połączeń. - Komenda
sudo systemctl wyłącz httpd
usuwa Apache z uruchamiania isudo systemctl włącz httpd
zwraca stan standardowy. Dodatkowo, gdy opcja jest włączona, zostaniesz powiadomiony o utworzeniu nowego dowiązania symbolicznego odpowiedzialnego za ten parametr.
Jak widać, najbardziej standardowe polecenia kontrolują stan usługi. Nie będzie trudno je zapamiętać, jeśli często będziesz musiał uciekać się do takich środków podczas administrowania siecią, oddzielną witryną lub dowolnymi aplikacjami.
Krok 3: podstawowa konfiguracja
Podstawowa konfiguracja obejmuje skonfigurowanie wirtualnego hosta, który jest przydatny do izolowania ustawień i hostowania różnych domen na tym samym serwerze. Jeden standardowy wirtualny host wystarczy, jeśli masz do czynienia tylko z jedną witryną, ale rejestrując inne domeny będziesz musiał uciec się do stworzenia dodatkowych parametrów. Teraz jako przykład weźmiemy standardowego hosta wirtualnego i w razie potrzeby zmienisz jego adres.
- Zacznijmy od utworzenia katalogu, w którym będą przechowywane wszystkie pliki podrzędne hosta wirtualnego. Odbywa się to za pomocą polecenia
sudo mkdir -p /var/www/example.com/html
. - Wymagany jest również dodatkowy folder, w którym dzienniki zdarzeń będą automatycznie zapisywane. Aby go dodać, wprowadź
sudo mkdir -p /var/www/example.com/log
. - Ustaw domyślne uprawnienia do katalogu za pośrednictwem
sudo chown -R $ UŻYTKOWNIK: $ UŻYTKOWNIK /var/www/example.com/html
. - Dodatkowo ustaw i przywileje dla każdego użytkownika, wstawiając
sudo chmod -R 755 / var / www
. - Zacznijmy tworzyć przykładową stronę wzorcową, która będzie wyświetlana podczas sprawdzania kondycji hosta. Utwórz nowy plik tekstowy za pomocą wygodnego edytora, na przykład za pomocą nano, powinieneś wprowadzić
sudo nano /var/www/example.com/html/index.html
. - Po otwarciu edytora tekstu zostaniesz powiadomiony, że jest to nowy plik. Nie martw się, tak powinno być. Tworzymy go celowo, ustawiając odpowiednią konfigurację.
- Wklej poniższy kod, zastępując standardowe powitanie dowolnym tekstem. Jeśli chcesz, możesz całkowicie przeprojektować strukturę, tworząc stronę, która Ci odpowiada.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html></code>
- Zapisz zmiany, klikając Ctrl + Oa następnie opuść edytor tekstu przez Ctrl + X.
- To były tylko wstępne ustawienia. Przejdźmy teraz do samego hosta wirtualnego: najpierw musisz określić foldery do jego przechowywania. Aby to zrobić, wprowadź
sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled
. - Następnie powiedz serwerowi WWW, że musi teraz komunikować się z innymi komponentami. Zadanie to jest realizowane poprzez edycję głównego pliku konfiguracyjnego. Uruchom go w edytorze tekstu, określając
sudo nano /etc/httpd/conf/httpd.conf
. - Zejdź na dół listy i wstaw wiersz
UwzględnijOpcjonalnie włączone witryny / *. Konf
. - Pamiętaj, aby zapisać wszystkie zmiany przed wyjściem z edytora tekstu.
- Aby utworzyć wirtualny host, potrzebujesz jeszcze jednego pliku konfiguracyjnego. Utwórz go przez
sudo nano /etc/httpd/sites-available/example.com.conf
. - Wklej tam następującą treść, zastępując wymagane wiersze własną.
Nazwa serwera www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log łącznie
- Pozostaje tylko aktywować plik, tworząc dowiązanie symboliczne za pośrednictwem
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
.
Krok 4: Konfiguracja kontroli dostępu
Jeśli mówimy o konfigurowaniu parametrów globalnych, to konieczne jest zapewnienie kontroli dostępu, określając liczbę użytkowników, którzy będą mogli dokonywać zmian w rozważanych wcześniej katalogach. Ta procedura jest wykonywana przy użyciu standardowego narzędzia SELinux odpowiedzialnego za zarządzanie poziomami dostępu.
- Ustaw globalne ustawienia zabezpieczeń za pośrednictwem
sudo setsebool -P httpd_unified 1
... Zapewni to, że wszystkie typy procesów będą obsługiwane jako jeden. - Następnie zaleca się sprawdzenie aktualnych opcji SELinux, które zostały dostarczone automatycznie. Aby to zrobić, napisz
sudo ls -dZ /var/www/example.com/log/
. - W rezultacie zobaczysz zawartość drwxr-xr-x. root root unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/... Oznacza to, że teraz Apache może czytać tylko te pliki, które zostały utworzone w zainstalowanym folderze, odpowiednio, będziesz musiał zmienić konfigurację.
- To zadanie jest wykonywane przez
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"
. - Zapisz zmiany i wprowadź je w życie po ponownym uruchomieniu serwera, wpisując
sudo restorecon -R -v /var/www/example.com/log
. - Teraz sprawdź ponownie swoje zmiany za pośrednictwem
sudo ls -dZ /var/www/example.com/log/
. - Jak widać, wynikowe dane wyjściowe mają postać drwxr-xr-x. root root unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/logdlatego wszystko jest prawdą.
- Pozostaje tylko przetestować wszystkie zmiany. Aby to zrobić, wprowadź
sudo systemctl zrestartuj httpd
i kliknij Wchodzić. - Potwierdź akcję hasłem superużytkownika.
- Utwórz ponownie żądanie katalogu, wpisując
ls -lZ /var/www/example.com/log
... Jeśli wyświetlona treść ma format-rw-r - r--. 1 błąd roota. Log -rw-r - r--. 1 root root 0 request.log
oznacza to, że wszystkie poprzednie ustawienia zostały wykonane poprawnie.
Znałeś procedurę instalacji i ogólną konfigurację serwera WWW Apache na CentOS 7. Jak widać, sama instalacja nie zajmie dużo czasu, a wszystkie utrudnienia dotyczą tylko konfiguracji. Jeśli przedstawiony przewodnik dotyczący zmiany parametrów i zarządzania Apache był dla Ciebie niewystarczający, radzimy zapoznać się z oficjalną dokumentacją, korzystając z poniższego linku.