Etap 1 - Przygotowanie środowiska uruchomieniowego dla aplikacji internetowej I. Zebranie potrzebnych komponentów Pobierz z sieci potrzebne składniki: 0. Oracle VirtualBox (w wersji nie wyższej niż w laboratorium) menadżer konfigurowania i uruchamiania maszyn wirtualnych 1. DebMini v. 0.4.zip (ze strony przedmiotu) jest to obraz dysku VDI (lub VMDK) maszyny wirtualnej (do uruchomienia w VirtualBox ie) zawierającej podstawowego Debiana v.2.6.26-2- 686. GUI systemowe wycięte dla zaoszczędzenia miejsca, konfiguracja dostępna z poziomu terminala. System ograniczony do 2GB (spokojnie starczy) po rozpakowaniu zajmuje jakieś 710mb po instalacji wszystkiego 950mb, jak ktoś ma nośni tylko 1GB to może go spakować (ładnie się kompresuje). Loginy i hasła są widoczne po starcie systemu. Serwer FTP jest już zainstalowany (automatycznie startuje po uruchomieniu systemu). 2. Apache v. 2.2.29 archiwum należy pobrać korzystając ze strony projektu serwera Apache: http://httpd.apache.org/download.cgi#apache22. Wybieramy pozycję Unix Source: httpd- 2.2.29.tar.gz link (http://ftp.ps.pl/pub/apache//httpd/httpd-2.2.29.tar.gz) skieruje nas do jednego z mirrorów, z którego rozpocznie się pobieranie pliku. II. Instalacja maszyny DebMini w VirtualBox ie 1. Instalacja VirtualBox'a Maszyna i dysk były testowane na VirtualBox w wersji: 4.1.0 oraz 4.2.8 Wykorzystanie w domu tej samej wersji VirtualBox a co w laboratorium pozwoli uniknąć ewentualnych niezgodności formatów zapisu obrazów maszyn wirtualnych przy ich przenoszeniu. Sam proces instalacji Oracle VirtualBox jest oczywisty opis pominięto. 2. Podpięcie przygotowanego dysku do maszyny a) Otwieramy VirtualBox'a i klikamy Plik -> Importuj urządzenie programowe. b) Wybieramy pobrany plik maszyny (DebMini_vdi.ovf) -> Otwórz c) Klikamy Dalej > Import d) Na liście maszyn pojawi się nam nowa maszyna o nazwie DebMini. 3. Kontrola konfiguracji maszyny wirtualnej DebMini Maszyna powinna już być w pełni skonfigurowana warto jednak sprawdzić, czy dysk został podpięty i czy ustawienia sieci są prawidłowe: a) Na liście maszyn wybieramy właśnie co dodaną maszynę zaznaczamy ją i klikamy Ustawienia b) Przechodzimy do ustawień sieci klikając na liście po lewej na Sieć str. 1
c) Mamy tutaj możliwość dodawania kart sieciowych. Domyślnie jest tylko jedna i ona nam wystarczy trzeba ją tylko przekonfigurować. Pożądane ustawienia: Jako Podłączona do wybrana Karta sieci izolowanej (host-only). Dzięki temu host będzie widział maszynę pod adresem 192.168.56.101 (zapamiętaj to IP) Następnie klikamy na Zawansowane i sprawdzamy czy jako Adres MAC widnieje 080027D0B755 jeśli nie to taki ustawiamy. d) Przechodzimy do ustawień dysków klikając go na liście po lewej na Nośniki str. 2
Ustawiamy dla kontrolera SATA: Nazwa: Kontroler SATA; typ: AHCI; włączone użycie buforowania I/O gospodarza Sprawdzamy czy na liście jest dysk DebMini jeśli go nie ma należy go dodać. (dodajemy dysk do gałęzi Kontroler SATA ). Klikamy na ikonie dodawania dysku. Wybieramy istniejący dysk i wskazujemy położenie pliku DebMini.vdi (z paczki DebMini.zip). Ustawiamy: Slot: Port SATA 0; reszta domyślnie str. 3
e) Potwierdzamy zmiany klikając OK (działanie sprawdzone również dla wersji VB 3.2.8) 4. Uruchomienie / zatrzymanie maszyny wirtualnej Maszynę wirtualną uruchamiamy klikając w menadżerze na przycisk uruchom z zieloną strzałką. W osobnym oknie widzimy startujący system, który przywita nas ekranem informacyjnym podającym hasła dla kont student i root. Zatrzymanie maszyny wirtualnej przed zamknięciem VirtulBox a wykonać można: z poziomu terminala komendą: shutdown h now z poziomu VirtualBox a wybierając z menu Maszyna - > Wyłącz system (ACPI). Dopiero wówczas można zamknąć okno menadżera maszyny wirtualnej. III. Instalacja oprogramowania na maszynie wirtualnej Wszystkie paczki instalacyjne wgrywamy sobie przez FTP: w maszynie wirtualnej logujemy się na koncie studenta (serwer FTP rusza automatycznie) na komputerze zewnętrznym uruchamiamy klienta FTP (w laboratorium możemy do tego celu wykorzystać Total Commandera (TOTALCMD.EXE) dostępnego w c:\pliki programow(x86)\totalcmd ). - CTRL+N otwiera okno do wyspecyfikowania połączenia, podajemy adres hosta: 192.168.56.101 i odznaczamy checkbox połączenia animowego. str. 4
- logujemy się jako student z hasłem student - przegrywamy pliki instalacyjne do folderu home/student na maszynie wirtualnej (transfer konieczny w trybie binarnym) - rozłączamy połączenie klikając Disconnect Jeżeli występują problemy z ustanowieniem połączenia FTP należy sprawdzić czy Zapora systemu Windows nie blokuje portów FTP (20 i 21). http://tibia.net.pl/threads/447173-rozwi%c4%85zanie-odblokowywanie-port%c3%b3w-wzaporze-systemowej Po przegraniu paczek instalacyjnych na maszynę wirtualną, logujemy się jako Root su root, hasło debmini przechodzimy do katalogu /home/student i rozpakowujemy paczki poleceniem: tar zvxf nazwa_archiwum.tar.gz Instalacja Apache (v. 2.2.29) a) Wydajemy kolejno polecenia, których wykonanie trochę potrwa cd /home/student/httpd-2.2.29./configure --prefix=/usr/local/apache --enable-modules=all -- str. 5
enable-so make make install b) Edytujemy plik /usr/local/apache/conf/httpd.conf np. za pomocą edytora vim. Aby wczytać ten plik wydaj polecenie: vim /usr/local/apache/conf/httpd.conf Aby pisać wciśnij i, aby zapisać zmiany wciśnij ESC i następnie :exit W sekcji : <IfModule dir_module> DirectoryIndex index.html </IfModule> w tym pliku zmieniamy istniejący tam wpis z DirectoryIndex index.html na następujący: DirectoryIndex index.php index.html Oraz dodajemy wpis w sekcji <IfModule mime_module> po AddType application/x-gzip.gz.tgz dodatkowo jeszcze: AddType application/x-httpd-php.php c) Uruchamiamy serwer www Uruchomienie serwera www następującym poleceniem: /usr/local/apache/bin/apachectl start W komunikacie zwrotnym podane jest ostrzeżenie, że nie skonfigurowano nazwy domenowej serwera można je na tym etapie zignorować ponieważ będziemy w naszych testach wołać serwer przez podanie jego adresu IP. Restart serwera możliwy jest przy pomocy: (przydatne w kolejnych etapach projektu!) /usr/local/apache/bin/apachectl restart d) Na zewnętrznym komputerze hosta w przeglądarce IE lub innej za pomocą polecenia http://192.168.56.101/index.html wywołaj żądanie tego pliku. Wyświetli nam odpowiedź It works! Zobaczenie opisanych wyników wołań świadczy o tym, iż środowisko skonfigurowano prawidłowo. str. 6
Zastanów się jaką ścieżkę przechodzą żądania o zasób index.html. Uwaga: W katalogu /usr/local/apache/htdocs/ będziesz umieszczał/a wszystkie podstawowe piki składowe aplikacji internetowej (np..html,.xhtm, x.php, x.js, x.css, x.png itp. ułożone w logiczną strukturę katalogów) Wykonaj jeszcze ustawienie automatycznego startu Apache przy uruchomieniu maszyny wirtualnej W tym celu wydaj następujące polecenia: ln /usr/local/apache/bin/apachectl /etc/init.d/apachectl update-rc.d apachectl defaults Teraz po każdorazowym uruchomieniu DebMini serwer Apache wystartuje samodzielnie. Instalacja silnika bazy danych MySQL: 1. Pobieramy paczkę MySQL ze strony: http://download.softagency.net/mysql/downloads/mysql-4.1/mysql-max-4.1.22-pc-linux-gnui686.tar.gz 2. Kopiujemy ją na serwer z wykorzystaniem protokołu FTP (podobnie jak Apache) 3. Rozpakowujemy poleceniem: tar zxvf mysql-max-4.1.22-pc-linux-gnu-i686.tar.gz 4. Tworzymy katalog na potrzeby instalacji silnika bazy danych: mkdir /usr/local/mysql 5. Przenosimy zawartość rozpakowanego archiwum: mv mysql-max-4.1.22-pc-linux-gnu-i686/* /usr/local/mysql 6. Dodajemy użytkownika mysql na potrzeby uruchamiania bazy danych (należy podać i zapamiętać hasło): adduser mysql 7. Instalujemy bazę danych i zmieniamy uprawnienia właściciela na użytkownika mysql (ostatnie polecenie kończy się kropką): cd /usr/local/mysql scripts/mysql_install_db chown -R mysql. 8. Uruchamiamy serwer MySQL: str. 7
support-files/mysql.server start 9. Sprawdzamy działanie ustalamy administratora bazy danych (w miejsce <haslo> podaj ciąg znaków wymyślonego hasła i zapamiętaj je): cd bin./mysqladmin -u root password <haslo> 10. Uruchamiamy konsolę mysql i próbujemy się zalogować z hasłem użytym w pkt. 9:./mysql -u root -p 11. Wydajemy testowe polecenie: show databases; 12. Wychodzimy z konsoli mysql: quit; Instalacja PHP: 1. Uzupełnienie biblioteki gd o obsługę jpeg: a) pobrać paczkę http://www.ijg.org/files/jpegsrc.v8d.tar.gz b) przesłać ją na serwer c) rozpakować i przejść do katalogu jpeg-8d d) wydać polecenie (konfiguracja):./configure --prefix=/usr/local e) wydać polecenie (kompilacja i instalacja): make && make install 2. Pobieramy paczkę php w wersji 5.3.29.tar.gz z lokalizacji: http://pl1.php.net/get/php-5.3.29.tar.gz/from/a/mirror 3. Przekopiowujemy ją na serwer z wykorzystaniem protokołu FTP 4. Rozpakowujemy poleceniem: tar zxvf php-5.3.29.tar.gz 5. Wchodzimy do katalogu ze źródłami: cd php-5.3.29 6. Przelogowujemy się na roota poleceniem: su root 7. W projekcie będziemy wykorzystywać: bibliotekę GD do obsługi operacji graficznych, oraz PDO (Php Database Object) dla silnika bazy danych MySQL. Aby skonfigurować php do właściwej pracy z wymienionymi rozszerzeniami wydajemy polecenie konfiguracyjne: str. 8
./configure \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-config-file-path=/usr/local/apache/conf \ --with-mysql=/usr/local/mysql \ --with-pdo-mysql=/usr/local/mysql/bin/mysql_config \ --with-libxml-dir=/usr/local/libxml \ --with-xsl=/usr \ --enable-ftp \ --with-gd \ --with-jpeg-dir=/usr/local/lib \ --enable-bcmath 8. Kompilujemy źródła i instalujemy w systemie make && make install 9. Sprawdzamy, czy php jest zainstalowane i w jakiej wersji php version 10. Przechodzimy do katalogu htdocs apache i w nim tworzymy testowy plik index.php cat > index.php <?php phpinfo();?> Ctrl+D 11. Restartujemy serwer apache wydając polecenia: /etc/init.d/apachectl stop /etc/init.d/apachectl start 12. Sprawdzamy w przeglądarce (http://192.168.56.101), czy zainstalowane są odpowiednie biblioteki: gd (wspierajaca GIF, PNG oraz JPEG) PDO - wsparcie dla sterowników do sqllite, mysql, sqlite2 pdo_mysql - sterownik w wersji 4.1.22 str. 9
Jeśli tak, to instalacja zakończona pomyślnie. IV. Uwagi końcowe Należy pamiętać o konieczności prawidłowego zamknięcia Debiana przed zamknięciem VirtulBox a. Można to wykonać: o Z poziomu terminala komendą: shutdown h now o Z poziomu VirtualBox a wybierając z menu Maszyna - > Wyłącz system. Dopiero wówczas można zamknąć okno menadżera maszyny wirtualnej. W celu przeniesienia maszyny wirtualnej z domowego PC na stanowisko laboratoryjne należy: o Na domowym PC w menadżerze VirtualBox a przy wyłączonej maszynie wybrać z menu Plik -> Eksportuj urządzenie programowe o Na laboratoryjnym PC w menadżerze VirtualBox a wybrać z menu Plik -> Importuj urządzenie programowe o Po zakończeniu Analogicznie po zmianach wykonanych w laboratorium przenosimy zmieniony obraz do domu. Na stanowisku laboratoryjnym po wykonaniu eksportu urządzenia programowego (zgraniu maszyny) należy usunąć swoją maszynę w menadżerze VirtualBox a. str. 10