Rozszerzona konfiguracja serwera internetowego Apache

W tym rozdziale zajmiemy się rozszerzoną konfiguracją serwera internetowego Apache i przedstawimy przegląd podstawowych zastosowań. Wyjaśnimy między innymi, jak umieścić na serwerze dodatkowe katalogi (oprócz katalogu głównego), a także jak zabezpieczyć je przed nieuprawnionym dostępem.

W tym rozdziale zajmiemy się rozszerzoną konfiguracją serwera internetowego Apache i przedstawimy przegląd podstawowych zastosowań. Wyjaśnimy między innymi, jak umieścić na serwerze dodatkowe katalogi (oprócz katalogu głównego), a także jak zabezpieczyć je przed nieuprawnionym dostępem.

Wraz z SuSE Linux Office Server do starczany jest serwer Apache w wersji 1.3.24. Stanowi rezultat wieloletnich prac rozwojowych, jest stosowana w większości serwisów internetowych i okazała się bardzo stabilna. Dostępna również wersja 2.0 to gruntownie zmodernizowana wersja 1.3. Oferuje między innymi lepszą obsługę systemów nielinuksowych, a podobno również znacznie większą wydajność w systemach wieloprocesorowych. Współpracuje także z nowymi adresami protokołu IPv6.

Rozpoczynanie i kończenie pracy serwera Apache

Serwer SuSE Linux Office Server instaluje standardowo serwer internetowy Apache na tyle skonfigurowany, że automatycznie uruchamia się podczas każdego startu systemu. Status serwera możesz w każdej chwili sprawdzić jako użytkownik root, wydając polecenie rcapache status.

Jeżeli Apache prawidłowo pracuje w tle, polecenie zwraca komunikat "Checking for httpd: running". Jeżeli natomiast występują jakiekolwiek problemy, odpowiedź będzie brzmiała "Checking for httpd: unused". Za pomocą poleceń rcapache start, rcapache stop i rcapache reload możesz uruchomić, zakończyć pracę lub wymusić ponowne uruchomienie serwera Apache w SuSE Linux Office Server.

Jeżeli nie korzystasz ze zintegrowanego serwera internetowego i intranetu w sieci lokalnej, na pewno chciałbyś znaleźć sposób na powstrzymanie serwera Apache od automatycznego uruchamiania tylko po to, żebyś za chwilę musiał wydać polecenie rcapache stop. Aby trwale wyłączyć serwer Apache, musisz w katalogu /etc/rc.config zmienić wpis START_HTTPD=yes na START_HTTPD=no. Od następnego uruchomienia serwera Apache nie będzie startował automatycznie.

Autostart. W pliku rc.config możesz określić, czy serwer internetowy Apache ma być uruchamiany podczas każdego startu Office Server.

Autostart. W pliku rc.config możesz określić, czy serwer internetowy Apache ma być uruchamiany podczas każdego startu Office Server.

Zanim wprowadzisz jakiekolwiek zmiany w plikach konfiguracyjnych serwera, sporządź ich kopie zapasowe. W razie problemów zawsze będziesz mógł skopiować oryginalny plik. Najlepiej utwórz oddzielny katalog kopii zapasowych na kopię każdego pliku, w którym wprowadzasz zmiany.

Zamiast ręcznie edytować plik rc.config, możesz skorzystać z narzędzia YaST2. Przejdź kolejno przez punkty menu Office Server Control Center, Misc, RC-Config Editor.

W punkcie Start-Variables, Start-Network, start_httpd znajdziesz odpowiedni wpis.

Httpd to demon, który dba o to, żeby serwer Apache robił to, co powinien, i prawidłowo pracował w tle. Demon w uniksowych systemach operacyjnych jest mniej więcej odpowiednikiem usługi w systemie Windows NT, czy 2000.

httpd.conf & Co.

Serce Apache´a. Główny plik konfiguracyjny httpd.conf zawieranajważniejsze ustawienia serwera internetowego.

Serce Apache´a. Główny plik konfiguracyjny httpd.conf zawieranajważniejsze ustawienia serwera internetowego.

Podobnie, jak w większości programów linuksowych, do konfiguracji serwera Apache służą typowe uniksowe pliki tekstowe. Sercem serwera Apache jest plik konfiguracyjny httpd.conf, zawierający 1600 wierszy.

Jednak każda dystrybucja Linuksa zachowuje się tu nieco samowolnie i umieszcza ten plik w różnych katalogach. Sam Apache przechowuje go standardowo w katalogu /usr/local/apache/conf. W SuSE Linux, a więc i w Office Server, znajdziesz ten plik w /etc/httpd. Większość ustawień serwera możesz zmienić w tym pliku.

Dla konfiguracji serwera ważne są zwykle jeszcze dwa inne pliki. Prawa dostępu i usługi poszczególnych katalogów określone są w access.conf. Zakres nazw, dostępnych użytkownikom serwera internetowego, determinuje z kolei plik srm.conf. Jednak w przypadku SuSE Linux Office Server wszelkie zmiany wprowadza się wyłącznie w głównym pliku konfiguracyjnym httpd.conf serwera internetowego Apache.

Po każdej zmianie w plikach konfiguracyjnych musisz ponownie uruchomić serwer internetowy, aby nowe ustawienia stały się aktywne. Ponieważ ponowne uruchamianie całego SuSE Linux Office Server byłoby niepraktyczne i kłopotliwe, możesz, jako użytkownik root, wpisać polecenie rcapache reload.

Document Root i strony startowe

Jak już wspomnieliśmy, SuSE Linux Office Server przechowuje w jednym, centralnym miejscu wszystkie strony internetowe, które mają być dostępne w intranecie. Odpowiednie pliki znajdują się w katalogu /usr/local/httpd/htdocs. Domyślną lokalizację możesz zmienić stosownie do swoich potrzeb. W tym celu, w głównym pliku konfiguracyjnym serwera Apache httpd.conf należy podać odpowiednią ścieżkę dostępu w sekcji DocumentRoot.

Po ponownym uruchomieniu Apache zacznie używać nowego katalogu źródłowego. Zanim wprowadzisz zmiany, nie zapomnij i tym razem o sporządzeniu na wszelki wypadek kopii zapasowej pierwotnego pliku.

Dodatkowo, po zmianie w sekcji

DocumentRoot musisz odpowiednio dostosować strukturę katalogów. Szczegóły omówimy w rozdziale 2.2.5.

Pliki i katalogi w sekcji DocumentRoot skonfiguruj tak, żebyś jako użytkownik root miał do nich pełne prawa dostępu - odczytu, zapisu i wykonywania. Reszta świata powinna mieć ze względów bezpieczeństwa wyłącznie prawa do odczytu i wykonywania. Ogólnie mówiąc: zawsze przyznawaj innym użytkownikom możliwie jak najmniejsze prawa dostępu do plików.

Kolejne katalogi serwera Apache

Start, status, stop. Polecenie rcapache umożliwia wygodne i łatwe rozpoczynanie i kończenie pracy serwera Apache, a także uzyskiwanie komunikatów o jego aktualnym statusie.

Start, status, stop. Polecenie rcapache umożliwia wygodne i łatwe rozpoczynanie i kończenie pracy serwera Apache, a także uzyskiwanie komunikatów o jego aktualnym statusie.

Oprócz opisanego powyżej katalogu źródłowego Apache obsługuje również wstawianie innych katalogów do drzewa HTTP. Nowym odgałęzieniem może być praktycznie każdy katalog z drzewa katalogów Linuksa. Nowe katalogi dostępne są przy użyciu ściśle określonej ścieżki dostępu. Ich powiązania aliasowe określasz, jak wszystkie inne opcje, w centralnym pliku konfiguracyjnym httpd.conf.

Jeżeli na przykład pod adresem http://[servername].[domain]/sprzedaz chcesz udostępnić katalog /mnt/www/sprzedaz/, dodaj w pliku konfiguracyjnym następujący wpis:

> alias /sprzedaz/ "/mnt/www/sprzedaz"

Kolejna możliwość to wstawianie prywatnych katalogów domowych do drzewa HTTP. Taka możliwość jest przewidziana w standardowej konfiguracji SuSE Linux Office Server. Jak już powiedzieliśmy, użytkownicy mogą umieszczać swoje strony intranetowe pod adresem http: //<servername>.<domain>/~<user>.

Z reguły dodaje się w pliku httpd.conf wiersz UserDir public_html. Jednak w Office Server odpowiednie ustawienia znajdują się w pliku /etc/httpd/suse_public_html.conf. Plik ten dołączany jest poleceniem /etc/httpd/suse_include.conf.

Poleceniem UserDir disabled można wyłączyć tę funkcję, jeżeli nie życzysz sobie, aby użytkownicy umieszczali w intranecie swoje prywatne strony. Jeżeli umieścisz w tym wierszu nazwy użytkowników, tylko oni nie będą mogli publikować swoich stron. Z kolei wariant UserDir enabled <username> umożliwia zakładanie stron tylko wybranym użytkownikom.

Katalogi a uprawnienia

Oddzielnie. W SuSE Linux konfiguracja katalogów domowych w drzewie HTTP znajduje się w oddzielnym pliku.

Oddzielnie. W SuSE Linux konfiguracja katalogów domowych w drzewie HTTP znajduje się w oddzielnym pliku.

Dla każdego katalogu w drzewie HTTP możesz określić prawa dostępu i usługi. W katalogu cgi.bin na przykład przyznasz prawa wykonywania skryptów CGI.

Jeżeli wcześniej wprowadziłeś zmiany w sekcji DocumentRoot, musisz - to ważne - dopasować strukturę katalogów. W tym celu zastąp po prostu starą ścieżkę nowym DocumentRoot.

Poszczególne prawa dostępu reguluje struktura katalogowa. Składa się ona zawsze ze znacznika wprowadzającego i końcowego, podobnie jak w HTML. Znaczniki określają katalog, którego dotyczą dane prawa.

W przypadku katalogu /mnt/www/sprzedaz/ strukturę rozpocznie <Directory /mnt/www/sprzedaz/>, a zakończy </Directory>. Wszystkie wiersze pomiędzy tymi znacznikami odnoszą się wyłącznie do określonego katalogu, w naszym przykładzie do /mnt/www/sprzedaz/. Dodatkowo struktura obejmuje również podkatalogi, jeśli nie została dla nich jednoznacznie zdefiniowana oddzielna struktura.

Ograniczenia dotyczące usług wprowadza się za pomocą wpisów opcjonalnych. Na przykład ExecCGI umożliwia wykonywanie skryptów CGI, Indexes powoduje, że w razie braku dokumentu standardowego wyświetlana jest lista zawartości katalogu - zamiast komunikatu o błędzie.

Obszerny przegląd możliwych argumentów znajdziesz w podręczniku online projektu Apache pod adresem http://httpd.apache.org/docs/ .


Zobacz również