Polska Strona Freesco

Apache i PHP

Apache jest popularnym serwerem www. Jeśli zamierzamy budować zaawansowane aplikacje internetowe, zapewne będzie potrzebny.
Instalujemy go poleceniem:
pacman -S apache
i od razu gotowy jest do działania w swojej domyślnej (najprostszej) konfiguracji. Należy dopisać jego uruchamianie do rc.conf, a pierwszy raz dla sprawdzenia uruchomić ręcznie.

Jednak większość administratorów będzie potrzebować bardziej zaawansowanych funkcji. W tym celu trzeba doinstalować jeszcze pakiet mysql (opis w oddzielnym artykule) i php. Po zainstalowaniu php musimy jeszcze dostosować konfigurację. W tym celu otwieramy /etc/httpd/conf/httpd.conf i odnajdujemy linię 262:
#LoadModule php4_module lib/apache/libphp4.so
i usuwamy znak #, a potem restartujemy serwer httpd. Potrzebne nam ustawienia php edytujemy w pliku php.ini. Zapewne niektórzy webmasterzy odkryją błędy we wcześniejszych aplikacjach php. Najczęściej będą one związane z dyrektywą RegisterGlobals=off. Nie zaleca się zmiany tej dyrektywy ze względu na bezpieczeństwo. Fachowcy z reguły sugerują przebudowanie kodu php.
Kolejny element to uruchomienie serwera https (czyli bezpiecznego połączenia SSL), który będzie przydatny chocby do umieszczenia na nim aplikacji do obsługi e-mail przez www. Najpierw trzeba wygenerować certyfikat. Poniżej opis czynności.
Najpierw przechodzimy do katalogu /etc/httpd, bo w nim umiescimy certyfikat, generujemy klucz, a potem właściwy certyfikat. Poniżej mój przykład:

[root@router_nnd]# cd /etc/httpd
generowanie klucza
[root@router_nnd httpd]# openssl genrsa -des3 -rand /etc/random-seed -out /etc/httpd/server.key 1024
512 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
…………………….++++++
……………..++++++
e is 65537 (0x10001)
Enter pass phrase for /etc/httpd/server.key:
Verifying – Enter pass phrase for /etc/httpd/server.key:
generowanie certyfikatu
[root@router_nnd httpd]# openssl req -new -x509 -days 3650 -key /etc/httpd/server.key -out /etc/httpd/server.crt
Enter pass phrase for /etc/httpd/server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ’.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:pomorskie
Locality Name (eg, city) []:Slupsk
Organization Name (eg, company) [Internet Widgits Pty Ltd]:eMTi
Organizational Unit Name (eg, section) []:webdesign
Common Name (eg, YOUR name) []:emti.one.pl
Email Address []:admin@emti.one.pl
usuwanie hasła z klucza
[root@router_nnd httpd]# cp server.key server.key.old
[root@router_nnd httpd]# openssl rsa -in server.key.old -out server.key
Enter pass phrase for server.key.old:
writing RSA key

Teraz jeszcze pozostaje kilka końcowych czynności.
W pliku /etc/conf.d/httpd wpis HTTPD_USE_SSL=”no” musimy zmienić na yes. Następnie dopisać prawidłową ścieżkę klucza i certyfikatu w ssl.conf (linia 110 i linia 118) oraz dodać ścieżkę do katalogu który będzie głównym katalogiem https (linia 88).
PS. Numery linii mogą być nieaktualne w kolejnych wersjach pakietu, użyj F7 w mc – aby znaleźć odpowiedni wpis.


Dodaj komentarz