Instalacja i konfiguracja serwera Apache w systemach z rodziny RedHat
Serwer Apache w w systemach z rodziny Linux można zainstalować na dwa różne sposoby. Pierwszym z nich jest instalacja z użyciem repozytoriów danej dystrybucji, drugim zaś jest instalacja z kodu źródłowego pobranego ze strony Apache.
Każdy sposób instalacji wymaga uprawnień administratora.
Instalacja z kodu źródłowego jest wersją opisaną w dokumentacji Apache
Instalacja z repozytoriów jest wersję przygotowaną przez "opiekunów" danej dystrybucji, która to nie jest opisana w oficjalnej dokumentacji Apache. Jest za to dobrze przystosowana do systemu jeśli chodzi o strukturę katalogów.
Aby zainstalować serwer Apache z repozytorium należy w konsoli wpisać polecenie:
yum install httpd
Do poprawnej instalacji wymagane są:
- zainstalowany kompilator języka c++.
- zainstalowany program make.
Na początku należy pobrać serwer Apache ze strony http://httpd.apache.org/download.cgi
Po pobraniu pliku należy go rozpakować, wpisując w konsoli polecenie:
tar xvf httpd-NUMER_WERSJI.tar.gz
gdzie NUMER_WERSJI oznacza wersję pobranego serwera Apache.
Następnie należy wejść do katalogu http-NUMER_WERSJI poleceniem
cd httpd-NUMER_WERSJI/
Następnym etapem jest przygotowanie plików konfiguracyjnych do kompilacji serwera Apache, wykonuje się to poleceniem:
./configure –prefix=PREFIKS
gdzie PREFIKS to ścieżka w której ma zostać zainstalowny serwer Apache.
Następnie należy skompilować serwer Apache poprzez wpisanie w konsoli polecenia:
make
A ostatnim etapem jest instalacja, którą to wykonuje się poprzez wpisanie w konsoli polecenia:
make install
Aby sprawdzić posiadaną wersję serwera Apache należy w konsoli wykonać polecenia:
apachectl=`find / -name apachectl –type f | grep bin/apachectl`
$apachectl -v
Rysunek 1. Wyświetlenie zainstalowanej wersji serwera Apache.
Aby dowiedzieć się, którą wersję instalacyjną się posiada wystarczy wprowadzić polecenie:
yum list httpd
W wyniku powinien pojawić się pakiet httpd dostępny w repozytorium. Jeśli wiersz opisujący pakiet znajduje się pod napisem "Installed Packeges" oznacza to, że pakiet jest zainstalowany. Jeżeli zaś Apache jest zainstalowany, a wiersz opisujący pakiet znajduje się pod napisem "Available Packeges" oznacza to że został on zainstalowany bezpośrednio z kodu źródłowego.
Wersja zainstalowana z repozytorium znajduje się w katalogu /etc/httpd i to w nim mieszczą się pliki konfiguracyjne.
Na początku należy sprawdzić czy serwer Apache nasłuchuje na wszystkich adresach IP serwera, czy też może tylko na wybranych. Można to sprawdzić przeglądając plik /etc/httpd/conf/httpd.conf w poszukiwaniu linii zawierającej słowo kluczowe "listen". Plik ten mozna wyświetlić przy pomocy polecenia:
cat /etc/httpd/conf/httpd.conf
Przykładowe opcje nasłuchiwania serwera na porcie 80:
• Listen 80 – serwer nasłuchuje na porcie 80 na wszystkich adresach przypisanych do interfejsów (domyślna konfiguracja serwera Apache)
• Listen 192.168.0.2:80 – serwer nasłuchuje tylko na porcie 80 adresu IPv4 192.168.0.2
• Listen [2001:db8::2]:80 – serwer nasłuchuje tylko na porcie 80 adresu IPv6 2001:db8::2
Dla nasłuchiwania w trybie Dual Stack: jeżeli, w pliku httpd.conf istnieje wpis nasłuchiwania tylko na adresie IPv4 należy dodać drugi wpis z adresem IPv6.
Dla nasłuchiwania w trybie NativeIPv6: w pliku httpd.conf należy zastąpić adres IPv4 docelowym adresem IPv6.
Adresy IP na których strona ma być dostępna zawarte są w dyrektywie <VirtualHost>.
Przykładowe opcje dostępności witryny:
• <VirtualHost *:80> - witryna jest dostępna na porcie 80 pod wszystkimi adresami na których nasłuchuje serwer (zarówno IPv4 jak i IPv6)
• <VirtualHost 192.168.0.2:80> - witryna jest dostępna na porcie 80 pod adresem IPv4 192.168.0.2
• <VirtualHost [2001:db8::2]:80> - witryna jest dostępna na porcie 80 adresu IPv6 2001:db8::2
• <VitrualHost 192.168.0.2:80 [2001:db8::2]:80> - witryna jest dostępna na porcie 80 zarówno pod adresem IPv4 192.168.0.2 jak i pod adresem IPv6 2001:db8::2
W konfiguracji VirtualHostów port na którym ma być dostępna witryna jest polem opcjonalnym.
Na rysunku 2 przedstawiono przykładową konfigurację VirtualHosta udostępniającego witrynę zarówno pod adresem IPv4 jak i IPv6.
Rysunek 2. Przykładowa konfiguracja VirtualHosta nasłuchującego na adresach IPv4 i IPv6
Aby serwer Apache zastosował zmiany, należy go zrestartować poleceniem:
/etc/init.d/httpd restart
Przed przystąpieniem do jakichkolwiek operacji związanych z podejrzeniem lub modyfikacją konfiguracji serwera Apache należy odnaleźć ścieżkę, w której Apache posiada swoje pliki/katalogi konfiguracyjne.
Ścieżkę do plików/katalogów konfiguracyjnych serwera Apache można odnaleźć za pomocą polecenia:
find / -name httpd.conf
Na początku należy sprawdzić czy serwer Apache nasłuchuje na wszystkich adresach IP serwera, czy może tylko na wybranych. Można to sprawdzić przeglądając plik httpd.conf w poszukiwaniu lini zawierającej słowo kluczowe "listen".
Przykładowe opcje nasłuchiwania serwera na porcie 80:
• Listen 80 – serwer nasłuchuje na porcie 80 na wszystkich adresach przypisanych do interfejsów (domyślna konfiguracja serwera Apache)
• Listen 192.168.0.2:80 – serwer nasłuchuje tylko na porcie 80 adresu IPv4 192.168.0.2
• Listen [2001:db8::2]:80 – serwer nasłuchuje tylko na porcie 80 adresu IPv6 2001:db8::2
Dla nasłuchiwania w trybie Dual Stack: jeżeli, w pliku httpd.conf istnieje wpis nasłuchiwania tylko na adresie IPv4 należy dodać drugi wpis z adresem IPv6.
Dla nasłuchiwania w trybie NativeIPv6: w pliku httpd.conf należy zastąpić adres IPv4 docelowym adresem IPv6.
Adresy IP na których strona ma być dostępna zawarte są w dyrektywie <VirtualHost>
Aby dodać, zmodyfikować lub sprawdzić takie adresy IP należy znaleźć linie zaczynające się od słowa kluczowego "VirtualHost", znajdują się one przeważnie na samym końcu pliku httpd.conf.
Przykładowe opcje dostępności witryny:
• <VirtualHost *:80> - witryna jest dostępna na porcie 80 pod wszystkimi adresami na których nasłuchuje serwer (zarówno IPv4 jak i IPv6)
• <VirtualHost 192.168.0.2:80> - witryna jest dostępna na porcie 80 pod adresem IPv4 192.168.0.2
• <VirtualHost [2001:db8::2]:80> - witryna jest dostępna na porcie 80 adresu IPv6 2001:db8::2
• <VitrualHost 192.168.0.2:80 [2001:db8::2]:80> - witryna jest dostępna na porcie 80 zarówno pod adresem IPv4 192.168.0.2 jak i pod adresem IPv6 2001:db8::2
W konfiguracji VirtualHostów port na którym ma być dostępna witryna jest polem opcjonalnym. Na rysunku 3 przedstawiono przykładową konfigurację VirtualHosta udostępniającego witrynę zarówno pod adresem IPv4 jak i IPv6.
Rysunek 3. Przykładowa konfiguracja VirtualHosta nasłuchującego na adresach IPv4 i IPv6.
Aby serwer Apache zastosował zmiany, należy go zrestartować. Trzeba zlokalizować plik binarny apachectl i uruchomić go z parMożna to wykonać wpisując w konsoli następujące polecenia:
apachectl=`find / -name apachectl -type f | grep bin/apachectl`
$apachectl restart
Aby sprawdzić poprawność działania serwera www po konfiguracji, należy w pasku przeglądarki wpisać adres IPv6 w nawiasach kwadratowych, tak jak pokazano na rysunku 4.
Rysunek 4. Sprawdzenie poprawności działania serwera www po adresie IPv6
©2012 IIP