Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

Wielkość: px
Rozpocząć pokaz od strony:

Download "Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2"

Transkrypt

1 1. Instalacja serwera WWW Aby zainstalować serwer WWW w systemie Linux, należy wykorzystać menedżer pakietów apt-get. Polecenia które należy wpisać w terminalu użytkownika root 1 : apt-get install build-essential apt-get install apache2 Rys. 1. Widok uruchomienia polecenia apt-get install build-essential Rys. 2. Widok uruchomienia polecenia apt-get install apache2 1 Odpowiednik konta Administrator z systemu Windows

2 Polecenia te spowodują zainstalowanie serwera i dodatków niezbędnych do jego pracy. Podczas instalacji system zapyta czy użytkownik wyraża zgodę na instalację. Należy wtedy nacisnąć t oraz potwierdzić wybór klawiszem ENTER. Możliwa również jest instalacja serwera w terminalu użytkownika bez praw administratora, należy wtedy użyć polecenia: sudo apt-get install build-essential sudo apt-get install apache2 niezbędnym jest wtedy znajomość hasła użytkownika root (domyślnie w ZSP w Zielonej hasło linux) 2. Uruchamianie serwera WWW Po wykonaniu czynności z punktu 1 serwer jest domyślnie uruchomiony. Serwer WWW można również uruchomić przy pomocy polecenia service. Dostępne opcje polecenia: Uruchomienie usługi: service apache2 start Zatrzymanie usługi: service apache2 stop Ponowne uruchomienie usługi: service apache2 restart Rys. 3. Widok uruchomienia poleceń: service apache2 (stop, start, restart)

3 3. Konfiguracja serwera Apache Pliki konfiguracyjne serwera WWW znajdują się w katalogu /etc/apache2. Głównym plikiem konfiguracyjnym jest apache2.conf, w którym oprócz opcji konfiguracyjnych znajdują się odnośniki do innych plików konfiguracyjnych, np. httpd.conf, ports.conf. W pliku httpd.conf umieszczane są pliki użytkownika, plik ports.conf pozwala na zdefiniowanie wirtualnych serwerów. Wszelkie linie które poprzedzone są znakiem # oznaczają komentarz. Nie mają one wpływu na konfigurację serwera pełnią tylko rolę informacyjną. W opcjach plików konfiguracyjnych rozróżniane są wielkie i małe litery (np. ServerName oraz servername to dwa zupełnie odmienne zapisy). Rys. 4. Widok plików znajdujących się w katalogu /etc/apache2 Jeżeli serwer został poprawnie zainstalowany możemy sprawdzić jego działanie poprzez wpisanie w oknie przeglądarki localhost bądź adresu ip naszego komputera lokalnego. (aby sprawdzić jaki adres IP jest przypisany do naszego komputera, w oknie terminala można wpisać polecenie ifconfig) Rys. 5. Widok uruchomienia polecenia ifconfig (IP komputera : )

4 Rys. 6. Sprawdzenie poprawności instalacji serwera apache2 poprzez wpisanie w przeglądarce localhost Rys. 7. Sprawdzenie poprawności instalacji serwera apache2 poprzez podanie w przeglądarce adresu IP Po poprawnej instalacji serwera apache2 powinna pojawić się nam strona wyglądająca dokładnie taj jak na rysunkach 6 oraz Umieszczanie stron na serwerze WWW Główny katalog zawierający strony udostępniane użytkownikom jest określony w pliku konfiguracyjnym default znajdującym się w katalogu /etc/apache2/sites-available/ za pomocą zmiennej DocumentRoot. Domyślnie po instalacji serwera jest to /var/www. Jeżeli w tym katalogu umieścimy plik index.html, zostanie on wczytany i wyświetlony po wpisaniu w oknie przeglądarki localhost bądź swojego adresu IP. Aby przejść od katalogu zawierającego strony należy użyć polecenia: cd /etc/apache2/sites-available

5 można wyświetlić zawartość katalogu poleceniem: ls l Aby sprawdzić zawartość pliku default można posłużyć się poleceniem: 2 leafpad default Rys. 8. Widok folderu /etc/apache2/sites-available wraz z otwartym plikiem default Rys. 9. Widok folderu /var/www wraz z utworzonym plikiem index.html 2 leafpad jest domyślnym edytorem instalowanym w wersji systemu Linux zainstalowanej w ZSP w Zielonej. Inne edytory, którym można również użyć do otwierania plików to np. vi, Edit, itp. Wcześniej jednak należy je zainstalować.

6 Rys. 10. Widok strony głównej użytkownika po utworzeniu pliku index.html w katalogu /var/www 5. Konfiguracja serwera Apache do obsługi stron użytkowników lokalnych Użytkownicy lokalni mają na serwerze swoje konta założone przez administratora i posiadają uprawnienia do zapisywania danych w swoich katalogach domowych. W katalogu domowym użytkownika może być utworzony podkatalog public_html, który będzie udostępniany za pośrednictwem usługi WWW. Za obsługę stron użytkowników odpowiada zmienna UserDir. Gotowe skrypty zawierające ustawienia konfiguracyjne umieszczane są w katalogu mods-available, gdzie znajduje się wiele gotowych skryptów, możliwych do wykorzystania. Aktywowanie skryptu odbywa się poprzez dołączenie go do listy. W tym celu w katalogu mods-enabled należy utworzyć linki do odpowiednich skryptów. Włączenie udostępniania katalogów domowych użytkowników można wykonać przy pomocy poleceń: Zmiana katalogu na /etc/apache2/mods-available: cd /etc/apache2/mods-enabled Tworzenie linków symbolicznych: ln s../mods-available/userdir.conf userdir.conf ln s../mods-available/userdir.load userdir.load

7 Rys. 11. Tworzenie dowiązań symbolicznych wg powyższych poleceń Aby strona dla użytkownika lokalnego mogła być wyświetlana należy zastosować następujące kroki: Zalogować się na konto użytkownika zsp (lub innego utworzonego użytkownika) W katalogu domowym użytkownika (w tym przykładzie /home/zsp) należy poleceniem mkdir public_html utworzyć podkatalog public_html W katalogu mods-enabled utworzyć linki do plików konfiguracyjnych userdir.conf oraz userdir.load poleceniami: cd /home/zsp ln s../mods-enalbed/userdir.conf userdir.conf ln s../mods-enabled/userdir.load userdir.load Rys. 12. Tworzenie dowiązań symbolicznych wg powyższych poleceń

8 Utworzyć plik index.html w katalogu public_html Rys. 13. Tworzenie pliku index.html w katalogu public_html w katalogu domowym użytkownika zsp Uruchomić ponownie serwer poleceniem: service apache2 restart Sprawdzić działanie usługi wpisując w oknie przeglądarki localhost/~zsp (lub adres IP/~zsp) Rys. 14. Sprawdzenie poprawności wykonania zadania. Usługa do obsługi stron użytkowników lokalnych działa. 6. Blokowanie przeglądania zawartości katalogu Wyświetlanie zawartości katalogów może stanowić zagrożenie bezpieczeństwa. Przez zmianę konfiguracji serwera można zmienić jego zachowanie tak, aby w takim przypadku wyświetlał się komunikat o błędzie. W tym celu w pliku /etc/apache2/modsavailable/userdir.conf należy odszukać fragment:

9 <Directory /home/*/public_html> AllowOvverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from All </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from All </LiminExcept> </Directory> W pliku konfiguracyjnym należy postawić znak # na początku każdej linii miedzy znacznikami <Directory /home/*/public_html> oraz </Directory> Rys. 15. Efekt przeprowadzenia działań opisanych powyżej Polecenia których należy użyć do uzyskania efektu widocznego na rysunku 15 wyglądają następująco: Zaloguj się na konto użytkownika Zmodyfikuj plik konfiguracyjny /etc/apache2/mods-available/userdir.conf zgodnie z opisem zawartym w punkcie 6. Usuń plik index.html z katalogu public_html Uruchom ponownie serwer poleceniem: service apache2 restart Przetestuj działanie usługi wpisując w przeglądarce: localhost/~zsp

10 Rys. 16. Widok konfiguracji pliku userdir.conf znajdującego się w katalogu /etc/apache2/mods-available Istnieje również możliwość zablokowania dostępu do danego katalogu. Dostęp może wtedy uzyskać tylko użytkownik posiadający login i hasło do katalogu. Aby skonfigurować konto i hasło niezbędne do uzyskania dostępu do katalogu należy: W katalogu w którym przechowywane są strony serwera (/var/www) utworzyć dowolny katalog (w naszym przypadku niech będzie to asso). Najpierw należy przejść do folderu poleceniem: cd /var/www a następnie poleceniem mkdir asso utworzyć katalog. W katalogu asso utworzyć plik.htaccess o następującej zawartości: AuthName Katalog z ograniczonym dostępem AuthType Basic AuthUserFile /hasla/.htpasswd Require valid-user W opcji AuthName można wpisać dowolny tekst, który zostanie wyświetlony podczas okna podawania loginu i hasła, AuthUserFile natomiast to ścieżka dostępu do pliku.htpasswd w którym znajdować się będą nazwy użytkowników i hasła dostępu. Plik ten powinien być umieszczony w miejscu do którego zwykły użytkownik nie będzie miał dostępu.

11 Rys. 17. Widok zawartości pliku.htaccess znajdującego się w katalogu /var/www/asso Utworzyć plik.htpasswd w miejscu wskazanym w pliku.htaccess.zawartość pliku tworzy się wg schematu: Nazwa_uzytkownika:hasło_dostępu Rys. 18. Widok zawartości pliku.htpasswd utworzonego w katalogu /hasla Plik z hasłami można utworzyć poleceniem: htpasswd c /hasla/.htpasswd zsp

12 Rys. 19. Widok zawartości pliku.htpasswd utworzonego w katalogu /hasla przy użyciu polecenia htpasswd c /hasla/.htpasswd zsp Zezwolić na nadpisywanie ustawień w pliku konfiguracyjnym witryny /etc/apache2/sites-available/default. W pliku należy odszukać opcję AllowOwerride None i zmienić ją na AllowOverride All. Rys. 20. Widok po zmianie zawartości pliku default znajdującego się w katalogu /etc/apache2/sites-available Uruchomić ponownie serwer poleceniem: service apache2 restart Przetestować działanie wprowadzonych zabezpieczeń poprzez wpisanie w przeglądarce: localhost/asso

13 Rys. 21. Widok testowania ochrony katalogu za pomocą hasła Wszelkie informacje wykorzystane w tym tutorialu zostały zaczerpnięte z podręcznika do nauki zawodu technik informatyk Administrowanie sieciowymi systemami operacyjnymi. Zostały zmodyfikowane i dostosowane do warunków panujących w Zespole Szkół Ponadgimnazjalnych w Zielonej.