SERWIS WWW
Każdy użytkownik naszego systemu może umieścić oraz modyfikować
strony WWW na swoim koncie. Przy tworzeniu nowych stron WWW pomocne będą
poniższe wskazówki.
UMIESZCZANIE STRON NA SERWERZE
Do umieszczania stron WWW służy katalog public_html,
który znajduje się na koncie każdego użytkownika. Z zewnątrz
jego zawartość jest widziana pod adresem:
http://www.nazwa.domeny.pl/.
Przygotowane strony WWW w postaci plików HTML, GIF, JPEG itp. najlepiej
umieszczać na koncie za pomocą FTP (serwer www.nazwa_domeny.pl).
Aby wejść na swoje konto przez FTP należy podać swój login oraz hasło
w używanym przez siebie programie do FTP.
KATALOG PUBLIC_HTML
Wszystkie ścieżki do plików umieszczonych na
stronach użytkownika są określane względem katalogu public_html.
Na przykład, plik:
public_html/plik.html
jest dostępny z Internetu pod adresem:
http://www.nazwa.domeny.pl/plik.html
Plikiem ładowanym automatycznie po odwołaniu do nazwy katalogu jest plik
o nazwie index.html lub index.htm. Na przykład, adresy
http://www.nazwa.domeny.pl/
http://www.nazwa.domeny.pl/katalog1/
spowoduje wyświetlenie zawartości pliku
public_html/index.html
public_html/katalog1/index.html
PRAWA DOSTĘPU DO PLIKÓW I KATALOGÓW
Unix posiada mechanizmy autoryzacji dostępu do plików opierające
się o właściciela, grupę oraz odpowiednio ustawiane prawa do czytania,
zapisu i wykonywania.
Ponieważ serwer WWW ma nałożone takie same
ograniczenia jak każdy inny użytkownik systemu, konieczne jest by
katalog public_html był otwarty do czytania dla wszystkich.
Jeśli pomimo tego, że dany plik znajduje się w katalogu public_html
serwer cały czas odmawia wyświetlenia go z komunikatem o braku autoryzacji,
to należy wykonać następujące polecenia ($ jest znakiem
zachęty systemu):
$ cd
$ chmod a+x ~
$ chmod a+rx public_html -R
NAZWY PLIKÓW
Małe i duże litery w nazwach plików oraz katalogów są rozróżniane.
Tak więc nie można używać nazwy Plik1.html zamiast plik1.html
albo obrazek.gif zamiast obrazek.GIF.
Kolejną różnicą jest kierunek ukośnika w nazwach katalogów - pod DOSem jest
to backslash - \, natomiast pod Unixem slash - /. Należy zwrócić
na to uwagę przy przenoszeniu na serwer plików tworzonych pod DOSem, zwłaszcza
jeśli niektóre linki nie działają i zwracają komunikat, że taki plik nie
istnieje.
Nazwy plików pod Unixem mogą mieć długość do 255 znaków i zawierać litery,
cyfry i znaki przestankowe. Zachowanie DOSowego schematu (8 znaków nazwy
i 3 rozszerzenia) nie jest konieczne. Oczywiście pliki HTML powinny mieć
rozszerzenie .html, pliki GIF - .gif, pliki JPEG -
.jpg itp.
POLSKIE ZNAKI
Standardem polskich znaków w Internecie (poczta, newsy oraz WWW)
jest ISO-8859-2 (ISO-Latin-2) i jest on używany na znaczącej
większości stron WWW. Wszelkie problemy z polskimi znakami są od dawna
opisane i wyjaśniane na
Polskiej Stronie
Ogonkowej.
By pomóc użytkownikom w konwersji stron ze standardu Windows-1250
na ISO-8859-2 zainstalowaliśmy na serwerze program wwwfixpl
Jarosława Strzałkowskiego.
Uruchomiony w katalogu zawierającym strony WWW w standardzie Windows-1250
przekonwertuje wszystkie pliki .html i .htm na ISO-8859-2,
ustawiając również właściwą wartość nagłówka <META>. Strony
zawierające już polskie znaki w ISO nie są zmieniane.
URUCHAMIANIE SKRYPTÓW CGI
Użytkownicy mogą umieszczać na swoich kontach własne skrypty CGI do
wykorzystania na stronach WWW. Aby plik był traktowany jako CGI musi mieć
rozszerzenie .cgi oraz prawa do wykonywania i czytania dla wszystkich
(polecenie chmod a+rx plik.cgi). Należy również zwrócić uwagę
na skrypty pisane oryginalnie pod DOSem lub Windowsami - ze względu
na różnice zakończeń linii (DOS: CR+LF, Unix: LF) mogą one nie pracować
poprawnie. Można temu zaradzić przesyłając je przez FTP w trybie ASCII
(nastąpi automatyczna konwersja) lub konwertując na serwerze poleceniem:
cpl 0- plik.cgi
Położenie skryptów na koncie jest dowolne, zalecamy jednak, by znajdowały się
w specjalnie do tego celu stworzonym katalogu public_html/cgi-local.
Zwracamy także uwagę, że katalog /cgi-bin jest mapowany na główny
katalog serwera zawierający publicznie dostępne skrypty takie jak licznik
lub FormMail. Nie należy więc na swoim koncie tworzyć katalogu o nazwie
cgi-bin.
Znaczenie mają również prawa do skryptu CGI oraz do katalogu w którym się
on znajduje. Jednemu i drugiemu nie należy ustawiać praw do zapisu
dla wszystkich, ponieważ pozwala to osobom niepowołanym na modyfikację
skryptów. Serwer sprawdza prawa do skryptu (oraz katalogu) pod tym kątem
i zgłasza błąd jeśli są one ustawione nieprawidłowo. Najlepiej by zarówno
katalog jak i skrypt miały prawa -rwxr-xr-x (numerycznie: 755).
Można to ustawić poleceniem chmod 755 plik.cgi.
Szczegolna uwage nalezy zwrocic na prawa nadawane plikom zawierajacym poufne dane (np. pliki z haslami do innych kont lub baz danych). W takim przypadku nadanie uprawnien 755 (odczyt dla wszystkich) moze doprowadzic do przechwycenia hasla przez innego uzytkownika serwera. W zaleznosci od sposobu realizacji skyptu mozna zastosowac dwie metody:
- Skrypty CGI (np. Perl lub bash)
Poniewaz przewaznie skrypty w perl'u pisane sa otwartym tekstem, stosuje sie rozwiazanie polegajace na umieszczeniu hasla dostepu w innym pliku niz sam skrypt. Plik ten (poniewaz skrypty CGI sa uruchamiane z prawami wlasciciela skryptu) moze miec prawa 600 (czyli odczyt i zapis tylko dla wlasciciela pliku). Glowny skrypt CGI (prawa 755) bedzie odczytywal haslo z pliku dodatkowego, do ktorego bedzie mial dostep. Tym samym, plik zawierajacy haslo pozostanie niedostepny dla innych uzytkownikow serwera.
- Skrypty PHP
W przypadku korzystania z jezyka PHP sprawa jest bardziej skomplikowana. Wynika to z faktu, ze w standardzie skrypty PHP sa interpretowane przez serwer WWW i jako takie musza miec prawa do odczytu dla serwera (755). Aby uniknac przechwycenia danych przez innych uzytkownikow mozna zastosowac nastepujace rozwiazanie:
Wtedy skrypty php w danym katalogu i wszystkich podkatalogach beda uruchamiane z prawami danego uzytkownika podobnie jak w przypadku poprzednim.