cheap nfl jerseys china cheap nfl jerseys free shipping wholesale nfl jerseys china wholesale jerseys from china cheap nfl jerseys free shipping cheap nfl jerseys for sale cheap jerseys free shipping wholesale nfl jerseys from china cheap nfl jerseys sale cheap nike nfl jerseys china wholesale jerseys free shipping cheap nfl jerseys wholesale wholesale nfl jerseys online cheap nfl jerseys wholesale china jerseys wholesale cheap coach handbags outlet authentic designer handbags cheap coach handbags outlet cheap coach purses outlet discount coach bags coach bags sale coach purse outlet cheap real coach purses coach handbags sale online coach purse outlet michael kors outlet online store cheap michael kors bags cheap michael kors purse michael kors factory outlet online cheap michael kors handbags cheap michael kors purses michael kors bags outlet online cheap michael kors purse michael kors handbags discount
Come installare Apache-SSL, php3 e MySQL

Come installare
Apache-SSL, php3 e MySQL


di pinguino@tantalo.net
ultimo aggiornamento: 25 May 2000 11:42

In questa pagina viene spiegato come installare il web server sicuro Apache-SSL con supporto per php3 e MySQL. La documentazione si rivolge agli utenti meno esperti. Mandate i vostri commenti e suggerimenti a pinguino@tantalo.net.

0. La base

La documentazione si basa su un sistema RedHat Linux 6.1. Non dovrebbero comunque esserci problemi ad eseguire l'installazione su altre distribuzioni. Nel caso in cui gli rpm (MySQL) non siano supportati installate i pacchetti rispettivi in formato .tar.gz (oppure .tgz).

1. Il software

Vi serve il seguente software:

 Software   cos' è?   download   files 
 MySQL   sistema di banche dati relazionale   download   mysql-3.22.32.tar.gz
 oppure
 MySQL-3.22.32-1.i386.rpm 
 MySQL-client-3.22.32-1.i386.rpm
 MySQL-devel-3.22.32-1.i386.rpm
 OpenSSL   toolkit che implementa i protocolli SSL e TSL   download   openssl-0.9.5a.tar.gz  
 Apache   il web server   download   apache_1.3.12.tar.gz 
 Apache-SSL   patch per convertire Apache in un web server sicuro   download   apache_1.3.12+ssl_1.39.tar.gz 
 PHP3   PHP Hypertext Preprocessor   download   php-3.0.16.tar.gz 

2. L'installazione

Per l'installazione dei vari pacchetti software dovete accedere al sistema come root.

2.1 MySQL

Per prima cosa installate MySQL. Entrate nella directory dove avete salvato il software.

2.1.1 Sorgenti

Scompattate il file tar.gz, entrate nella directory appena creata e lanciate ./configure con i parametri desiderati, poi make e make install.

[root@sarek /usr/src/server]# tar xvzf mysql-3.22.32.tar.gz
[root@sarek /usr/src/server]# cd mysql-3.22.32
[root@sarek /usr/src/server/mysql-3.22.32]# ./configure --prefix=/usr/local --localstatedir=/var/lib/mysql \
                                            --with-unix-socket-path=/var/lib/mysql/mysql.sock
[root@sarek /usr/src/server/mysql-3.22.32]# make
[root@sarek /usr/src/server/mysql-3.22.32]# make install

A questo punto create i "*MySQL* grant tables" (ovviamente soltanto se non avevate già installato MySQL) eseguendo scripts/mysql_install_db.

Manca ancora l'avvio automatica di MySQL. Copiate il file support-files/mysql.server nella cartella /etc/rc.d/init.d rinominandolo mysql. Poi create i link simbolici nelle apposite cartelle /etc/rc.d/rcX.d (vedi anche punto 3.4), dove X sta per il runlevel. MySQL ci serve nei runlevel 2, 3, 4 e 5. Nei runlevel 0, 1 e 6 MySQL va stoppato.

Alla fine avrete una struttura simile a questa:

/etc/rc.d/init.d/mysql
/etc/rc.d/rc0.d/K90mysql
/etc/rc.d/rc1.d/K90mysql
/etc/rc.d/rc2.d/S90mysql
/etc/rc.d/rc3.d/S90mysql
/etc/rc.d/rc4.d/S90mysql
/etc/rc.d/rc5.d/S90mysql
/etc/rc.d/rc6.d/K90mysql

Per lanciare MySQL senza riavviare la macchina digitate /etc/rc.d/init.d/mysql.

2.1.2 RPM

Lanciate rpm con gli appositi parametri per l'installazione di tutti e tre i pacchetti di MySQL come mostrato di seguito. Quindi vi verrà chiesto di settare la password per root di MySQL.

[root@sarek /usr/src/server]# rpm -ivh MySQL-3.22.27-1.i386.rpm
MySQL                       ##################################################
Creating db table
Creating host table
Creating user table
Creating func table
Creating tables_priv table
Creating columns_priv table

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
This is done with:
/usr/bin/mysqladmin -u root password 'new-password'
See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at http://www.mysql.com
Support MySQL by buying support/licenses at http://www.tcx.se/license.htmy.

Starting mysqld daemon with databases from /var/lib/mysql
[root@sarek /usr/src/server]# rpm -ivh MySQL-client-3.22.27-1.i386.rpm
MySQL-client                ##################################################
[root@sarek /usr/src/server]# rpm -ivh MySQL-devel-3.22.27-1.i386.rpm
MySQL-devel                 ##################################################
[root@sarek /usr/src/server]# /usr/bin/mysqladmin -u root password 'sikuro'

Nota: Quando vi connettete a MySQL dovete sempre specificare l'utente (se diverso da quello corrente) e la password. Per esempio: mysql -uroot -pmiopasswd
Ovviamente la password da specificare deve essere quella di MySQL e non quella di sistema.

2.2 OpenSSL

OpenSSL è un toolkit open source che implementa i protocolli SSL e TSL e quindi da accesso a funzionalità crittografiche. Questo permette di far girare Apache sia in modo sicuro (SSL) che in modo "normale" (senza crittografazione).

[root@sarek /usr/src/server]# tar xvzf openssl-0.9.4.tar.gz
[...]
[root@sarek /usr/src/server]# cd openssl-0.9.4/
[root@sarek /usr/src/server/openssl-0.9.4]# ./config
[...]
[root@sarek /usr/src/server/openssl-0.9.4]# make
[...]
[root@sarek /usr/src/server/openssl-0.9.4]# make test
[...]
[root@sarek /usr/src/server/openssl-0.9.4]# make install
[...]
[root@sarek /usr/src/server/openssl-0.9.4]# cd ..

2.3 Apache-SSL e php3

Adesso installate Apache-SSL con supporto per php3. Per prima cosa estraete i due pacchetti software:

[root@sarek /usr/src/server]# tar xvzf apache_1.3.9.tar.gz
[root@sarek /usr/src/server]# tar xvzf php-3.0.12.tar.gz

Poi entrate nella cartella con l'Apache, scompattate la patch SSL ed eseguite ./FixPatch. Confermate, quando richiesto, l'installazione.
Bisogna ora eseguire una configurazione "preliminare" di Apache. In questo esempio vogliamo installare Apache nella cartella /home/httpsd - se preferite un'altra destinazione (p. esempio /usr/local/apache) cambiate il parametro appositamente.

[root@sarek /usr/src/server]# cd apache_1.3.9
[root@sarek /usr/src/server/apache_1.3.9]# tar xvzf ../apache_1.3.9+ssl_1.37.tar.gz
[root@sarek /usr/src/server/apache_1.3.9]# ./FixPatch
[root@sarek /usr/src/server/apache_1.3.9]# ./configure --prefix=/home/httpsd

Entrate nella directory di php3. Decidete, quali tipi di supporto volete attivare. Sicuramente servirà il supporto per MySQL, vi serviranno anche i "track-vars", e se volete scrivere una piccola applicazione per accedere ad un server di posta IMAP attivate anche questo supporto. Poi compilate php3, installatelo e copiate il file ini di default in /usr/local/lib.

[root@sarek /usr/src/server/apache_1.3.9]# cd ../php-3.0.12/
[root@sarek /usr/src/server/php-3.0.12]# ./configure --with-mysql --with-apache=../apache_1.3.9 \ 
                                                    --enable-track-vars=yes --with-imap
[root@sarek /usr/src/server/php-3.0.12]# make
[root@sarek /usr/src/server/php-3.0.12]# make install
[root@sarek /usr/src/server/php-3.0.12]# cp php3.ini-dist /usr/local/lib/php3.ini

A questo punto ritornate nella cartella con l'Apache, configuratelo, specificando i moduli da attivare, compilatelo ed installatelo.

[root@sarek /usr/src/server/php-3.0.12]# cd ../apache_1.3.9
[root@sarek /usr/src/server/apache_1.3.9]# ./configure --prefix=/home/httpsd \ 
                                                      --enable-module=rewrite --enable-shared=rewrite \ 
                                                      --activate-module=src/modules/php3/libphp3.a
[root@sarek /usr/src/server/apache_1.3.9]# make
[root@sarek /usr/src/server/apache_1.3.9]# make install

Se tutto è andato bene, dopo l'installazione comparirà la seguente scritta:

make[1]: Leaving directory `/data/server/apache_1.3.9'
+--------------------------------------------------------+
| You now have successfully built and installed the      |
| Apache 1.3 HTTP server. To verify that Apache actually |
| works correctly you now should first check the         |
| (initially created or preserved) configuration files   |
|                                                        |
|   /home/httpsd/conf/httpsd.conf
|                                                        |
| and then you should be able to immediately fire up     |
| Apache the first time by running:                      |
|                                                        |
|   /home/httpsd/bin/httpsdctl start
|                                                        |
| Thanks for using Apache.       The Apache Group        |
|                                http://www.apache.org/  |
+--------------------------------------------------------+
[root@sarek /usr/src/server/apache_1.3.9]# 

3. La configurazione

Prima di lanciare il web server per la prima volta bisogna ancora configurarlo e creare il certificato SSL. Inoltre bisogna creare le cartelle dove metterete poi le pagine web.

3.1 Certificato SSL

Entrate in /home/httpsd/ e create le directory gcache e certs. Entrate nella directory certs e lanciate i seguenti comandi per creare un certificato di prova. Vi verrà chiesto di immettere i dati del certificato. Per ulteriori informazioni visitate il sito http://www.apache-ssl.org/

[root@sarek /home/httpsd/certs]# /usr/local/ssl/bin/openssl req -new > ilmio.cert.csr
[root@sarek /home/httpsd/certs]# /usr/local/ssl/bin/openssl rsa -in privkey.pem -out ilmio.cert.key
[root@sarek /home/httpsd/certs]# /usr/local/ssl/bin/openssl x509 -in ilmio.cert.csr \ 
                                                            -out ilmio.cert.cert -req \ 
                                                            -signkey ilmio.cert.key -days 365

3.2 httpsd.conf

Entrate in /home/httpsd/conf/ e modificate il file httpsd.conf. Potete vedere un esempio qui. Date particolare attenzione alla parte "SSL-SPECIFIC DIRECTIVES" ed ai virtual hosts. In questo esempio vengono utilizzati indirizzi IP della classe privata 192.168.0.x. Modificate gli indirizzi ed il nome (www.miodominio.net) appositamente. Tenete conto che non potete utilizzare dei nomi a scelta libera, ma devono appartenervi realmente. Per fare un esempio in una rete locale (o su una macchina locale) utilizzate nomi che avete dichiarato nella vostra /etc/hosts.

Un'altra parte importante è la seguente, dove viene specificato cosa fare con i file con estensioni tipiche per il php3.

AddType application/x-httpd-php3 .phtml
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3 .php
AddType application/x-httpd-php3-source .phps

3.3 Cartelle per le pagine web

Create le cartelle dove metterete poi le vostre pagine web. Nel nostro esempio partiamo dalla cartella /home/httpsd/webs, nella quale si trova una cartella per ogni server virtuale. Nel nostro caso il server sicuro ed il server "non sicuro" puntano sulle stesse pagine, ma potrebbero anche puntare su aree diverse.

[root@sarek /home/httpsd]# mkdir webs
[root@sarek /home/httpsd]# mkdir webs/www.miodominio.net

Entrate nella directory appena fatta e create un breve file di prova col vostro editor preferito (vi).

<? 
   print "Ueila"; 
?> 

3.4 Avvio automatico

Adesso manca solo l'esecuzione automatica dell'Apache all'avvio della macchina. Copiate il file /home/httpsd/bin/httpsdctl nella cartella /etc/rc.d/init.d rinominandolo httpsd. Poi create i link simbolici nelle apposite cartelle /etc/rc.d/rcX.d, dove X sta per il runlevel. Il webserver ci serve nei runlevel 3, 4 e 5. Nei runlevel 0, 1, 2 e 6 il webserver va stoppato.

[root@sarek /home/httpsd]# cp /home/httpsd/bin/httpsdctl /etc/rc.d/init.d/httpsd
[root@sarek /home/httpsd]# cd /etc/rc.d/rc0.d/
[root@sarek /etc/rc.d/rc0.d]# ln -s ../init.d/httpsd K22httpsd
[root@sarek /etc/rc.d/rc0.d]# cd ../rc1.d/
[...]
[root@sarek /etc/rc.d/rc1.d]# cd ../rc3.d/
[root@sarek /etc/rc.d/rc3.d]# ln -s ../init.d/httpsd S82httpsd
[...]

Alla fine avrete una struttura simile a questa:

/etc/rc.d/init.d/httpsd
/etc/rc.d/rc0.d/K22httpsd
/etc/rc.d/rc1.d/K22httpsd
/etc/rc.d/rc2.d/K22httpsd
/etc/rc.d/rc3.d/S82httpsd
/etc/rc.d/rc4.d/S82httpsd
/etc/rc.d/rc5.d/S82httpsd
/etc/rc.d/rc6.d/K32httpsd

4. Il risultato

Ci siamo: lanciate il web server:

[root@sarek ~]# /etc/rc.d/init.d/httpsd start

Adesso puntate il vostro browser sull'indirizzo http://www.miodominio.net/ per la versione "normale" oppure su https://www.miodominio.net/ per la versione sicura. (Ovviamente sostituendo "www.miodominio.net" con il nome del vostro server... ;))



tantalo.net  

© 1999, 2000 by pinguino@tantalo.net