Instalacja Solab WWW Uwaga! Dokument poufny (do użytku wewnętrznego). Wersje instalacyjne pakietu serwerowego, aplikacji Solab WWW i inne pliki (pakiety SQL) są dostępne wyłącznie przez protokół SVN. Aby przygotować wersję do instalacji u klienta, należy zainstalować na swoim komputerze klienta SVN (np. TortoiseSVN) i przy jego pomocy pobrać najnowsze rewizje (wersje) wszystkich komponentów aplikacji lub użyć komputera, który posiada zainstalowanego jakiegoś klienta SVN. Konieczne jest też posiadanie loginu i hasła gwarantującego dostęp do repozytorium SVN - proszę zwrócić się w tej sprawie do osoby aktualnie zarządzającej repozytorium (TT?). Szczegółowe informacje na temat korzystania z SVN (dokumentacja, szkolenie wideo, wersje instalacyjne) znajdują się w repozytorium na serwerze www (10.10.8.138). Solab WWW - Minimalne wymagania Wymgania ogólne - sprzęt Instalacja na nowym serwerze (bez Apache) - XAMPP Instalacja na istniejącym serwerze (z Apache) Instalowanie XAMPP i Solab WWW Instalacja w systemie Windows Instalacja w systemie Linux Konfiguracja klienta SMTP sendmail Konfiguracja aplikacji Solab WWW Rozwiązywanie znanych problemów (FAQ) Aktualizacja aplikacji do nowej wersji Solab WWW - Minimalne wymagania Solab WWW jest aplikacją webową, stworzoną w języku PHP. Do poprawnego działania wymaga serwera Apache z interpreterem PHP (z modułem pdo_oci) i klienta Oracle (oraz opcjonalnie klienta pocztowego, gdy aplikacja ma wysyłać e-maile za pomocą formularza pocztowego). Zalecane jest korzystanie z gotowego, prekonfigurowanego pakietu XAMPP Lite. Do korzystania z aplikacji niezbędna jest dowolna przeglądarka stron WWW. Aplikacja jest testowana pod kontrolą Firefox 3.6 i Internet Explorer 8.0 i te przeglądarki, w tych wersjach, są zalecane. Preferowany jest Firefox ze względu na większą zgodność ze stylami CSS i językiem JavaScript, których aplikacja używa oraz mniejsze wymagania sprzętowe. Solab WWW pracuje z przeglądarką, w której wyłączono obsługę skryptów JavaScript, ale jest to rozwiązanie bardzo niezalecane i należy je stosować tylko w ostateczności! Wymgania ogólne - sprzęt
Do komfortowej pracy zalecany jest: 1. Dowolna, możliwie jak najnowsza dystrybucja Linuksa lub Windows 2000, XP, Vista albo 7. Systemy serwerowe (2003, 2008, Home Server) nie były testowane, starsze wersje systemu (95, 98, Me) nie są zalecane! Według oficjalnej dokumentacji, Apache nie działa on z 64-bitowymi wersjami Windows, ale własne testy wskazują, że nie jest to prawda i wersję XAMPP Lite można na takim systemie uruchomić. 2. Processor 2 GHz, jednordzeniowy lub lepszy. 3. 1 GB pamięci RAM, 4. 250 MB wolnego miejsca na dysku twardym na pakiet serwerowy i aplikację (miejsce wymagane do instalacji Oracle nie wliczone!). Jeżeli aplikacja WWW jest instalowana na stacji roboczej, na której nie jest jednocześnie zainstalowany Oracle, do uruchomienia i pracy wystarczy komputer, na którym w miarę komfortowo działa Windows i przeglądarka WWW. Instalacja na nowym serwerze (bez Apache) - XAMPP Wersja instalacyjna, pobrana z repozytorium zawiera wszystkie moduły i elementy niezbędne do działania aplikacji i nie trzeba doinstalowywać do niej niczego ani wykonywać żadnych dodatkowych operacji poza wymienionymi w instrukcji instalacji poniżej. Instalacja na istniejącym serwerze (z Apache) Jeżeli aplikacja Solab WWW ma być zainstalowana na istniejącym serwerze Apache, to należy zapewnić, że: Apache posiada zainstalowany i działający moduł mod_rewrite, Apache posiada zainstalowaną i działającą bibliotekę GD, PHP ma zainstalowany i działający sterownik do Oracle, w wersji wykorzystującej PDO (PHP Database Object) - php_pdo_oci.dll (Windows) lub php_pdo_oci.so (Linux), nie może być starszy - php_oci8.dll (Windows) lub php_oci.so (Linux). Instalowanie XAMPP i Solab WWW Wszystkie pliki do zbudowania wersji instalacyjnej dla klienta znajdują się w repozytorium SVN - konieczne jest skorzystanie z komputera posiadającego jakiegoś klienta SVN! Instalacja w systemie Windows Pierwszy krok to przygotowanie paczki serwerowej wraz z aplikacją, w najnowszej dostępnej wersji, która następnie zostanie skopiowana do klienta. Uwaga! Paczka nie zawiera klienta Oracle (ma sterownik). Należy zainstalować go własnoręcznie na komputerze docelowym klienta, na którym ma być uruchomiona aplikacja! I. Przygotowanie paczki instalacyjnej pakietu serwerowego i aplikacji Solab WWW:
1. Przygotowywanie paczki do instalacji na nowym serwerze (bez Apache): a. Utworzyć nowy tymczasowy (!) folder i przy pomocy SVN pobrać najnowszą (HEAD) rewizję z: http://10.10.8.138:81/svn/solab_www/srv/xampp-win - kliknąć folder tymczasowy PKM, wybrać SVN Checkout i podać powyższy adres. b. W folderze tymczasowym utworzyć nowy folder o nazwie yii i pobrać do niego zawartość repozytorium: http://10.10.8.138:81/svn/solab_www/yii/stable. c. W folderze tymczasowym otworzyć folder htdocs (pusty!) i utworzyć w nim nowy folder o nazwie solab_www. Pobrać do niego z SVN (wersję stablilną aplikacji z repo: http://10.10.8.138:81/svn/solab_www/app/tags/current-stable/. d. Następnie, należy kliknąć PKM na folderze tymczasowym, z menu podręcznego wybrać TortoiseSVN > Export i wskazać folder docelowy. Zawartość folderu tymczasowego zostanie skopiowana (bez danych SVN) do wskazanego folderu i w ten sposób otrzymujemy paczkę gotową do użycia u klienta. Paczkę tą (folder docelowy) można spakować np. ZIPem (ale nie folder tymczasowy!). W oknie eksportu należy koniecznie zaznaczyć opcję Export non-versioned files too! Uwaga! Opcja TortoiseSVN > Export kopiuje zawartość folderu tymczasowego (lokalnej kopii roboczej repozytorium) do folderu docelowego bez informacji o wersjonowaniu SVN. Jest to konieczne ze względu na rozmiar i kwestie bezpieczeństwa. Dlatego nie należy kopiować paczki instalacyjnej do folderu docelowego przy pomocy innych mechanizmów niż eksport! e. Po zakończeniu eksportu, cały folder tymczasowy można usunąć, chyba że korzysta się z funkcjonalności złączonych repozytoriów - patrz punkt III. Uwaga! W zasadzie powyższą instrukcję powinno się przeprowadzać przy każdej budowie (aktualizacji) paczki instalacyjnej dla klienta. Patrz też - punkt III poniżej. 2. Przygotowywanie paczki do instalacji na istniejącym serwerze (zawierającym Apache): a. Należy powtórzyć nieco zmieniony punkt c powyższej instrukcji - utworzyć folder tymczasowy i pobrać do niego przy pomocy SVN najnowszą rewizję z repo: http://10.10.8.138:81/svn/solab_www/app/tags/current-stable/. b. Punkt d powyższej instrukcji należy wykonać bez zmian - wyeksportować pliki z folderu tymczasowego do docelowego przy pomocy TortoiseSVN > Export. II. Instalacja paczki instalacyjnej na docelowym komputerze u klienta: 1. Zainstalować i skonfigurować klienta Oracle - nie jest dostarczany w paczce! 2. Rozpakować zawartość paczki instalacyjnej lub skopiować ją do folderu docelowego - zalecane jest instalowanie XAMPPa w folderze głównym (np.: c:\xampp). 3. Uruchomić skrypt instalacyjny setup_xampp.bat w folderze xampp: c. powinien pojawić się monit Should I relocate XAMPP?, na co trzeba wybrać y (opcja domyślna, wystarczy nacisnąć Enter), bo to jedyna opcja oprócz wyjścia ze skryptu instalacyjnego, d. jeżeli pytanie o relokację nie pojawi się, a zamiast niego zostanie wyświetlone standardowe menu, to dla pewności należy wybrać opcję 2. Relocate XAMPP, e. w obu przypadkach, w odpowiedzi na następne pytanie ( Should I make portable XAMPP without drive letters? ) należy wybrać n (opcja domyślna, również wystarczy nacisnąć Enter), f. po zakończeniu relokacji (komunikat XAMPP is ready to use ) należy nacisnąć Enter, x, Enter, aby zakończyć działanie skryptu konfiguracyjnego. 4. Uruchomić panel sterowania XAMPP Lite (plik xampp_control.exe): g. kliknąć Port Check i upewnić się, że przy wszystkich trzech portach w grupie Services > Apache (porty 80, 81 i 443) widnieje informacja free, h. jeśli nie sprawdzić, który program powoduje konflikt (blokuje port) i wyłączyć go, a najlepiej odinstalować lub poszukać w jego konfiguracji opcji, by nie blokował domyślnego portu dla serwera; Skype i TeamViewer to dwa z kilku programów, które
mogą blokować te porty, ale oba mają opcję wyłączenia blokowania (TeamViewer wymaga aktualizacji do najnowszej wersji, bo opcję tą dodano niedawno), i. w linii Modules > Apache zaznaczyć opcję Svc (i potwierdzić, klikając OK), aby zainstalować serwer Apache jako usługę systemową, co spowoduje, że serwer będzie startował automatycznie przy każdym uruchomieniu komputera, j. jeśli z jakichś powodów jest to niemożliwe (np. brak uprawnień do usług systemowych), to utworzyć w menu Start > Programy > Autostart skrót uruchamiający przy każdym starcie Windows skrypt apache_start.bat. k. kliknąć Start w tej samej linii, aby uruchomić Apache, l. poczekać na wyświetlenie komunikatu Running w tej samej linii; po jego wyświetleniu, zamknąć panel sterowania XAMPP Lite, klikając w Exit. 5. Skonfigurować klienta pocztowego (jeśli będzie wykorzystywany) osobna instrukcja, która zostanie przygotowana nieco później. 6. Wykonać zapytania SQL dostarczone wraz z wersją instalacyjną aplikacji. 7. Uruchomić przeglądarkę i przejście pod adres http://localhost/solab_www/. 8. Jeżeli aplikacja działa bez błędów utworzyć skrót na Pulpicie, wskazujący na ten adres i nazwać go Uruchomienie Solab WWW lub podobnie. III. Aktualizacja paczki instalacyjnej TortoiseSVN posiada dość ciekawą, acz nie do końca przetestowaną funkcję połączonych repozytoriów. Jeżeli wykona się wszystkie kroki pierwotnego przygotowania paczki dla klienta (punkt I), to następnie teoretycznie powinno wystarczyć wybranie SVN Update w głównym folderze paczki (w folderze tymczasowym, którego w tym przypadku się nie kasuje, jak jest to napisane w punkcie I). Taka operacja powinna uaktualnić za jednym razem wszystkei trzy komponenty - pakiet serwerowy, framework i aplikację do najnowszych dostępnych wersji. Uwaga! Wykonując eksport takiej złączonej kopii roboczej do folderu docelowego (branego do klienta), w oknie eksportu należy zaznaczyć opcję Export non-versioned files too! Uwaga! Korzystając z tej funkcjonalności, nie wolno uruchamiać pliku setup_xampp.bat, ani samej aplikacji w folderze, w którym przechowuje się złączoną kopię roboczą. Takie operacje należy zawsze przeprowadzać w folderze, do którego wyeksportowano lokalną kopię roboczą - patrz punkt I. Jeżeli z jakichś względów to rozwiązanie nie zadziała, pozostaje korzystanie z instrukcji w punkcie I - to znaczy, tworzenie od zera nowej paczki instalacyjnej przy każdej aktualizacji aplikacji do nowszej wersji. Instalacja w systemie Linux Proszę korzystać wyłącznie z paczki dostarczonej przez programistów! Jest ona prekonfigurowana do pracy z aplikacją! Paczka nie zawiera pełnego klienta Oracle (zawiera tylko sterownik pdo_oci do obsługi bazy danych oracleprzez php). Jeśli jest wymagany, należy zainstalować go własnoręcznie!. Aby zainstalować aplikację Solab WWW w systemie Linux należy: 1. Wyeksportować z serwera SVN najnowszą stabilną wersję instalatora xampa pod linuksa i skopiować go na docelowy serwer (pliki rozpakuj.sh oraz xampp_install_linux.tar.gz). 2. Zalogować się jako root i w katalogu ze ściągniętą paczką xamppa wydać polecenie: sh rozpakuj.sh
3. Serwer xampp automatycznie zainstaluje się, skonfiguruje automatyczny start oraz uruchomi. (UWAGA: automatyczna konfiguracja skryptów startowych działa tylko dla dystrybucji debian, w innych dystrybucjach należy samodzielnie dopisać krypt startowy do porządanego runlevela) 4. W przypadku, gdy na docelowej maszynie działa juz inny serwer http, należy przestawić port xampp-a w pliku /opt/lampp/etc/httpd.conf Konfiguracja klienta SMTP sendmail (Windows) Do obsługi formularza pocztowego oraz innych funkcji e-mail (np. przypominanie hasła) konieczna jest instalacja i poprawna konfiguracja klienta pocztowego. Wraz z pakietem XAMPP dostarczany jest klient sendmail, znajdujący się w folderze sendmail. Klienta należy skonfigurować, edytując jego plik konfiguracyjny, sendmail\sendmail.ini. Przykładowa struktura pliku: defaults logfile "D:\xampp\sendmail\log.txt" tls on tls_certcheck off account moje_konto host smtp.konto.com from nadawca@nazwakonta.com auth on user user@nazwakonta.com password tajne_haslo account default : moje_konto określa domyślna konfigurację, ścieżka do pliku logu, włączenie szyfrowania, wyłączenie walidacji podpisu certyfikatu, nazwa konta pocztowego, adres serwera SMTP, adres e-mail nadawcy, włączenie mechanizmu autoryzacji SMTP, login użytkownika konta pocztowego, hasło użytkownika konta pocztowego określenie podstawowego konta poczty. Uwaga! Wersja instalacyjna, w repozytorium nie zawiera prawidłowej konfiguracji klienta sendmail! Po instalacji aplikacji u klienta, należy wpisać do pliku sendmail.ini prawidłowe parametry serwera pocztowego. W przeciwnym przypadku - funkcje wykorzystujące e-maile (kontakt, przypominanie hasła itp.) nie będą działać. Po zmodyfikowaniu pliku konfiguracyjnego klienta pocztowego, należy zrestartować serwer Apache - konfiguracja jest odczytywana tylko przy jego uruchamianiu! Szczególowe opcje konfiguracji są dostępna poprzez wywołanie w konsoli polecenia: ścieżka_do_programu/sendmail --help Konfiguracja aplikacji Solab WWW Aby skonfigurować aplikację Solab WWW należy: 1. Przejść do folderu Solab WWW (np. C:\xampp\htdocs\solab_www\). 2. Otworzyć w dowolnym edytorze plik konfiguracyjny db.dat: m. dostosować wartości parametrów do komputera, na którym uruchomiono aplikację, n. parametr connectionstring jest standardowym DSNem (Data Source Name), więc możliwe jest podawanie nazwy z tsnnames.ora zamiast całe ścieżki; więcej na ten
temat tutaj: http://pl.php.net/manual/pl/ref.pdo-oci.connection.php (Oracle) lub tutaj: http://pl.php.net/manual/pl/pdo.drivers.php (pozostałe bazy danych), o. nie zmieniać wartości parametrów, które nie są znane (np. enableparamlogging, schemacachingduration, persistent ), jeżeli nie jest to absolutnie konieczne. p. Zapisać zmiany w pliku konfiguracyjnym; są one widoczne natychmiast bez konieczności restartowania serwera Apache. 3. Upewnić się, że w pliku index.php jest wyłączony tryb debug, to znaczy poniższe linie (9. i 10.) są wzięte w komentarz (// na początku linii) lub usunięte: defined('yii_debug') or define('yii_debug', TRUE); defined('yii_trace_level') or define('yii_trace_level', 3); 4. W obecnej wersji możliwa jest jedynie konfiguracja połączenia z bazą danych. 5. Poprawność konfiguracji można przetetestować wpisując w przeglądarkę adres: http://localhost/solab_www/ dbtest.php?mode=db-dat-file co spowoduje wyświetlenie informacji z bazy danych (tabela AUTH) Konfiguracja bazy danych. Do poprawnego działania aplikacji SOLAB_WW wymagana jest modyfikacja bazy danych KS- SOLAB. Z katalogu solab_www/protected/sql należy pobrać skrypty sql i wykonać je na schemacie MEDIS (lub w starszych wersjach SOLABa, SOLAB). Spowoduje to stworzenie wymaganych tabel, inicjalizację ffiltrów oraz stworzenie pakietu LWWW, odpowiadającego za prezentowane dane. Rozwiązywanie znanych problemów (FAQ) 1. Problem: Aplikacja działa, ale po próbie logowania wyświetlany jest pusta strona. Rozwiązanie: Upewnić się, że baza danych zawiera wszystkie pakiety niezbędne do działania aplikacji - m.in. LWWW (patrz instrukcja instalacji aplikacji powyżej). 2. Problem: Pojawiają się komunikaty typu brak LWWW.GetZlecList lub ROWNUMID Rozwiązanie: Upewnić się, że baza danych zawiera wszystkie pakiety niezbędne do działania aplikacji - m.in. LWWW (patrz instrukcja instalacji aplikacji powyżej) oraz, że aplikacja została zainstalowana wraz z najnowszą wersją frameworka Yii, dostępną w repozytorium SVN, czyli zawierającą nasze własne modyfikacje do frameworka, do warstwy bazy danych. 3. Problem: Po uruchomieniu aplikacji pojawia się pusty ekran, zawierający tytuł, logo oraz napis CException w miejscu menu. Rozwiązanie: Sprawdzić, czy foldery assets (główny folder aplikacji) i protected/runtime nie są usunięte i nie są typu tylko-do-odczytu. Utworzyć i/lub zmienić uprawnienia. Foldery te powinny powstać po uruchomieniu skryptu..., czy na pewno skrypt ten został uruchomiony podczas instalacji aplikacji? Aktualizacja aplikacji do nowej wersji Aby uaktualnić aplikację Solab WWW do najnowszej wersji należy:
1. Usunąć wszystkie pliki z folderu, w którym jest zainstalowana aplikacja (na przykład: C:\xampp\htdocs\solab_www\) z wyjątkiem pliku konfiguracji bazy danych db.dat. 2. Skopiować pliki zawarte w paczce z nową wersją aplikacji, zwracając uwage, aby nie nadpisać pliku konfigurującego bazę danych. 3. Uruchomić skrypt SQL aktualizujący bazę danych, jeśli taki jest załączony do nowej wersji aplikacji. 4. Upewnić się, że aplikacja nie pracuje w tryb debug (patrz poprzedni rozdział).