Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Apache-mod_ssl-PHP

Apache-mod_ssl-PHP-Howto

Questo documento descrive come installare un web server Apache (1.3.x) con mod_ssl e PHP abilitato.

Questo documento è inteso come una guida pratica; non copre gli sfondi teorici. Essi sono trattati in un sacco di altri documenti del web.

Questo documento viene fornito senza garanzia di alcun tipo!

1 Ottenere i sorgenti

Abbiamo bisogno del seguente software: openssl, apache (1.3.x), mod_ssl e PHP. Noi installare il software dalla directory / tmp.

cd /tmp
wget http://www.openssl.org/source/openssl-0.9.7c.tar.gz
wget http://www.apache.de/dist/httpd/apache_1.3.29.tar.gz
wget http://www.modssl.org/source/mod_ssl-2.8.16-1.3.29.tar.gz

Poi vai a http://www.php.net e scaricare la versione più recente di PHP. Scaricalo nella directory / tmp

2 Installare Openssl

tar xvfz openssl-0.9.7c.tar.gz
cd openssl-0.9.7c
./config
make
make install

 

3 Configurare e installare mod_ssl e Apache

cd /tmp
tar xvfz apache_1.3.29.tar.gz
tar xvfz mod_ssl-2.8.16-1.3.29.tar.gz
cd mod_ssl-2.8.16-1.3.29
./configure --with-apache=../apache_1.3.29 --with-ssl=/usr/local/ssl/ --prefix=/usr/local/apache --enable-module=most --enable-shared=max --logfiledir=/var/log/httpd --htdocsdir=/usr/local/httpd/htdocs --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/httpd (1 linea!)

(L’opzione–htdocsdir=/usr/local/httpd/htdocs specifica la posizione predefinita per i documenti che saranno consegnati da questo server web è in /usr/local/httpd/htdocs.

Nota: è possibile modificare il comando configure in base alle vostre esigenze. Tipo

./configure –help

per ottenere un elenco

[slideshow_deploy id=’367′]

di tutte le opzioni di configurazione disponibili!)

cd ../apache_1.3.29
make
make certificate TYPE=custom

<- Signature Algorithm: R
<- Country Name: Type your country’s name (e.g DE for Germany)
<- State or Province Name: e.g. Lower Saxony, California, etc.
<- Locality Name: e.g. Lueneburg, Los Angeles, Paris, London, etc.
<- Organization Name: e.g. the name of your company
<- Organizational Unit Name: e.g. IT Department
<- Common Name: e.g. My Company CA
<- Email Address: e.g. info@mycompany.tld
<- Certificate Validity: e.g. 365 (one year)
<- Certificate Version: 3
<- Country Name: see above
<- State or Province Name: see above
<- Locality Name: see above
<- Organization Name: see above
<- Organizational Unit Name: see above
<- Common Name: the fully qualified domain name (FQDN) of your server, e.g. www.example.com
<- Email Address: see above
<- Certificate Validity: see above
<- Certificate Version: 3
<- Encrypt the private key now? n
<- Encrypt the private key now? n

(Si prega di notare: È sicuro di accettare i valori di default per tutte le domande di cui sopra, perché in entrambi i casi si riceverà un messaggio di avviso nel browser se si tenta di accedere a un sito SSL nel server:

Se non si desidera ottenere questo avviso si dovrà ottenere un “vero” certificato SSL (ma questo non è gratis!). Date un’occhiata ai seguenti siti:

http://www.instantssl.com/ (consiglierei questo.)
http://www.verisign.com/
http://www.thawte.com/
http://www.baltimore.com/
http://www.ipsca.com/
http://www.entrust.com/
http://www.geotrust.com/)

make install

4 Installare PHP

cd /tmp
tar xvfz php-4.3.4.tar.gz
cd php-4.3.4
./configure --with-apxs=/usr/sbin/apxs --enable-track-vars --enable-sockets --with-config-file-path=/etc --enable-ftp --with-zlib --with-openssl=/usr/local/ssl --enable-force-cgi-redirect --enable-exif --with-gd (1 riga!)

(Nota: è possibile modificare il comando configure in base alle vostre esigenze Type.

./configure –help

per ottenere un elenco di tutte le opzioni di configurazione disponibili! Se non si specifica l’opzione –with-mysql[=DIR] , verrà utilizzata la libreria MySQL bundle. Questo funziona in molti casi.

Se usate –with-gd, e si ottiene un messaggio di errore a causa di una libreria libpng mancante, installarlo e poi ri-eseguire il comando di configurazione. Su Debian,

apt-get install libpng-dev libpng2 libpng2-dev libpng3

ha funzionato bene per noi, per installare libpng. Se si dispone di una distribuzione basata su rpm, utilizzare http://www.rpmfind.net per trovare una rpm per voi, o dare un’occhiata a http://www.libpng.org/pub/png/libpng.html.)

make
make install

Verrà installato un binario PHP (normalmente sotto /usr/local/bin/php) che può essere eseguito dalla riga di comando e un modulo di Apache.

Ora dobbiamo creare /etc/php.ini.. Il modo più semplice è quello di prendere quello che viene fornito con i sorgenti PHP:

cp /tmp/php-4.3.4/php.ini-dist /etc/php.ini

Se ti piace ora è possibile modificare /etc/php.ini per soddisfare le vostre esigenze.

5 Configurare Apache

Ora dobbiamo aggiungere la seguente voce nella/etc/httpd/httpd.conf (nella sezione in cui vengono gestiti i tipi di documento, non ci dovrebbero essere voci come AddHandler o AddType):

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

Creare /etc/init.d/httpd:

#!/bin/sh

case “$1” in
start)
/usr/sbin/apachectl startssl
;;
stop)
/usr/sbin/apachectl stop
;;
restart)
$0 stop && sleep 3
$0 start
;;
reload)
$0 stop
$0 start
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac

chmod 755 /etc/init.d/httpd

[slideshow_deploy id='367']

Al fine di avviare il vostro Apache al momento dell’avvio effettuare le seguenti operazioni:

ln -s /etc/init.d/httpd /etc/rc2.d/S20httpd
ln -s /etc/init.d/httpd /etc/rc3.d/S20httpd
ln -s /etc/init.d/httpd /etc/rc4.d/S20httpd
ln -s /etc/init.d/httpd /etc/rc5.d/S20httpd
ln -s /etc/init.d/httpd /etc/rc0.d/K20httpd
ln -s /etc/init.d/httpd /etc/rc1.d/K20httpd
ln -s /etc/init.d/httpd /etc/rc6.d/K20httpd

Quindi avviare Apache:

/etc/init.d/httpd start

6 verificare la configurazione

netstat -tap

dovrebbe mostrare che Apache utilizza la porte 80 (http) e 443 (https).

Ora andate a /usr/local/httpd/htdocs  e creare un file chiamato info.php con i seguenti contenuti:

<?php
phpinfo();
php?>
Provare ad accedere con il vostro browser (ad esempio utilizzando l’indirizzo IP del server) via http (ad esempio http://192.168.0.1/info.php) e https (https://192.168.0.1/info.php).
Collegamenti

Apache: http://www.apache.org/

OpenSSL: http://www.openssl.org/

mod_ssl: http://www.modssl.org/

PHP: http://www.php.net/

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp