Installazione di MySQL Apache Php OpenSSL Mod SSL e Mod Perl

Premessa

In questo documento spiegherò come realizzare un server Web dotato di connessioni sicure grazie al protocollo SSL abilitato all’eventuale uso di pagine e database, grazie all’installazione sulla stessa macchina di come server database. Questo tipo di server così configurato è indispensabile se vogliamo crearci un sito web, interno alla LAN o no, con i portal manager come Phpnuke, E-Xoops, Zope/Plone e tanti altri che si basano sulla tecnologia /, oppure creare un forum di discussione con PhpBB o con altri software.

Risorse Hardware e Software

Per il mio scopo ho utilizzato un vecchio pc , composto da un processore Pentium 166MMX, 64MB di RAM, Hard Disk da 40GB ide, scheda di rete pci 3Com 905-b 10/100Mbit., dal lato software ho utilizzato Slackware 10, , , , , Mod_SSL e Mod_Perl.

Procuriamoci i pacchetti necessari

Per facilitarvi nell’impresa vi ho messo a disposizione il mio spazio web, da dove potere prelevare i pacchetti necessari senza andare in giro per la rete magari non trovando le versioni utilizzate in questo documento. Di seguito trovate i link per scaricare i pacchetti:

http://www.webalice.it/alepensato/apache/mysql-4.0.21.tar.gz

http://www.webalice.it/alepensato/apache/openssl-0.9.7d.tar.gz

http://www.webalice.it/alepensato/apache/apache_1.3.27.tar.tar

http://www.webalice.it/alepensato/apache/php-5.0.2.tar.gz

http://www.webalice.it/alepensato/mod_ssl-2.8.14-1.3.27.tar.gz

http://www.webalice.it/alepensato/mod_perl-1.29.tar.gz

Compilazione e installazione dei software sorgenti (come root)

Installazione del server

Il primo software che installeremo è . Esso si preoccuperà di gestire i database che verranno usati e anche di consentirne l’accesso tramite il linguaggio di programmazione che è in stretta relazione col server database Per prima cosa occorre scompattare i sorgenti e solo dopo potremmo avviare la configurazione seguita dalla compilazione e l’installazione. Una volta completati queste prime fasi, installeremo il database principale che contiene le informazioni che consentono al server di funzionare, copieremo i file di configurazione nelle posizioni corrette e modificheremo il file rc.local per avviare il server al boot del sistema. Eseguite questi comandi passo passo:

cd /tar
tar zxvf  *
cd *
./configure --prefix=/usr/local/
make && make install
script/mysql_install_db
cp support*/*medium.cnf /etc/my.cnf
/usr/local//bin/mysqld_safe --user=root &
vi /etc/rc.d/rc.local

Installazione del pacchetto

Questo pacchetto, una volta installato, si occuperà della gestione delle informazioni crittografate col protocollo si sicurezza SSL utilizzando algoritmi complessi per la crittografia dei dati ed un sistema di chiavi pubbliche e private necessarie per la decodifica dei dati. Eseguite questi comandi passo passo:

cd /tar
tar zxvf 
cd *
./config && make && make install

Preconfigurazione di

è il software più utilizzato in internet per offrire la funzione di web server. Per il momento procediamo solo con la preconfigurazione, in quanto il software che dovremo installare successivamente () richiede questo processo. Eseguite questi comandi passo passo:

cd /tar
tar zxvf *
cd *
./configure --prefix=/usr/local/ --enable-module=all --enable-shared=max

Installazione di

Adesso che abbiamo preconfigurato il server web , ci occuperemo dell’installazione di , che come detto prima è un potente linguaggio di programmazione simile all’Asp, potremmo dire che è una versione Unix-Like di Asp che è per sistemi Microsoft®. Tra i vantaggio troviamo che è stato progettato per lavorare a stretto contatto con proponendo alcuni tag specifici per la connessione ai database oppure per la registrazione delle informazioni immesse in una form nei campi del database, proprio quello che fa per noi per usare i portal manager. Eseguite questi comandi passo passo:

cd /tar
tar zxvf  *
cd *
./configure --with-=../apache_1.3.27 --with-=/usr/local/ \
--enable-track-vars --enable-ftp
make && make install

Installazione di Mod_SSL

Questo è il pacchetto software che si occupa di abilitare ad usare i servizi di crittografia offerti da . Con questo plug-in abiliteremo ad effettuare delle connessioni protette, dove i dati che viaggiano tra server e utente saranno crittografati e decodificati tramite funzioni matematiche complesse. Questo tipo di connessioni vengono utilizzare in rete per esempio dalle banche che consentono ai loro clienti di controllare i loro investimenti e di effettuare operazioni, ma anche quando effettuiamo acquisti on line. In realtà nel caso delle banche non c’è solo il protocollo SSL che si preoccupa della sicurezza dei dati, ma entrano in gioco i certificati di protezione rilasciati da autorità accreditate e abilitate a questo scopo (CA Certification Authority). Spero di scrivere qualcosa su come funzionano le CA e di come realizzarne una a scopo dimostrativo o magari per usarla all’interno di una azienda. Adesso torniamo all’installazione del plug-in per , eseguendo questi comandi:

cd /tar
tar zxvf mod_ssl*
cd mod_ssl*

./configure –with-=../apache_1.3.27 –prefix=/usr/local/ \

--enable-module=all --enable-shared=max –with-=../-0.9.7d

Installazione di Mod_Perl

Questo è il pacchetto software che si occupa di abilitare per usare script esterni che richiedono Perl per poter funzionare correttamente servizi. Adesso torniamo all’installazione del plug-in per , eseguendo questi comandi:

cd /tar
tar zxvf mod_perl*
cd mod_ssl*
perl Makefile.PL USE_EVERYTHING=1 \
APACHE_PREFIX=/usr/local/

A questo punto ci verrà chiesto se ../apache_1.3.27/src è la posizione corretta dove si trovano i sorgenti di , quindi risponderemo digitando Y, mentre alla seconda domanda, in cui ci viene chiesto se volgiamo che Mod_Perl ci compili ed installi risponderemo digitando una N. Adesso possiamo completare manualmente l’installazione di Mod_Perl digitando come segue:

make && make install

Installazione di

Questo pacchetto si occupa di rispondere alle chiamate tcp dirette al server, quindi indispensabile per il funzionamento del server stesso. Eseguite questi comandi passo passo:

./configure --prefix=/usr/local/ --enable-module=all \
--enable-shared=max --enable-module=ssl --disable-module=auth_dbm \
--activate-module=src/modules/php5/libphp5.a \
--activate-module=src/modules/perl/libperl.a
make && make certificate

Durante questa fase, verrà creato un certificato SSL associato alla nostra persona. Per tale operazione ci verranno chiesti alcuni dati e adesso vedremo come inserirli per ottenere il certificato.

Segnature Algorithm ((R)SA or (D)SA) [R]:  R
Country Name:  IT
State or Province Name:  Sicilia
Locality Name:  Palermo
Organizzation Name: porkyHTTP Network
Organizzation Unit Name:  porkyHTTP Network - CA
Common Name:  www.home.local
Email Address:  porkyhttp@home.local
Certificate Validity:  730
Certificate Version:  3
Encrypt the private key now:  Y
Enter PEM pass phrase: ******
Verifying - Enter PEM pass phrase: ******

Adesso che il certificate è stato creato possiamo completare l’installazione di lanciando il comando

make install

Configurazione di

Adesso che è stato installato, dobbiamo procedere a fare una breve personalizzazione del file di configurazione, nel quale attiveremo il supporto per la lettura delle pagine , inseriamo i dati riguardanti l’amministratore di e qualche altra piccola aggiunta. Apriamo con un editor di testi come VI il file di configurazione httpd.conf, che si trova nella directory /usr/local//conf, e procediamo a modificare le voci del conf, come nell’esempio di seguito

vi /usr/local//conf/httpd.conf

ServerName www.home.local
ServerAdmin porkyhttp@home.local
DirectoryIndex index.html index.htm index. index.php3 index.phps index.cgi default.html
default.htm home.htm
AddType application/x-httpd- . .php3
AddType application/x-httpd--source .phps

Queste riportate sopra sono le righe che dovremo aggiungere o modificare nel file httpd.conf. una volta eseguita questa operazione saremo pronti alla prima esecuzione di . Abbiamo due alternative per l’avvio di , con o senza il supporto SSL per le connessioni sicure. Per avviarlo col supporto SSL ci basterà lanciare il comando /usr/local//bin/apachectl startssl e inserendo la password che abbiamo digitato al momento della generazione del certificato, partirà e si metterà in ascolto si sulla prota 80 che 443. Se non volgiamo attivare tale supporto possiamo avviarlo col comando

/usr/local//bin/apachectl start

Condividi/segnala rapidamente:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Slashdot
  • YahooMyWeb
  • Live
  • Socialogs
  • SphereIt
  • Wists
  • FriendFeed
  • Twitter

Lascia un Commento

Occorre aver fatto il login per inviare un commento