Instalacja Apache2 z SSL, PHP5 oraz MySQL 4.1 pod Ms Windows
Z PHPEdia.pl
Spis treści |
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
