Instalacja Apache2 z SSL, PHP5 oraz MySQL 4.1 pod Ms Windows

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

Wstąp

Niniejszy artykuł ma być przewodnikiem z cyklu "Krok po kroku". Nie będą analizowaś dokładnie wszystkich elementów plików konfiguracyjnych, czy opowiadaś o wydajności, czy niesamowitej stabilności.

Zaśożenie jest proste: "Muszć zainstalować testowy serwer na Ms Windows z obsługę SSL i PHP5". Określenie $DIR wskazuje na katalog w którym zainstalowany został pakiet Wamp.

Potrzebne pliki

Na początek trzeba pobrać pakiet "Wamp" zawierający Apache 1.3, MySQL 4.1 i PHP 5: WAMP5 - http://www.wampserver.com/dl.php

Jako, że chcemy serwer Apache2 musimy pobrać dodatek dla Wamp'a zawierający wspomniany serwer: Apache 2 AddOn - http://www.wampserver.com/dl.php?id_dl=6

Przyda się nam jeszcze obsługa SSL. Ze strony http://hunter.campbus.com/ pobieramy plik Apache_2.0.54-Openssl_0.9.8-Win32.zip (lub podobny).

Do wygenerowania certyfikatu użyjemy pakietu OpenSSL dla Windows: http://gnuwin32.sourceforge.net/downlinks/openssl-bin-zip.php

Instalacja i konfiguracja

WAMP

Instalacja pakietu Wamp przebiega w sposób typowy dla wszystkich programów pod Ms Windows - cały czas klikamy "Dalej" zwracając jedynie uwagę na miejsce instalacji pakietu. Podobnie postępujemy z instalację dodatku.

Apache2 działał, PHP 5 działał, MySQL działał (warto później zmienić hasśa dla root'a!). Pozostaje nam podmiana serwera Apache na wersję z obsługę SSL. Na początku wyśćczamy Apache (lewy przycisk myszy na ikonce w tray'u => Apache2 => Stop Service).

Konfiguracja Apache

później zachowujemy plik $DIR/Apache2/conf/httpd.conf w bezpiecznym miejscu i rozpakowujemy archiwum z Hunter'a do katalogu $DIR/Apache2/ (zastępując wszystkie pliki). Podmieniamy plik $DIR/Apache2/conf/httpd.conf na plik z kopii i edytujemy go:

- odkomentowujemy:

 LoadModule ssl_module modules/mod_ssl.so

- sprawdzamy, czy w pliku jest fraza (jak nie, to wstawiamy):

 <IfModule mod_ssl.c>
     Include conf/ssl.conf
 </IfModule>

Tworzymy/edytujemy plik $DIR/Apache2/conf/ssl.conf tak by zawieraś:

 Listen 443
 AddType application/x-x509-ca-cert .crt
 AddType application/x-pkcs7-crl    .crl
 SSLMutex default
 SSLRandomSeed startup builtinzz
 SSLSessionCache none
 
 NameVirtualHost *:443
 <VirtualHost *:443>
     # Tu wpisujemy ścieżkć do katalogu gdzie mamy pliki do udostępnienia przez SSL:
     DocumentRoot "O:/www"
     ErrorLog logs/ssl-error.log
     TransferLog logs/ssl-access.log
     SSLEngine On
     SSLCertificateFile conf/server.crt
     SSLCertificateKeyFile conf/server.key
 </VirtualHost>

Certyfikat SSL dla serwera

Co prawda można uzyskać certyfikat SSL dla serwera WWW od Centrów Certyfikacji (jak Unizeto, czy Signet), ale można też taki certyfikat wygenerować sobie samemu.

Najprostrzć drogć będzie rozpakowanie gdziekolwiek paczki z OpenSSL, przejście do katalogu /bin/ i wykonanie poleceś:

 # openssl genrsa -out server.key 2048
 # openssl req -new -x509 -days 3650 -key server.key -out server.crt

Przy drugim poleceniu zostaniemy zapytani o kilka parametrów certyfikatu. Nie zaleca się stosowania polskich znaków diakrytycznych przy odpowiadaniu na pytania. Poniżej znajduje się lista wszystkich pytaś i przykładowych odpowiedzi jakie możemy udzielić. Przy sekcji Common Name należy się zastanowią pod jakim adresem będzie działań serwer SSL. Dla wykorzystania tylko na naszym komputerze warto podać "localhost"

 Country Name (2 letter code) [AU]:PL
 State or Province Name (full name) [Some-State]:Wojewodztwo
 Locality Name (eg, city) []:Miasto
 Organization Name (eg, company) [Internet Widgits Pty Ltd]: Nazwa firmy
 Organizational Unit Name (eg, section) []:Dzial firmy
 Common Name (eg, YOUR name) []:secure.example.net
 Email Address []:admin@example.net

Finaś

Uruchamiamy serwer Apache (lewy przycisk myszy na ikonce w tray'u => Apache2 => Start/Resume Service).

Tworzymy plik index.php katalogu jaki wskazaliśmy jako DocumentRoot dla serwera zawierający:

 <?php
     phpinfo();
 ?>

Tyle nam wystarczy. Teraz jeszcze tylko test sprawności - otwieramy w przeglądarce adres https://localhost/. Jak widzimy informacje o zainstalowanym PHP, to bardzo dobrze - udaśa nam się instalacja serwera :)

Uwagi od Autora

Wiem, że art nie jest jeszcze doskonaśy, ale mam nadzieją, że już w tej prostej formie się komuś przyda. Uwagi mile widziane, choć nie ukrywam, że myśo by mi miśo, gdybym pozostał jedyną osobć odpowiedzialną za ten art :P

--Bakus 04:58, 13 sie 2005 (CEST)