R12_05_SPR.PDF

(318 KB) Pobierz
Rozdział 12.
Konfiguracja sieci WAN opartej
na Linuksie
W poprzednim rozdziale dowiedziałeś się, jak podłączyć Linuksa do lokalnej sieci oraz do sieci Internet. Po
podłączeniu mogłeś korzystać z mnóstwa usług i zasobów obu sieci, włączając transfery plików poprzez FTP,
strony WWW, e-mail oraz telnet. W tym rozdziale dowiesz się, jak zainstalować i obsługiwać serwery sieci
WAN, włączając serwer FTP, WWW (Apache), serwer poczty (SMTP/POP) oraz serwer Dial-in. Te usługi
umożliwią dostęp do serwera z każdego miejsca na
świecie.
Usługi te są wykorzystywane najczęściej na
komputerach, które posiadają stałe
łącze
z Internetem. Ale jeśli nawet
łącze
jest przerywalne, możesz korzystać
z tych usług, gdziekolwiek jest aktywne połączenie z siecią Internet.
Serwer FTP
Serwer FTP pozwala na przenoszenie poprzez sieć danych z jednego systemu do drugiego. Jeśli dwa komputery
są podłączone do Internetu, możesz użyć usługi FTP do przeniesienia plików z jednego komputera do drugiego,
chociaż nie są one bezpośrednio ze sobą połączone.
Serwer FTP posiada funkcję, która sprawdza autentyczność użytkownika chcącego skorzystać z zasobów
serwera. Możesz tak skonfigurować serwer FTP, aby akceptował
żądania
dostępu tylko od użytkowników,
którzy mają konta w systemie. Możesz tak ustawić serwer, aby akceptował wszystkich użytkowników za
pomocą opcji zwanej
anonymous FTP
(anonimowy serwer FTP). Instalacja i konfiguracja anonimowego serwera
FTP jest bardzo
łatwa,
jednakże hakerzy regularnie wynajdują słabe punkty takich serwerów, włamując się do
systemów i powodując różnorodne szkody. Ponieważ trudno jest zabezpieczyć system z działającym
anonimowym serwerem FTP, nie będziemy tutaj opisywać ani jego instalacji, ani metod konfiguracji.
Podczas instalacji podstawowych pakietów systemu Debian GNU/Linux zainstalowany zostaje również
standardowy serwer FTP.
Testowanie serwera FTP
W celu sprawdzenia działania serwera FTP uruchom klienta FTP, wydając następujące polecenie:
ftp localhost
Serwer FTP poprosi o podanie
nazwy_użytkownika
i hasła dla danego użytkownika. Jeśli je poprawnie
wprowadzisz, zobaczysz znak zachęty
ftp
oznaczający,
że
serwer FTP jest gotów przetwarzać polecenia ftp.
Wpisz
quit
i wciśnij
Enter,
żeby
zakończyć sesję ftp lub jeżeli chcesz przenieść kilka plików, możesz użyć
poleceń podsystemu ftp opisanych w tabeli 12.1.
Tabela 12.1. Najważniejsze polecenia programu FTP
Polecenie
!command
Opis
Przywołuje powłokę lokalnego systemu. Możesz używać tego polecenia na przykład do
otrzymania listy plików aktualnego katalogu lokalnego:
!ls
— dla systemów typu UNIX,
!dir
— dla systemów Microsoft.
ascii
binary
cd
directory
dir
get
file
help
lcd
directory
mkdir
directory
put
file
pwd
quit
rmdir
directory
Określa,
że
pliki będą przenoszone w trybie ASCII (znakowym).
Określa,
że
pliki będą kopiowane w trybie binarym, co daje brak translacji.
Zmienia aktualny katalog na serwerze ftp.
delete
file
Usuwa określony plik na zdalnym koncie.
Wyświetla zawartość aktualnego katalogu systemu zdalnego.
Pobiera określony plik z systemu zdalnego.
Wyświetla wszystkie możliwe polecenia ftp.
Powoduje zmianę na podany katalog w systemie lokalnym.
Tworzy określony katalog na serwerze FTP.
Przechowuje (wkłada) określony plik lokalny na serwer.
Wyświetla aktualny katalog roboczy zdalnego systemu.
Kończy pracę klienta FTP.
Usuwa określony katalog na serwerze FTP.
Jeśli serwer nie odpowiada prawidłowo, sprawdź, czy masz wpis w pliku
/etc/inetd.conf.
Jeżeli nie jesteś w
stanie rozwiązać problemu, zrestartuj system; jeśli i to nie pomoże, wyślij wiadomość do grupy
comp.os.linux.setup.
Kiedy serwer FTP już działa, spróbuj skontaktować się z nim ze zdalnego systemu. Jeśli posiadasz Microsoft
Windows, możesz połączyć się z serwerem przy użyciu wbudowanego w MS Windows klienta FTP, niemalże
identycznego z klientem FTP Linuksa. Otwórz okno MS-DOS i wpisz polecenie:
ftp
serwer
gdzie
serwer
oznacza nazwę komputera lub jego adres IP. Kiedy mamy już znak zachęty
ftp,
powinno się
natychmiast wydać polecenie
binary.
Polecenie oznacza,
że
pliki będą przenoszone dokładnie „słowo w
słowo”; bez tego pliki wykonywalne, dokumenty i inne dane binarne zostaną uszkodzone w trakcie transferu.
Większość użytkowników preferuje używanie graficznych klientów FTP. Wiele z tych klientów, jak np. WS-
FTP, jest dostępnych za darmo i umożliwia
łatwy
dostęp do zasobów FTP nawet początkującym użytkownikom
systemów Windows. FTP dostarcza bardzo szybkiej i wydajnej metody dzielenia plików z klientami Windows
bez potrzeby instalacji i konfiguracji Samby.
Instalacja i konfiguracja serwera WWW
Zainstalowanie i skonfigurowanie serwera WWW —
Apache,
jest zadaniem o wiele trudniejszym niż instalacja
serwera FTP. Kiedy już serwer WWW jest uruchomiony, inni użytkownicy Internetu mogą przeglądać
dokumenty, które udostępniasz.
Konfiguracja
Konfiguracja serwera WWW może być i
łatwa
i trudna. Tak jak inne serwery WWW, Apache posiada mnóstwo
opcji. Na szczęście, Debian GNU/Linux automatycznie konfiguruje ten serwer podczas procesu instalacji.
Czasami jednak opcje konfiguracyjne wybrane przez skrypty instalacyjne mogą okazać się niewystarczające. W
takim przypadku będziesz musiał zmodyfikować pliki konfiguracyjne.
Pliki konfiguracyjne Apache znajdują się w katalogu
/etc/apache.
Ze względów historycznych posiada on trzy
pliki konfiguracyjne:
access.conf
— określa, który host i którzy użytkownicy są uprawnieni do jakich dokumentów i usług.
httpd.conf
— określa opcje, które zarządzają działaniem demona
httpd.
srm.conf
— określa, jak są zorganizowane i sformatowane dokumenty na serwerze.
Obecnie możesz umieszczać polecenia konfiguracyjne w każdym z tych trzech plików. Jednakże każdy z tych
plików musi istnieć, nawet pusty, w przeciwnym przypadku demon
httpd
nie uruchomi się. W dystrybucji pliki
konfiguracyjne Apache zawierają opcje domyślne. Zanim uruchomisz serwer WWW, powinieneś przyjrzeć się
uważnie opcji
ServerName
z pliku
httpd.conf.
Trzy poniższe podrozdziały opisują większość opcji każdego z
trzech plików konfiguracyjnych. Przeczytaj je uważnie i zobacz, które z nich mogą się przydać. Bardziej
szczegółowy opis tych opcji znajdziesz na stronach Apache w dokumentacji online. Także na stronie głównej
tego serwera
http://www.apache.org/
znajduje się mały przewodnik po konfiguracji. Aby zmienić dowolną
opcję, po prostu otwórz dany plik w ulubionym edytorze tekstowym i wprowadź odpowiednie zmiany.
Uwaga
Niektóre podsekcje wymagają pewnej znajomości HTML-a i serwerów WWW. Jeśli pewne opcje będą dla
ciebie niezrozumiałe, nie przejmuj się; serwer będzie udostępniał zwykłe pliki HTML również wtedy, gdy
ustawisz tylko opcję
ServerName.
Plik access.conf
Plik
access.conf
określa domyślny zbiór uprawnień, które kontrolują dostęp do dokumentów i usług. Zmieniając
te uprawnienia, zmieniamy domyślne ustawienia dla dokumentów i usług. Zwykle określa się dość restrykcyjne
uprawnienia domyślne, które należy tak zmienić, aby umożliwić szerszy zakres wykorzystania usług serwera
WWW.
Plik zawiera komentarze, które zaczynają się znakiem „#”, oraz dyrektywy. Te pierwsze istnieją dla informacji
administratora serwera i są ignorowane przez serwer.
Domyślnie ustawione są następujące uprawnienia:
<Directory />
Options None
AllowOverride None
</Directory>
Frazy
<Directory>
i
</Directory>
zawierają listę opcji, które odnoszą się do katalogu
/,
określonego w
pierwszym wierszu
<Directory />.
Opcje te to:
Options None
— co oznacza,
że
dla określonego katalogu lub jego podkatalogów nie zostanie
włączona
żadna
specjalna funkcja serwera.
AllowOverride None
— oznacza,
że
specyfikacje dostępu nie mogą zostać nadpisane przez plik
.htaccess.
Tabela 12.2 przedstawia specjalne opcje serwera Apache.
Tabela 12.2. Specjalne opcje serwera Apache
Opcje
ExecCGI
FollowSymLinks
Includes
Opis
Oznacza,
że
w danym katalogu możliwe jest wykonywanie skryptów
CGI.
Serwer będzie podążał w danym katalogu za dowiązaniami symbolicznymi.
W tym katalogu dozwolone są wszystkie operacje
includes
po stronie serwera.
IncludesNOEXEC
Indexes
MultiViews
SymLinksOwnerMa
tch
W tym katalogu dozwolone są operacje
includes
po stronie serwera z wyjątkiem
#exec
i
#include.
Jeśli katalog nie zawiera strony do indeksowania (np.
index.html),
serwer przygotuje
sformatowany indeks.
W danym katalogu dozwolone są
MultiViews
z negocjowaną zawartością. Pozwalają
one na przeglądanie strony w konkretnym języku (do wyboru strony w kilku językach).
Serwer będzie podążał za dowiązaniem symbolicznym, którego plikiem lub katalogiem
docelowym jest plik lub katalog mający tego samego właściciela (owner) co
dowiązanie.
Kiedy opcja
AllowOverride None
zostanie zniesiona, będziesz mógł nadpisać określone opcje poprzez
umieszczenie pliku
.htaccess
w danym katalogu lub jego podkatalogach. Plik
.htaccess
może zawierać
specyfikacje tego samego rodzaju co plik
access.conf;
serwer w tym przypadku zaaprobuje opcje umieszczone w
pliku
.htaccess,
nadpisując opcje z pliku
access.conf.
Po restrykcyjnych uprawnieniach domyślnych czas wprowadzić w
życie
nowe zasady:
<Directory /home/httpd/html>
Options Indexes Includes FollowSymlinks
AllowOverride None
Order allow, deny
Allow from all
</Directory>
Powyżej przedstawione opcje odnoszą się do katalogu
/home/httpd/html
i wszystkich jego podkatalogów. W
powyższym przykładzie są podane opcje
Indexes, Includes
i
FollowSymLinks.
W katalogu tym użycie
pliku
.htaccess
jest zabronione dzięki opcji
AllowOverride None.
W przeciwieństwie do przykładu
pierwszego, gdzie opcje odnosiły się do katalogu root, określiliśmy hosty mające dostęp do dokumentów i usług.
Dyrektywa
order allow, deny
oznacza kolejność rozpatrywania dyrektyw
allow
i
deny.
Dyrektywa
allow from all,
w której nie pojawia się
żadna
instrukcja
deny,
pozwala każdemu komputerowi na dostęp
do dokumentów i usług katalogu
/home/httpd/html
i jego podkatalogów.
Inna specyfikacja umożliwia wykonywanie skryptów
CGI
w katalogu
/home/httpd/cgi-bin
i wszystkich jego
podkatalogach:
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directroy>
Ostatnią specyfikacją dla domyślnej konfiguracji jest zezwolenie lokalnym użytkownikom na dostęp do
dokumentów HTML znajdujących się w katalogu
/usr/doc
i jego podkatalogach.
<Directory /usr/doc>
order deny, allow
deny from all
allow from localhost
Options Indexes FollowSymLinks
</Directory>
Plik srm.conf
Plik ten określa organizację i format dokumentów udostępnianych przez serwer WWW. Tak jak w przypadku
pliku
access.conf,
nie musisz w
srm.conf
wprowadzać
żadnych
zmian — chociaż możesz.
Dyrektywa
DocumentRoot
określa katalog, który zawiera pliki HTML. Kiedy klient wchodzi do katalogu
głównego, serwer wywołuje pliki z katalogu oznaczonego jako
DocumentRoot:
DocumentRoot /home/httpd/html
Instrukcja
UserDir
określa nazwę podkatalogu, który serwer przypisuje użytkownikowi jako jego katalog
roboczy, kiedy wysyła
żądanie
~user.
UserDir public_html
Oznacza to,
że
odnośnik
~user
zostanie przetłumaczony na odnośnik do katalogu
/home/user/public_html.
Dyrektywa
DirectoryIndexes
określa nazwę pliku (lub nazwy plików) używanego do indeksowania
katalogu:
DirectoryIndex index.html index.shtml index.cgi
FancyIndexing
określa, czy ikony są używane do tworzenia fantazyjnych indeksów katalogu:
FancyIndexing on
Instrukcje
AddIcon
i
AddIconByType
związują ikony z plikami poszczególnych typów:
AddIconByType (TXT, /icons/text.gif) text/*
AddIcon /icons/binary.gif .bin .exe
Domyślna konfiguracja zawiera wiele takich dyrektyw. Jeśli chcesz dodać obsługę nowego rodzaju pliku,
możesz dodać polecenie
łączące
ikonę z tym nowym typem pliku.
DefaultIcon
określa ikonę używaną dla typów plików nie związanych z
żadną
ikoną:
DefaultIcon /icons/unknown.gif
Dyrektywa
ReadmeName
określa nazwę pliku używanego przez serwer do tworzenia wpisów
README:
ReadmeName README
Serwer będzie najpierw szukał pliku
README.html,
a następnie
README.
Podobną dyrektywą jest
HeaderName,
określająca nazwę pliku, który serwer przypisze do wygenerowanego
indeksu:
HeaderName HEADER
Instrukcja
IndexIgnore
pozwala podać kilka nazw plików, które nie powinny być włączane do
generowanego indeksu. Te pliki są często określane za pomocą znaków specjalnych:
IndexIgnore .??* *~ *# HEADER READEME RCS
Dyrektywa
AccessFileName
określa nazwę pliku, który, jeśli jest obecny, nadpisuje specyfikacje kontroli
dostępu do katalogu:
AccessFileName .htaccess
TypesConfig
identyfikuje plik
mime.types,
który opisuje pliki multimedialne:
TypesConfig /etc/mime.types
DefaultType
określa domyślny typ MIME dla dokumentów:
DefaultType text/plain
Dyrektywa
AddEncoding
instruuje kompatybilne przeglądarki, jak rozpakować informacje po pobraniu:
AddEncoding x-compress Z
AddEncoding x-gzip gz
Instrukcja
Redirect
(przekierowanie) pozwala dostarczyć adresu przekierowania dla dokumentów, które
zostały przeniesione. Domyślna konfiguracja zawiera opcję
no Redirect;
instrukcja ta ma następującą
składnię:
Redirect old-URL new-URL.
Zgłoś jeśli naruszono regulamin