Witaj na DiaboliServ Web. DiaboliServ.diaboli.pl Instalacja Apache, PHP i MySQL  jeszcze nigdy nie była tak łatwa.
Home Readme Install Configure Remove Download Links




Spis treści

1. Wprowadzenie.

2. Składniki.

3. Obsługiwane platformy.

4. Strona WWW użytkownika, strona Testowa i phpMyAdmin.

5. Sposób uruchomienia Apache i MySQL.

6. Współpraca PHP4 i MySQL 4.1.

7. Typ instalacji PHP.

8. Aktywacja domeny lokalnej.

9. Certyfikat bezpieczeństwa OpenSSL.

10. Ustawienia eksperta - deinstalacja oraz instalacja usług Apache2 i MySQL.

11. Znane problemy.





1. Wprowadzenie.


DiaboliServ jest pakietem oprogramowania służącego do publikacji stron internetowych w celach testowych. DiaboliServ automatycznie konfiguruje oprogramowanie jakim jest serwer WWW Apache, parser PHP, baza danych MySQL, Zend Optimizer, OpenSSL i phpMyAdmin.

Po instalacji pakietu DiaboliServ, Apache, PHP, MySQL, Zend Optimizer i OpenSSL są natychmiast poprawnie skonfigurowane, co można sprawdzić przez wywołanie w przeglądarce WWW adresu "https://127.0.0.1/test".

Aby usługi Apache2 i MySQL zostały uruchomione, w systemach Windows 98/Me konieczny będzie restart. Zmiana ustawień w plikach httpd.conf, ssl.conf, php.ini oraz my.ini również będzie wymagać restartu tych systemów.

Nie jest to konieczne, jednak zalecane jest wyłączyć oprogramowanie antywirusowe na czas zapisywania zmian w konfiguracji. Niektóre programy antywirusowe mogą bowiem znacznie spowolnić działanie konfiguratora.

Pakiet DiaboliServ 1.6 jest otwarty na dowolne modyfikacje plików konfiguracyjnych Apache, PHP, MySQL i OpenSSL. Należy jedynie przestrzegać zasady, aby najpierw ustawić to co jest możliwe za pomocą konfiguratora pakietu, a dopiero potem manualnie edytować pliki konfiguracyjne. Jest to bardzo ważne, gdyż konfigurator zapisując zmiany w konfiguracji nadpisuje pliki "httpd.conf", "php.ini", "my.ini", "ssl.conf" oraz pliki certyfikatów OpenSSL.

Filozofią pakietu DiaboliServ jest maksymalne uproszczenie instalacji Apache, PHP, MySQL, Zend Optimizera, OpenSSL i phpMyAdmin'a bez większego zagłębiania się w szczegóły konfiguracji wymienionego oprogramowania. Procedura instalacji w normalnym trybie zajmuje do 5 kliknięć. Sprawą priorytetową jest również łatwa do granic możliwości zmiana najważniejszych ustawień powyższych programów.




2. Składniki.


- Apache 2.0.52,
- PHP 4.3.11,
- MySQL 4.1.12a,
- Zend Optimizer 2.5.7,
- OpenSSL 0.9.7e,
- phpMyAdmin 2.6.4.




3. Obsługiwane platformy.


- Windows 98,
- Windows Me,
- Windows 2000,
- Windows XP,
- Windows 2003.




4. Strona WWW użytkownika, strona Testowa i phpMyAdmin.


Domyślnie, strona użytkownika umieszczona jest w podkatalogu "www", będącym w katalogu instalacyjnym DiaboliServ. Bardzo szybko można zmienić to ustawienie w konfiguratorze DiaboliServ, wskazując odpowiedni folder ze żródłem. Strona użytkownika dostępna jest pod adresem "http://127.0.0.1".

Strona testowa znajduje się w podkatalogu "test", będącym w katalogu instalacyjnym DiaboliServ. Strona ta jest skonfigurowana dla serwera Apache jako alias i dlatego zawsze dostępna jest pod adresem "http://127.0.0.1/test".

Pliki klienta phpMyAdmin znajdują się w podkatalogu "phpmyadmin", będącym w katalogu instalacyjnym DiaboliServ. Aplikacja ta jest skonfigurowana dla serwera Apache jako alias i dlatego zawsze dostępna jest pod adresem "http://127.0.0.1/phpmyadmin".




5. Sposób uruchomienia Apache i MySQL.


Serwery Apache i MySQL uruchamiane są jako usługi. Oznacza to że system automatycznie uruchamia je podczas startu, zanim zaloguje się użytkownik i serwery te pracują w tle.


W systemach Windows 2000/XP/2003 istnieje możliwość szybkiego zatrzymywania i uruchamiania tychże usług poprzez wydanie komend:

NET STOP APACHE2
NET START APACHE2

NET STOP MYSQL
NET START MYSQL

Jeszcze szybciej dokonamy tego z konfiguratora DiaboliServ, klikając po prostu na odpowiednie opcje w programie.
(URUCHOM, ZRESTARTUJ, ZATRZYMAJ)


W systemach Windows 98/Me również istnieje możliwość szybkiego zatrzymywania i uruchamiania tychże usług, ale w praktyce można administrować w ten sposób jedynie usługą MySQL.

W tym celu w wierszu polecenia zmieniamy katalog bieżący na katalog, w którym znajdują się pliki "mysqld.exe" i "mysqladmin.exe"
- zwykle jest to "C:\Program Files\DiaboliServ_1_6\MySQL\bin", czyli wydajemy takie komendy:

C:
CD C:\Program Files\DiaboliServ_1_6\MySQL\bin

Dopiero potem możemy używać takich komend:

mysqladmin -u root shutdown
mysqld --old-passwords
--> Więcej o parametrze "--old-passwords" w punkcie 6.

O wiele szybciej dokonamy tego z konfiguratora DiaboliServ, klikając po prostu na odpowiednie opcje w programie.
(URUCHOM, ZRESTARTUJ, ZATRZYMAJ)

Niestety usługę Apache2 w przypadku Windows 98/Me możemy jedynie uruchamiać ponownie poprzez restart systemu Windows. Całkowicie zatrzymać tę usługę można tylko odinstalowując ją z systemu.
--> Więcej o deinstalacji usług w punkcie 10.

W Windows 2000/XP/2003 nie musimy odinstalowywać usług tylko po to żeby system nie uruchamiał ich automatycznie. W tych systemach możemy ustalić typ uruchomienia usługi. Domyślnie typ uruchomienia usług Apache2 i MySQL jest automatyczny. Nic nie stoi na przeszkodzie żeby zmienić ten typ na ręczny. Dzięki temu usługi nie będą automatycznie uruchamiane, ale będziemy mieli możliwość uruchomienia tychże usług poprzez polecenie "NET START ...". Typ uruchomienia usług Apache2 i MySQL w Windows 2000/XP/2003 można zmieniać za pomocą przystawki "Usługi" lub za pomocą konfiguratora DiaboliServ, co jest oczywiście bardziej zalecanym rozwiązaniem. (Uruchamiaj automatycznie)




6. Współpraca PHP4 i MySQL 4.1.



Parser PHP4 nie jest w stanie połączyć się z bazą MySQL 4.1, gdy ta druga zainstalowana jest z domyślnymi opcjami i konto użytkownika bazy danych jest zabezpieczone hasłem.

Konta użytkowników serwera bazy danych MySQL są zapisywane w bazie o nazwie "mysql", w tabeli "user".
W MySQL od wersji 4.1 zaimplementowano obsługę 41-bajtowych hashy. PHP4 obsługuje jedynie 16-bajtowe hashe.

Struktura 16-bajtowych hashy wygląda następująco: 6f8c114b58f2ce9e,
podczas gdy struktura 41-bajtowych wygląda tak: *43c8aa34cdc98eddd3de1fe9a9c2c2a9f92bb2098d75.

41-bajtowe hashe są dłuższe i zawsze zaczynają się znakiem "*", co nie miało miejsca w ich 16-bajtowej odmianie.

Można jednak spowodować aby baza MySQL 4.1 używała 16-bajtowych hashy, dzięki czemu parser PHP4 obsłużyłby autoryzowane połączenie z tą bazą danych. W tym celu należy uruchamiać serwer bazy danych z parametrem "--old-passwords".

Aplikacje pakietu DiaboliServ domyślnie instalują i uruchamiają usługę bazy MySQL 4.1 z parametrem "--old-passwords".
--> Więcej o uruchamianiu usługi MySQL w punkcie 5.
--> Więcej o instalowaniu usługi MySQL w punkcie 10.



7. Typ instalacji PHP.


Możiwe są 2 tryby instalacji parsera PHP:
- Moduł serwera Apache,
- skrypt CGI.

Aby PHP był uruchomiony jako moduł serwera Apache, w pliku "httpd.conf", w sekcji "Global Environment" obok deklaracji innych jego modułów powinna znaleźć się linia deklarująca moduł PHP:

LoadModule php4_module ../php/sapi/php4apache2.dll

W ten sposób deklarowany jest moduł PHP4 dla Apache2 domyślnie w DiaboliServ 1.6.

Aby PHP był uruchamiany jako skrypt CGI, w pliku "httpd.conf" w sekcji "Main server configuration" powinny znaleźć się 2 linie definiujące położenie plików parsera:

ScriptAlias /php/ "C:/Program Files/DiaboliServ_1_6/php/"
Action application/x-httpd-php "/php/php.exe"

W pierwszej linii deklarujemy lokalizację głównego katalogu PHP, a w drugiej wskazujemy lokalizację pliku parsera PHP (php.exe) względem zdefiniowanego wcześniej katalogu.

Zarówno w przypadku instalacji PHP jako modułu serwera Apache jak i w instalacji PHP jako serwer CGi konieczne jest zdefiniowanie typów plików, które interpreter PHP będzie w razie potrzeby parsował. Taką definicję należy umieścić w sekcji "Main server configuration", a powinna ona wyglądać tak jak poniżej lub przynajmniej podobnie:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .html





8. Aktywacja domeny lokalnej.



Na komputerze lokalnym istnieje możliwość zamapowania dowolnego adresu strony WWW do testowego adresu IP (127.0.0.1). W ten sposób można wywołać stronę WWW użytkownika poprzez adres typu "domena.pl".

Aby zamapować adres typu "domena.pl" do testowego adresu IP, należy dodać taki wpis:

"127.0.0.1    domena.pl"

w Windows 2000/XP/2003 do pliku "hosts" - zwykle "C:\WINDOWS\system32\drivers\etc\hosts",
w Windows 98/Me do pliku "hosts.sam" - zwykle "C:\WINDOWS\hosts.sam".

Dodatkowo zamapowując w konfiguratorze do adresu IP domenę typu "www.domena.pl", zapapowywana jest do tego samego adresu IP domena "domena.pl".

Mapowania domen dokonamy klikając po prostu na odpowiednie opcje w konfiguratorze.
(AKTYWUJ, ZAPISZ USTAWIENIA)




9. Certyfikat bezpieczeństwa OpenSSL.


Podczas automatycznej konfiguracji pakietu DiaboliServ 1.6, generowane są 4 domyślne certyfikaty zabezpieczeń wymagane do poprawnej pracy serwera Apache w trybie SSL. Jako informacje o certyfikatach zostały podane takie dane:

Organizacja: Sigillum Diaboli,
Oddział organizacji: DiaboliServ,
Kod kraju: PL,
Region: Mazury,
Lokalizacja: Nidzica.

Generowanie 4 certyfikatów bezpieczeństwa wynika stąd, że do strony WWW użytkownika można odwołać się na 4 sposoby:

- "127.0.0.1" (testowy adres IP),
- "localhost" (nazwa DNS domyślnie zamapowana do testowego IP),
- hostname (Nazwa hosta),
- domena lokalna (opcjonalna nazwa DNS zamapowana do testowego IP).

Wywołując stronę WWW o adresie np. "localhost" odwołujemy się tak naprawdę do adresu IP "127.0.0.1" i w efekcie przeglądarka wyświetla nam stronę użytkownika. Problemem jednak są wywołania strony w trybie SSL. W tym wypadku nazwa domenowa strony WWW powinna się zgadzać z nazwą strony na certyfikacie bezpieczeństwa, używanym w protokole HTTPS. To właśnie na podstawie tego certyfikatu przeglądarka potrafi odszyfrować stronę WWW zaszyfrowaną przez SSL. W wypadku DiaboliServ, można śmiało ignorować niezgodności nazw na certyfikatach z nazwami strony WWW, gdyż przy konfiguracji oferowanej przez DiaboliServ
jak i przez większość innego oprogramowania, odwołanie "localhost" oznacza wywołanie adresu "127.0.0.1".

Często zachodzi jednak potrzeba aby nazwa na certyfikacie bezpieczeństwa była zgodna z nazwą wywoływanej strony WWW i dlatego DiaboliServ generuje 4 takie certyfikaty, dostosowane do różnych nazw domenowych opisanych powyżej. I tak stronę WWW użytkownika w trybie SSL można wywoływać na 4 sposoby:
- "https://127.0.0.1:443"
- "https://localhost:501" (zakładając że nazwa "localhost" jest zamapowana do testowego IP)
- "https://nazwahosta:502" (fraza "nazwahosta" odpowiada rzeczywistej nazwie komputera)
- "https://domenalokalna:503" (fraza "domenalokalna" odpowiada przypisanej domenie lokalnej)

Odwoływanie się do strony WWW użytkownika w taki sposób możliwe jest dzięki odpowiedniej konfiguracji plików "hosts" i "hosts.sam". --> Więcej o tym w punkcie 8.

Dodatkowo, aby serwer Apache obsłużył tego rodzaju zapytania, konieczna jest konfiguracja hostów wirtualnych, do których są przypisane odpowiednie nazwy domenowe wraz z odpowiednimi certyfikatami bezpieczeństwa. Jak widać powyżej, do każdego hosta wirtualnego odwołujemy się na innym porcie. Jest to wymagane przez OpenSSL. Każda instancja SSL musi nasłuchiwać na
oddzielnym porcie. W przypadku DiaboliServ, SSL wykorzystuje porty 443, 501, 502 i 503.

W poniższych przykładach wykorzystywana jest nazwa "localhost", domyślnie figurująca w pliku "hosts" lub "hosts.sam" jako odwołanie do adresu "127.0.0.1". Nazwa ta w odniesieniu się do niej z poziomu przeglądarki WWW ma takie same własności jak inne nazwy DNS przypisane w tych plikach i takie same własności jak nazwa komputera figurująca w zmiennej środowiskowej "HOSTNAME" czy też "COMPUTERNAME".

Port 443 jest standardowym portem dla SSL przypisanym do nazwy "127.0.0.1" i dlatego wyjątkowo wywołując stronę WWW "https://127.0.0.1" serwer Apache automatycznie odpowiada na porcie 443. Odwołując się w trybie SSL do każdej innej nazwy, należy podać port na którym nasłuchuje właściwa dla tej nazwy instancja SSL, wysyłająca certyfikat bezpieczeństwa
z nazwą witryny odpowiadającą wywoływanej nazwie domenowej.

- Wywołując stronę "https://localhost", odwołamy się do hosta wirtualnego pracującego na porcie 443, który wysyła certyfikat z nazwą witryny "127.0.0.1" i przeglądarka WWW wyświetli ostrzeżenie o niezgodności nazwy strony z nazwą witryny na certyfikacie.
- Wywołując stronę "https://localhost:501" odwołamy się do właściwego hosta wirtualnego pracującego na porcie 501, który wysyła certyfikat z nazwą witryny "localhost". Nazwa strony będzie w tym przypadku zgodna z nazwą witryny na certyfikacie bezpieczeństwa.

Częste odwoływanie się do konkretnych portów może być uciążliwe i mylące. Dlatego aktywując ustawienie "przekierowania na niestandardowe porty SSL (501, 502, 503)" definiujemy dodatkowe 3 hosty wirtualne nasłuchujące na porcie 443, których zadaniem jest przekierowanie wywołania typu "https://localhost" na "https://localhost:501". Takie rozwiązanie ma jednak pewne wady:
- Pojawia się dodatkowy monit ostrzegający o niezgodności nazwy strony z nazwą witryny na certyfikacie i dopiero po akceptacji połączenia nastąpi przekierowanie na właściwy port. Dzieje się tak, gdyż dodatkowy host wirtualny nasłuchuje na porcie 443 zarezerwowanym dla instancji SSL z certyfikatem przypisanym dla witryny o nazwie "127.0.0.1", a wywołujemy go przez "https://localhost".
- Niektóre skrypty PHP i JavaScript mogą zwrócić błąd, gdyż w pewnych warunkach według nich teoretycznie zmienia się lokalizacja strony która je wywołuje.
- Niektóre przeglądarki WWW (np. IE5) niepoprawnie obsługują to ustawienie nie pobierając właściwych certyfikatów bezpieczeństwa podczas operacji przekierowania.
Z tych powodów, domyślnie ustawienie "przekierowania na niestandardowe porty SSL (...)" jest nieaktywne, ale w pewnych warunkach warto je wypróbować.

Korzystając z konfiguratora DiaboliServ 1.6 można w sposób automatyczny wygenerować własne certyfikaty bezpieczeństwa podając swoje własne dane w polach: Organizacja, Kod kraju, Region, Lokalizacja, E-mail oraz Hasło. Adres strony WWW dla poszczególnych certyfikatów będzie ustawiany automatycznie. Nazwa oddziału organizacji na certyfikacie będzie opisana jako "DiaboliServ".




10. Ustawienia eksperta - deinstalacja oraz instalacja usług Apache2 i MySQL.


Aby usługi Apache2 i MySQL nie były automatycznie uruchamiane przez system Windows, należy je między innymi odinstalować. Można to zrobić w wierszu polecenia.

Wyjątkiem jest usługa MySQL w systemie Windows 98/Me, którą instalujemy i odinstalowujemy poprzez utworzenie lub usunięcie odpowiedniej wartości w rejestrze systemu Windows 98/Me.

Zanim jednak odinstalujemy usługi, należy je najpierw zatrzymać jeśli jest to możliwe.
--> Więcej o zatrzymywaniu usług w punkcie 5.


Aby odinstalować usługę Apache2, należy zmienić katalog bieżący na katalog, w którym znajduje się plik "Apache.exe" - zwykle jest to katalog "C:\Program files\DiaboliServ_1_6\Apache2\bin", więc wydajemy komendy:

C:
CD C:\Program files\DiaboliServ_1_6\Apache2\bin

Następnie możemy odinstalować usługę Apache2 wydając komendę:

apache -k uninstall -n Apache2

Będąc w tym samym katalogu możemy ją na powrót zainstalować wydając komendę:

apache -k install -n Apache2


Aby odinstalować usługę MySQL w systemach Windows 2000/XP/2003, należy zmienić katalog bieżący na katalog, w którym znajdują się pliki "mysqld.exe" i "mysqladmin.exe" - zwykle jest to katalog "C:\Program files\DiaboliServ_1_6\MySQL\bin",
więc wydajemy komendy:

C:
CD C:\Program files\DiaboliServ_1_6\MySQL\bin

Następnie możemy odinstalować usługę MySQL wydając komendę:

mysqld --remove

Będąc w tym samym katalogu możemy ją na powrót zainstalować wydając komendę:

mysqld --install MySQL --old-passwords


Aby odinstalować usługę MySQL w systemach Windows 98/Me, należy w rejestrze Windows przejść do klucza "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices"
i usunąć z niego wartość o nazwie "MySQL". W ten sposób system Windows po restarcie nie uruchomi automatycznie usługi MySQL.

Aby zainstalować usługę MySQL w systemach Windows 98/Me, należy w rejestrze Windows przejść do klucza
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices"
i utworzyć w nim wartość o nazwie "MySQL".
Do wartości tej należy przypisać ścieżkę dostępu do pliku "mysqld.exe" z parametrem "--old-passwords", zwykle:
"C:\Program files\DiaboliServ_1_6\MySQL\bin\mysqld.exe --old-passwords"

W ten sposób system Windows po restarcie automatycznie uruchomi usługę MySQL.
--> Więcej o parametrze "--old-passwords" w punkcie 6.

Jeszcze szybciej dokonamy tych zmian z konfiguratora DiaboliServ. Trzeba jednak wcześniej dodać do rejestru informację z pliku "expert.reg". Wtedy w programie zostaną odblokowane odpowiednie opcje.
(INSTALUJ, ODINSTALUJ)




11. Znane problemy.



a. Usługa Apache blokuje zamykanie systemów Windows 98/Me.
--------------------------------------------------------------------------

Rozwiązanie:
=========
Zamiast tradycyjnej procedury zamykającej, należy posłużyć się programem Diaboli SysClose, pozwalającym na zamknięcie systemu w trybie FORCE.


Alternatywne rozwiązanie:
=================
Podczas zamykania systemu należy wcisnąć klawisze Alt+Ctrl+Del, w wyświetlonym okienku zakończyć proces Apache. System zostanie poprawnie zamknięty.



b. W systemach Windows 98/Me, w Menu Start pojawiła się druga opcja
zamykania systemu. Jak wyłączyć domyślną opcję zamykania systemu?
-----------------------------------------------------------------------------------

Rozwiązanie:
=========
Z pliku "DisableSysClose.reg" należy dodać informację do rejestru Windows, a następnie zrestartować system. Domyślna opcja zamykania systemu nie będzie już dostępna. Pojawi się jednak inny problem. W ten sposób zostanie zablokowane okienko Ctrl+Alt+Del i dlatego nie jest to zalecane rozwiązanie.



c. Błąd uruchomienia serwera Apache (OS 10048):
------------------------------------------------------------------------------------------
(OS 10048)Tylko jedno użycie każdego adresu gniazda (protokół/adres sieciowy) 
jest normalnie dozwolone.  : make_sock: could not bind to address 0.0.0.
no listening sockets available, shutting down

Unable to open logs
Note the errors or messages above, and press the  key to exit.  7....

Taki błąd oznacza że jakiś inny proces używa już standardowych portów serwera Apache.

Rozwiązanie:
=========
W wierszu polecienia:
netstat -p tcp -anob

W wyniku otrzymujemy wykaz procesów które aktualnie działają na portach i używają protokołu TCP.
Szukamy procesów które używają portów: 80, 443 oraz 501, 502, 503. Gdy wszystko jest w porządku, proces Apache powinien być widoczny w takim wykazie w następujący sposób:
C:\Documents and Settings\Diaboli>netstat -p tcp -anob

Aktywne połączenia

  Protokół  Adres lokalny          Obcy adres        Stan           PID

  TCP    0.0.0.0:80             0.0.0.0:0              NASłUCHIWANIE    3144
  [Apache.exe]

  TCP    0.0.0.0:443            0.0.0.0:0              NASłUCHIWANIE    3144
  [Apache.exe]

  TCP    0.0.0.0:501            0.0.0.0:0              NASŁUCHIWANIE    3144
  [Apache.exe]

  TCP    0.0.0.0:502            0.0.0.0:0              NASłUCHIWANIE    3144
  [Apache.exe]

  TCP    0.0.0.0:503            0.0.0.0:0              NASłUCHIWANIE    3144

W przypadku błędu, 1 lub więcej z powyższych portów jest zajmowany przez inny proces.
Na poniższym przykładzie widać że proces popularnego komunikatora Skype korzysta ze standardowych portów serwera http (80 i 443):
C:\Documents and Settings\Diaboli>netstat -p tcp -anob

Aktywne połączenia

  Protokół  Adres lokalny          Obcy adres        Stan           PID
  
  TCP    0.0.0.0:80             0.0.0.0:0              NASŁUCHIWANIE    2096
  [Skype.exe]

  TCP    0.0.0.0:443            0.0.0.0:0              NASŁUCHIWANIE    2096
  [Skype.exe]  

W takim wypadu nie pozostaje nic innego jak tylko zabić proces używający potrzebne nam porty przynajmniej na czas działania naszego serwera http jakim jest w naszym wypadku Apache.

W większości wypadków takie problemy stwarza właśnie komunikator Skype, który domyślnie używa portów 80 i 443 jako alternatywnych portów dla połączeń przychodzących. Na szczęście w opcjach tego programu można tą funkcję wyłączyć, tak jak jest to pokazane na poniższej ilustracji.

Opcje Skype


d. Oprogramowanie negatywnie wpływające na pracę pakietu DiaboliServ 1.6:
----------------------------------------------------------

- Internetowe Usługi Informacyjne (IIS)
- Personal Web Server (PWS)
- Zone Alarm 5
- Skype

 PL EN /:: W górę ::/ 



Copyright © 2004-2010 Sigillum Diaboli