# Sieć Intranet na Linux-ie

## Autor: Pramod Karnad, karnadp@mozart.inet.co.th
v1.1, 14 Marca 1996
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.01, 26 Lipca 1997

Dokument ten opisuje jak zamienić twój komputer z Linux-em w serwer HTTP i połączyć go z siecią LAN przy pomocy programu Netware Client pod Windows. Oryginał tego dokumentu możesz znaleźć pod adresem ftp.icm.edu.pl. Dokument ten został napisany w standardzie ISO-8859-2.

## 1. Wprowadzenie.

Dokument ten zakłada, że umiesz zainstalować protokół TCP/IP na Linux-ie i podłączyć się fizycznie do sieci lokalnej przy pomocy karty Ethernet. Zakłada się także, że masz jakieś podstawowe wiadomości na temat sieci Netware. Konfiguracja serwera Netware została pokazana na przykładzie wersji 3.1x. Możesz zrobić to samo używając INETCFG. Strona klienta dotyczy Windows 3.1x, Windows for Workgroups i Windows 95.

We wszystkich przykładach zakładam, że adres Linux-a to 200.0.0.1 i dlatego przypisuję adresy 200.0.0.2 i 200.0.0.3 odpowiednio serwerowi Netware i stacji roboczej. Ty możesz oczywiście wybrać adresy odpowiednie dla siebie.

## 1.1 Co jest potrzebne.

Przed instalacją będziesz potrzebował następującego oprogramowania.

- serwera HTTP, który można ściągnąć ze strony OneStep NCSA HTTPd Downloader.
- Klienta sieci Novell Netware dostępnego na Netwire. (Pliki dotyczące TCP/IP można znaleźć w uaktualnieniu Lan Workplace LW42T3.exe).
- Przegladarki takiej jak np. Netscape Navigator albo NCSA Mosaic. Pakiety te są także dostępne w Polsce pod adresem:
  - Netscape - ftp.icm.edu.pl.
  - Mosaic - ftp.icm.edu.pl.

## 2. Instalacja serwera HTTP.

Kiedy ściagniesz serwer masz do wyboru dwie opcje: Wziąć źródła i skompilować samemu, albo wziąć już skompilowane programy. Programy te na Linux-a w wersji ELF są dostępne przy serwerze NCSA ale nie ma ich w starszych wersjach.

## 2.1 Przygotowania przed ściągnięciem.

Serwer firmy NCSA przeprowadzi cię przez konfigurację i przygotuje dla ciebie różne pliki. Ale zanim będziesz chciał ściągnąć HTTPd przygotuj się na następujące pytania.

### System Operacyjny

Najpierw musisz wybrać czy ściągasz wersję źródłową czy skompilowaną. Jeśli akurat twój system nie pojawi się w menu, to będziesz musiał ściągnąć wersję źródłową i skompilowac ją samemu.

Żeby sprawdzić wersję twojego Linux-a napisz w linii poleceń:

      uname -a

w odpowiedzi uzyskasz mniej więcej coś takiego:

       linux:~$  uname -a
       Linux linux 1.0.9 #4 Tue Sep 13 04:05:51 CDT 1994 i586
       linux:~$

Wersja Linux-a to 1.0.9. (Uwaga: Bieżące wersje Linux-a są w formacie ELF i powinny wyglądać tak: 1.2.13 ELF)

Pozostałe parametry mogą być podane przed ściągnięciem albo skonfigurowane później poprzez modyfikację pliku `srm.conf` w katalogu `/usr/local/etc/httpd/conf`. Nazwy właściwych dyrektyw, które występują w pliku `httpd.conf` zostały pokazane w nawiasach. Jedynym wyjatkiem jest dyrektywa DocumentRoot, która występuje w pliku `srm.conf`.

### Typ procesu (ServerType).

Określa to w jaki sposób twój komputer będzie uruchamiał serwer HTTPd. Metodą preferowaną jest "standalone". To powoduje, że demon HTTPd jest ciągle uruchomiony. Jeśli wybierzesz ładowanie HTTPd przez "inetd", to program będzie ponownie ładowany do pamięci przy każdym odwołaniu, co może w rezultacie spowolnić twój serwer.

### Przypisywanie portu (Port).

Tutaj podajesz na jakim porcie demon będzie "słuchał" żądań HTTP. Jeśli masz uprawnienia "root-a", to wybierz wartość domyślną czyli 80.
W innym wypadku musisz wybrać wartość z przedziału od 1025 do 65535.

### Identyfikator użytkownika dla serwera (User).

Jest to identyfikator, na który HTTPd zmieni swój podczas odpowiadania na żądanie i działania na plikach. Odpowiedź na to pytanie musi być udzielona tylko jeśli jako rodzaj serwera wybrałeś "standalone".
Jeśli nie masz uprawnień root-a, po prostu użyj swojego identyfikatora. Jeśli jesteś administratorem systemu, możesz stworzyć specjalnego "użytkownika", tak żebyś mógł kontrolować dostęp do plików.

### Identyfikator grupy dla serwera (Group).

Jest to numer grupy, na który HTTPd zmieni swój podczas odpowiadania na żądanie i działania na plikach. Jest to podobne do identyfikatora użytkownika i wymagane jest tylko jeśli serwer ma działać jako "standalone".

Jeśli nie masz uprawnień root-a, to użyj nazwy swojej grupy. Aby się dowiedzieć do jakiej grupy należysz napisz w linii poleceń groups.

### Adres pocztowy administratora serwera (ServerAdmin).

Jest to adres osoby, do której użytkownicy mają wysyłać komentarze i uwagi na temat działania serwera. Możesz tu podac swój adres.

### Lokalizacja katalogu serwera (ServerRoot).

Jest to katalog, w którym rezyduje twój HTTPd. Jeśli jesteś administratorem, to zostaw wartość domyślną (`/usr/local/etc/httpd`). Jeśli nie, to wybierz jakiś podkatalog w twoim katalogu domowym. Swój katalog domowy możesz odnaleźć przy pomocy polecenia pwd.

### Lokalizacja dokumentów HTML (DocumentRoot).

To jest miejsce, gdzie mają znajdować się pliki HTML, które będą tworzyć strony twojego serwera. Wartością domyślną jest `/usr/local/etc/httpd/htdocs`.
Możesz to oczywiście zmienić na katalog specjalnego użytkownika, którego wcześniej stworzyłeś albo na podkatalog twojego katalogu domowego jeśli nie jesteś root-em.

Jeśli nie masz pewności, to użyj wartości domyślnych. Teraz kiedy już masz odpowiedzi na te pytania możesz ściągnąć NCSA HTTPd. Powinieneś przeczytać dokumentację HTTPd zanim zaczniesz instalację. Jeśli planujesz kompilować program, to musisz zmodyfikować pliki "makefile" w każdym z trzech podkatalogów: `support, src, cgi-src`. Jeśli twoja wersja Linux-a jest już obsługiwana, to musisz tylko napisać make linux w głównym katalogu (czyli `/usr/local/etc/httpd`).

## 2.2 Kompilowanie HTTPd.

Kompilacja jest prosta, po prostu napisz `make linux` w linii poleceń w głównym katalogu serwera.
Uwaga: Użytkownicy Linux-a w wersji pre-ELF muszą odkomentować linię `#define NO_PASS` w pliku `portability.h` oraz `DBM_LIBS= -ldbm` w pliku `Makefile` przed kompilacją.

## 3. Testowanie HTTPd.

Po tym jak zainstalowałeś HTTPd, zaloguj się jako root i wystartuj demona pisząc httpd & (przy założeniu, że instalowałeś go jako wersję "standalone"). Powinieneś go teraz zobaczyć w liście procesów generowanej przez ps. Najprostszą metodą na sprawdzenie HTTPd jest telnet. Napisz w wierszu poleceń:

       telnet 200.0.0.1 80

gdzie 80 to domyślny port HTTP. Jeśli skonfigurowałeś "Port" jako coś innego to wpisz ten numer zamiast 80. Powinieneś otrzymać odpowiedź, która wygląda mniej więcej tak:

       Trying 200.0.0.1...
       Connected to linux.ppg_corp.
       Escape character is '^]'.

Teraz jeśli wpiszesz jakiś znak i wciśniesz <ENTER>, to powinieneś otrzymać odpowiedź podobną do tej poniżej:

       HTTP/1.0 400 Bad Request
       Date: Wed, 10 Jan 1996 10:24:37 GMT
       Server: NCSA/1.5
       Content-type: text/html

       <HEAD><TITLE>400 Bad Request < /TITLE> < /HEAD>
       <BODY><H1>400 Bad Request < /H1>
       Your client sent a query that this server could
       not understand.<P>
       Reason: Invalid or unsupported method.<P>
       < /BODY>

Teraz jesteśmy gotowi podłączyć się do tego serwera z innego PC-ta używając przeglądarki WWW.

## 4. Połączenie przez sieć Netware z Windowsami.

Żeby ustawić serwer Netware powinieneś mieć uprawnienia Supervisor-a, albo przynajmniej uprawnienia operatora konsoli. Jeśli ich nie masz, to spróbuj poprosić swojego administratora sieci, żeby ci pomógł w instalacji.

W poniższych przykładach zakładam, że adres Linux-a to 200.0.0.1 i dlatego przypisuję adresy 200.0.0.2 i 200.0.0.3 odpowiednio serwerowi Netware i stacji roboczej. Ty możesz oczywiście wybrać adresy odpowiednie dla siebie.

## 4.1 Ustaw serwer Netware.

Włącz na serwerze ramkę Ethernet_II przez wpisanie poniższych poleceń na konsoli lub w pliku autoexec.ncf

       load NE2000 frame=Ethernet_II name=IPNET
       load TCPIP
       bind IP to IPNET addr=200.0.0.2 mask=FF.FF.FF.0

Możesz podać numer slotu albo karty (board) podczas ładowania sterownika do NE2000 w zaleźności od twojej konfiguracji. (np. load NE2000 slot=3 frame=...).

Na PC-cie masz trzy możliwości: Win3.1, WfWg albo Win95. Procedura instalacji różni się pomiędzy Win95 a starszymi wersjami windows jeśli używasz 32-bitowego klienta z Microsoft-a lub Novell-a. Jeśli masz zamiar używac 16-bitowego klienta, to procedura instalacyjna jest opisana w instrukcji instalacji dla wersji pod Windows 3.1. Jeśli będziesz instalował wersję klienta 32-bitową, to przejdź do Windows 95.

### Windows 3.x

Jeśli używasz Win3.1 albo WfWg możesz zainstalować klienta Netware (VLMs) i kilka dodatkowych plików, które są dostarczane na dyskietce TCP/IP, a mianowicie:

     TCPIP.exe, VTCPIP.386, WINSOCK.dll i WLIBSOCK.dll

Zauważ, że plik WINSOCK.dll różni się od tych z Win95 i Trumpet. Zainstaluj klienta Netware z obsługą Windows-ów. Skopiuj VTCPIP.386, WINSOCK.dll i WLIBSOCK.dll do katalogu SYSTEM a TCPIP.exe do katalogu NWCLIENT. Teraz zmodyfikuj plik STARTNET.bat w katalogu NWCLIENT:

       lsl
       ne2000     ---> sterownik do twojej karty
       c:\windows\odihlp.exe     ---->jeśli używasz WfWg
       ipxodi
       tcpip        ---> dodaj tę linię
       vlm

Stwórz podkatalog - powiedzmy `\NET\TCP` i skopiuj pliki HOSTS, NETWORKS, PROTOCOLS i SERVICES z `/etc` na twoim Linux-ie albo z `SYS:ETC` na serwerze Netware. Zmodyfikuj skopiowany plik HOSTS i dodaj linię dla twojego nowego serwera Linux-a. To pozwoli ci na odwoływanie się do serwera na Linux-ie w taki sposób `http://linux.ppg_corp/` zamiast `http://200.0.0.1/` w twojej przeglądarce WWW.

       127.0.0.1      localhost
       200.0.0.1      linux.ppg_corp

Zmodyfikuj plik NET.cfg w katalogu NWCLIENT

       Link Driver NE2000
           port 300
           int 3
           MEM D0000
           FRAME Ethernet_802.2

    ; ---- dodaj te linie ----

          FRAME Ethernet_II

       Protocol TCPIP
          PATH TCP_CFG C:\NET\TCP
          ip_address  200.0.0.3
          ip_netmask  255.255.255.0

       Link Support
          MemPool 6192       ---> minimum to 1024, spróbuj z różnymi wartościami
          Buffers 10 1580    ---> tutaj też możesz ustawić w/g własnych potrzeb

    ;---------------------------------

Zmodyfikuj plik SYSTEM.ini w katalogu WINDOWS i dodaj tę pozycję dla VTCPIP.386

       [386Enh]
       .....
       network=*vnetbios, vipx.386, vnetware.386, VTCPIP.386
       .....

Zrestartuj PC-ta, uruchom STARTNET.bat i możesz już używać swojej ulubionej przglądarki WWW. Nie musisz się logować do sieci Netware i nie musisz uruchamiać TCPMAN-a (jeśli używasz Trumpet Winsock).

### Windows 95

Ta sekcja opisuje jak zainstalować 32-bitowego klienta pod Win95. Najpierw musisz zainstalować nastepujące programy:

       Client for Netware Networks (od Microsoft-a albo Novell-a)
       Microsoft TCP/IP Protocol
       Network Adapter

Aby zainstalować te programy, kliknij na Mój komputer, Panel sterowania, Sieci. Klknij Dodaj. Teraz znajdziesz się w oknie, które wyświetla Klient, Karta (Adapter), Protokół i Usługa (Service).

Aby zainstalować klienta dla sieci Netware:

1. kliknij dwa razy na Klient.
2. kliknij na Microsoft lub Novell.
3. kliknij dwa razy na Klient dla sieci Netware.

Aby zainstalować protokół TCP/IP

1. kliknij dwa razy na Protokół.
2. kliknij na Microsoft.
3. kliknij dwa razy na TCP/IP.

Windows 95 instaluje domyślnie kilka innych protokołów. Usuń je przez kliknięcie na nich i wciśnięcie przyciku Usuń. W typowych przypadkach Win95 instaluje protokół Microsoft NetBeui i protokół kompatybilny z IPX/SPX. Możesz skasować protokół NetBEUI, ale będziesz potrzebował protokołu IPX/SPX jeśli chcesz się logować do serwera Netware.
Więcej szczegółów znajdziesz w TCP/IP Setup FAQ.

Aby ustawić TCP/IP kliknij na TCP/IP, kliknij na Właściwości, kliknij na adres IP

       Wpisz twój adres IP w linii "Podaj adres IP" jako 200.0.0.3
       W linii "Maska podsieci" wpisz 255.255.255.0
       Kliknij OK.

Powinieneś teraz dostać komunikat, aby zresetować komputer. Zrób tak. Powinieneś teraz móc używać swojej przeglądarki.

## 5. Inne połączenia.

To nie jest jedyny sposób na połączenie się z serwerem Linux-a. Możesz wypróbować kilka innych programów jak:

- Strona WWW o Sambie (sam pakiet osiągalny jest także na polskich mirrorach, np. ftp.icm.edu.pl.
- TCP/IP z Microsoft-u
- Sterownik pakietowy Trumpet TCP/IP
- Sterowniki pakietowe CRYNWR

Możesz też być zainteresowany udostępnianiem serwera Netware przez załadowanie sterownika NCP dla Linux-a.

## 6. Aplikacje serwera WWW.

Serwer HTTP może być użyty w biurze, aby udostępniać w przejrzystej formie informacje znajdujące się na różnych serwerach, w różnych miejscach i katalogach. Danymi mogą być proste dokumenty w Wordzie, arkusze w Lotusie, albo złożone bazy danych. Może być użyty do tworzenia interfejsu przy pomocy RDBMS takich jak ORACLE i SYBASE do generowania informacji w czasie rzeczywistym. Tutaj jest lista baz danych gateway-ów do WWW

## 7. Podziękowania i Legalność.

Dziekuję ludziom z NCSA za dostarczenie tak wspaniałej dokumentacji oraz Davidowi Andersonowi za jego komentarze i wypróbowanie tego HOWTO!
Powiedziano mi (David), że nie możesz używać klienta Netware nie mając licencji Netware

## 7.1 Od tłumacza.

Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.pl

Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl

Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu `/HOWTO/`.

Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to wyślij list o treści `subscribe jtz Imię Nazwisko` na adres `majordomo@ippt.gov.pl`