Technologie informacyjne – lab. 4 - WEMiF
Transkrypt
Technologie informacyjne – lab. 4 - WEMiF
Technologie informacyjne – ETD1063 mgr inż. Rafał Zawierta Technologie informacyjne – lab. 4 Cel ćwiczenia: Zapoznanie się z komunikacją ze zdalnym serwerem w sieci na przykładzie bezpiecznego serwera SSH. Wstępne zapoznanie się z ideą certyfikatów. Praca z edytorem w środowisku Linux, tworzenie podstawowych stron WWW w języku HTML i PHP. Dziś praktycznie każdy ma możliwość posiadania własnej strony WWW. W sieci Internet można znaleźć szereg gotowych rozwiązań pozwalających na tworzenie metodą „wyklikania” gotowych stron, bez konieczności zastanawiania się nad ich zawiłą strukturą. Na laboratorium nr 1 poznaliśmy co to są style CSS i jak można je użyć w stronach HTML. Dziś jednak trudno o rozbudowane strony WWW tworzone w czystym języku HTML – jednym z pomocnych narzędzi okazał się język PHP. Zadanie 1. Protokół SSH [10 minut] W notatniku odpowiedz na następujące pytania, opierając się o dane z dokumentu RFC (http://www.free.lp.se/fish/rfc.txt) lub z innych źródeł: 1. Co oznacza skrót SSH 2. Jaki domyślnie port w komputerze odpowiada za komunikację SSH 3. Jakie są stosowane algorytmy szyfrowania w protokole SSH Odpowiedzi zapisz w pliku lab4_zad1.txt Zadanie 2. Aplikacja PuTTY [10 minut] Za pomocą wyszukiwarki (Google) znajdź w sieci Internet aplikację PuTTY. Następnie pobierz ją, zapisz na pulpicie i uruchom aplikację. Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska 1 Technologie informacyjne – ETD1063 mgr inż. Rafał Zawierta Rys.2. Okno programu PuTTY po uruchomieniu Następnie skonfiguruj połączenie do serwera ćwiczeniowego o zadanych parametrach: port 22, protokół SSH, adres serwera www2.wemif.pwr.wroc.pl Tak skonfigurowane połączenie zapisz (Save) jako WEMIF-TI w programie. Wykonaj połączenie przy pomocy programu PuTTY z serwerem WEMIF-TI. Gdy serwer się połączy zapisz odcisk palca serwera. Możemy spróbować się zalogować. Jako login podaj nazwę postaci snralbumu, gdzie Przykładowa nazwa do logowania: s123456 Hasło do logowania: stud Zadanie 3. Przygotowanie do własnej WWW [10 minut] W systemach Linux i Unix jest kilka metod udostępnienia stron WWW użytkowników całemu światu. W wypadku systemu z zajęć, strony WWW dostępne są dla wszystkich pod adresem http://www2.wemif.pwr.wroc.pl/~nazwa_użytkownika (np. http://www2.wemif.pwr.wroc.pl/~s123456). Ze strony użytkownika systemu sprawa ma się jednak nieco inaczej. Każdy po zalogowaniu do systemu znajduje się w swoim katalogu domowym. Można to sprawdzić wpisując komendę pwd: s123456@www2:~$ pwd /home/s123456 Kolejnym krokiem jest sprawdzenie, czy jest już coś w naszym katalogu. W tym celu użyjemy polecenia ls: Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska 2 Technologie informacyjne – ETD1063 mgr inż. Rafał Zawierta s123456@www2:~$ ls Jeśli w katalogu nic nie ma, a tak prawdopodobnie będzie, nic nie zostanie wyświetlone. W tym miejscu pora na przygotowanie miejsca na nasze strony WWW. Serwer będzie ich szukał w katalogu public_html, więc taki katalog należy sobie utworzyć. s123456@www2:~$ mkdir public_html s123456@www2:~$ ls public_html Pozostaje już tylko przejść do katalogu public_html i można zacząć przygodę z edycją stron WWW. Bardzo ważna uwaga – katalog musi nazywać się public_html, inaczej serwer nie będzie chciał wyświetlić zawartości strony. s123456@www2:~$ cd public_html/ Zadanie 4. Pierwsza własna strona WWW [10 minut] Własne strony WWW zaczniemy od mniej lub bardziej znanego i lubianego HTML'a. Serwer myśli, że każdy użytkownik jako domyślną przyjmie stronę index.html. Nie wyprowadzajmy go z tego przekonania – stwórzmy pierwszą stronę index.html. W tym miejscu warto nadmienić, że bardziej odważni użytkownicy zdecydują się w tym miejscu na edytory vi, vim, emacs (można oczywiście teraz ich użyć) i inne. Dla nas przewidziano narzędzie nieco łatwiejsze – mcedit. s123456@www2:~/public_html$ mcedit index.html Rys.3. Edytor mcedit i praca z plikiem index.html W edytorze wpisz TEST i swój numer albumu. Następnie zapisz (F2) i sprawdź, czy strona wyświetliła to co powinna. Skorzystaj z wiadomości z zadania 4 (adres strony). Poproś prowadzącego, żeby zweryfikował Twój wynik pracy. Wyjście z edytora Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska 3 Technologie informacyjne – ETD1063 mgr inż. Rafał Zawierta mcedit uzyskasz wciskając klawisz F10. Na koniec zmień nazwę strony z index.html na stara.html (polecenie mv). s123456@www2:~/public_html$ mv index.html stara.html s123456@www2:~/public_html$ ls stara.html Zadanie 6. Pierwszy skrypt PHP [5 minut] Pora na pierwszy skrypt PHP. Skrypty PHP serwer rozpozna po odpowiednich znakach. Można użyć poniższych trzech metod: <? ?> <?php ?> <SCRIPT LANGUAGE="php"> </SCRIPT> Dobrym nawykiem jest korzystanie z wersji nr 2. Na wstępie sprawdzimy czy PHP działa. Po otwarciu do edycji (mcedit index.php) pliku index.php należy wprowadzić następujący kod: <?php phpinfo(); ?> Tak przygotowany kod zapisujemy (F2) i sprawdzamy, co pojawiło się na naszej stronie WWW. Spodziewany efekt to duża strona z tabelkami i informacjami co potrafi nasz serwer. Uwaga! Linia w kodzie php powinna kończyć się znakiem ';' Zadanie 6. Drugi krok w PHP [15 minut] Przetestuj działanie komend print() i echo w języku PHP. W tym celu odpowiednio edytuj plik index.php (który nadal powinien być otwarty). Wykorzystaj komentarze (//), aby kod był czytelniejszy. Stwórz zmienne imię, nazwisko, numer_albumu i wyświetl je za pomocą komendy echo lub print. Przykładowo print (”To jest tekst”); wyświetli nam na ekranie To jest tekst. Warto pamiętać, że choć PHP rozumie znak nowej linii tak jak język C (czyli '\n'), to jednak wszystko to wyświetla przeglądarka internetowa i należy nową linię wyświetlać jako „<br>”. Aby wszystko było zgodne ze zwyczajem, w pliku index.php powinno się znajdować minimum to (własny kod wstaw pod zakomentowaną linijką): <HTML> Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska 4 Technologie informacyjne – ETD1063 mgr inż. Rafał Zawierta <HEAD> <META HTTP-EQUIV="Content-Type" Content="tekst/html"; charset=iso8859-2"> <TITLE>Strona w PHP</TITLE> </HEAD> <BODY> <?php //teraz kod PHP print(”To jest tekst<br>na dwie linie.”); echo ”Jedna linia”; echo ”<br>”; echo ”Druga linia”; ?> </BODY> </HTML> Listing 1. Szkic kodu php do zadania 6. Mamy już szkic kodu, teraz pora na zmienne. W języku PHP zmienna oznaczana jest znakiem $ (np. $imie, $godzina). PHP sam się domyśli, czy zmienna jest liczbą, czy znakiem, czy ciągiem znaków. Np. $numer=200 będzie rozpoznany jako liczba, a $numer2=”400” jako ciąg znaków. W czym tkwi różnica? Na zmiennych liczbowych można wykonywać operacje arytmetyczne (np. +, -, *, /). Obliczmy zatem pole trójkąta w PHP: <?php $a=10; $h=10; $p=0.5*$a*$h; echo $p; //wyswietli nam pole trojkata ?> Listing 2. Praca na zmiennych w PHP Zadanie: w oparciu o kod z listingu 1 na stronie (w pliku index.php) wyświetl swoje imię, nazwisko i numer albumu oraz oblicz pierwiastki równania kwadratowego –2x2 + 3x –1 = 0 Ważne: obliczenia „ukryj” w kodzie PHP, wyświetl tylko wynik. Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska 5 Technologie informacyjne – ETD1063 mgr inż. Rafał Zawierta Zadanie 7. PHP dla trochę bardziej wtajemniczonych. [15 minut] PHP to nie tylko zmienne i ich dodawanie. Jest rzecz jasna łączenie się z bazą danych i praca na niej (ale o tym może innym razem). Są też mechanizmy ułatwiające pracę. Do takich z pewnością będą należały pętle. Pętla jest taką komendą, która ma za zadanie powtórzyć (zgodnie z jakimiś zaleceniami) jedną lub kilka operacji. Najczęściej używane pętle to while() i for(). Składnia ich nieco różni się od siebie, niemniej jednak w działaniu są takie same, co pokazuje poniższa tabela: while() for() Składnia $i=0; while ($i<10) { print(”$i, ”); $i++; } for ($i=0;$i<10;$i++){ print(”$i, ”); } Efekt polecenia 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ($i++ to taki skrót (oznacza zwiększ $i o jeden) i jest równoważne z $i+=1) Przy pomocy pętli for (dokumentacja for w PHP -> internet) stwórz tabelkę i wypisz w niej 5 wierszy. Wykonaj to w pliku index.php pod zadaniem 6. Wiersz 1 Wiersz 3 Wiersz 5 Wiersz 7 Wiersz 9 Hint: użyj <table> <tr> <td> Całość swojej pracy wyślij prowadzącemu. Aby łatwo skopiować zawartość pliku index.php (z mcedit się nie da), wykonaj te kroki: s123456@www2:~/public_html$ cp index.php wynik.txt A następnie wejdź w przeglądarce na adres: http://www2.wemif.pwr.wroc.pl/ ~s123456/wynik.txt Powodzenia! Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska 6