Avanti Indietro Indice

3. Installazione dei Componenti

3.1 Preparazioni

Avrete bisogno dei seguenti software:

Questo è lo schema della disposizione delle directory che uso e raccomando:

+ /usr/src
|
+-+ apache
  |
  +-+ apache-1.3.12
  |
  +-+ modules
  | |
  | +-+ mod_perl
  | | |
  | | +- mod_perl-1.21
  | | |
  | | +-+ depend
  | |   |
  | |   +- <qui i moduli perl>
  | |
  | +-+ mod_ssl
  | | |
  | | +- mod_ssl-2.6.2-1.3.12
  | | |
  | | +-+ depend
  | |   |
  | |   +- openssl-0.9.5
  | |   |
  | |   +- rsaref-2.0
  | |   |
  | |   +- mm-1.0.12
  | |
  | +-+ mod_fastcgi_SNAP
  | |
  | +-+ php
  | | |
  | | +- php-3.0.15
  | | |
  | | +-+ depend
  | |   |
  | |   +- gd-1.3
  | |   |
  | |   +- imap-4.5
  | |   |
  | |   +- openldap-1.2.9
  | |
  | +-+ mod_auth_nds
  | | |
  | | +- mod_auth_nds-0.4
  | | |
  | | +-+ depend
  | |   |
  | |   +- ncpfs-2.2.0.17
  | |
  | +-+ mod_auth_mysql
  |
  +-+ mysql

Verificate se alcuni dei sopracitati moduli/pacchetti software sono già installati sul vostro sistema. Normalmente non crea problemi, comunque, scaricare tutto ed installare in caso serva. Potreste averne una vecchia versione installata nel sistema.

3.2 mod_ssl

Installare e compilare OpenSSL

mod_ssl richiede che sia installata una specie di motore SSL. OpenSSL è la scelta naturale per l'ambiente Linux. Lo si può installare attraverso RPM (come ho fatto io) o compilarlo dai sorgenti. Siccome io non l'ho compilato dai sorgenti dovrete farlo da soli, anche se penso sia molto semplice. Molto probabilmente o lo installerete nel sistema (in /usr/local o qualcosa del genere) o lo lascerete nella sua directory e semplicemente indirizzerete qualsiasi applicazione necessiti di OpenSSL alla sua directory.

RPM installerà OpenSSL nelle directory di sistema.

Installare e compilare RSAREF 2.0

Create la directory rsaref-2.0 dove volete. Nel mio caso si trova in /usr/src/apache/modules/mod_ssl-blah/depend/. Spostatevi in questa directory.

cd rsaref-2.0
cp -rp install/unix local
cd local
make
mv rsaref librsaref.a

Questi comandi dovrebbero compilarvi la libreria rsaref! Semplicemente lasciate tutto qui e quando dovete creare dei link verso la libreria indirizzate lo script di configurazione appropriato a questa posizione.

Installare e compilare MM

Estraete mm-1.0.12 (o qualsiasi versione sia la più aggiornata) nella directory depend della sottodirectory mod_ssl-blah. Eseguite i passi seguenti:

cd mm-1.0.12
./configure --disable-shared
make

Questo dovrebbe compilare le librerie mm. Come sopra, riferitevi a questo percorso quando serve. Dovete arrangiarvi se volete installare questa libreria nel sistema.

Installare e compilare mod_ssl (finalmente!)

La procedura normale con apxs è compilare prima Apache e in seguito, utilizzando apxs, compilare i moduli che volete utilizzare ed inserirli nel server. Tuttavia, mod_ssl deve essere compilato nel server nel modo classico prima che lo possiate utilizzare con apxs. Quando mod_ssl sarà installato nel server per la prima volta potrete poi aggiornarlo via apxs senza dover ricompilare completamente Apache.

Entrate nella directory da dove state compilando mod_ssl ed eseguite le seguenti direttive di configurazione (qui c'è il file che uso io) per la compilazione iniziale:

#!/bin/sh

./configure \
        --with-apache=/usr/src/apache/apache_1.3.12 \
        --with-ssl \
        --with-rsa=../depend/rsaref-2.0/local \
        --with-mm=../depend/mm-1.0.12 \
        --enable-shared=ssl

Non avete bisogno di lanciare 'make' o altro qui. Quando compileremo Apache farà tutto lui per noi.

Questa riga di configurazione fornisce due esempi di come il vostro sistema potrebbe essere configurato. Nel mio caso OpenSSL era già installato da qualche parte nel sistema (probabilmente in /usr/lib, /usr/include). Quindi non ho avuto bisogno di passare alcun parametro per localizzarlo. Comunque, rsa e mm -non- erano nel sistema e li ho compilati e lasciati nelle loro directory dei sorgenti (non ho lanciato make install). In questo caso è necessario indirizzare configure alla directory appropriata in modo che possa trovare gli header/librerie.

Da questo punto in avanti, a meno che non aggiorniate Apache (nel qual caso dovrete rieseguire i passaggi precedenti per la nuova versione di Apache), potrete usare apxs per aggiornare e ricompilare mod_ssl. Qui c'è lo script configure che uso per questo:

./configure \
        --with-apxs=/apps/apache-1.3.12/bin/apxs \
        --with-ssl=../depend/openssl-0.9.4 \
        --with-rsa=../depend/rsaref-2.0/local \
        --with-mm=../depend/mm-1.0.12

O qualche combinazione simile. Poi eseguite:

make
make install
make distclean

per completare l'installazione.

Note: MM -non- è richiesto per compilare mod_ssl. Se avete problemi a farlo funzionare escludetelo semplicemente dalla compilazione e anche dalla riga (o dalle righe) del file ./configure.

Quando io ho compilato mod_ssl ho avuto errori riguardanti DBM. Per risolvere questo ho dovuto aggiungere -lndbm al Makefile:

Con molta probabilità questo vi risparmierà molte sofferenze.

3.3 Apache

Estraete apache-1.3.12.tar.gz in /usr/src/apache o dove preferite. Ora vogliamo compilare Apache attivando le seguenti opzioni:

Questo è il file di configurazione che ho utilizzato per compilare inizialmente Apache:

#!/bin/sh

SSL_BASE=../depend/openssl-0.9.4 \
RSA_BASE=../depend/rsaref-2.0/local \
EAPI_MM=../depend/mm-1.0.12 \
./configure \
        --enable-module=ssl \
        --enable-module=proxy\
        --enable-shared=proxy\
        --enable-module=rewrite \
        --enable-shared=rewrite \
        --prefix=/apps/apache-1.3.12 \
        --enable-shared=ssl \
        --enable-rule=SHARED_CORE \
        --enable-rule=SHARED_CHAIN \
        --enable-module=so

Poi eseguite

make
make certificate
make install

Apache dovrebbe ora essere compilato ed installato nella directory che avete specificato con --prefix. Provatelo ed assicuratevi che parta.

/percorso/di/apache/bin/apachectl start

o

/percorso/di/apache/bin/apachectl startssl

Con buone speranze dovrebbe funzionare tutto senza problemi. Se così non fosse tornate indietro ed assicuratevi di non aver dimenticato nulla.

3.4 MySQL

php così come mod_auth_mysql ed eventualmente mod_perl richiederanno che MySQL sia installato e attivo sul vostro sistema. Va oltre lo scopo di questo documento entrare nei dettagli dell'installazione di MySQL ma scaricatevi l'archivio ed seguite le istruzioni contenute nel o nei file INSTALL. È una procedura abbastanza immediata avere MySQL installato e funzionante. Qualcosa del tipo:

./configure
make
make install

Dovrebbe installare tutto così che voi possiate compilare gli altri moduli di Apache.

3.5 PHP 3.0.15

Compileremo php-3.0.15 come DSO, ossia un modulo separato che può essere caricato e scaricato dal server. Questo rende semplice aggiornare php senza dover ricompilare tutto (che può essere stressante se usate molti moduli con Apache).

GD

Nella nostra installazione di Apache php usa gd per creare immagini e cose simili. Io ho usato una versione più vecchia di gd (installata attraverso RPM) che ho linkato a php. In questo modo possiamo utilizzare anche file GIF. Questo però probabilmente non è molto desiderabile per motivi di copyright e quindi potreste voler utilizzare una versione successiva alla 1.3 che supporta solo i file PNG.

Installatelo o attraverso gli RPM (rpm -i gd*.rpm) o compilatelo dai sorgenti ed installatelo nel sistema.

IMAP

Se volete il supporto IMAP, la procedura è simile a quella per gd. Io ho usato gli RPM dato che sono su un sistema Red Hat ma installare da sorgenti dovrebbe essere una procedura abbastanza semplice di ./configure;make;make install.

OpenLDAP

Ancora una volta potete installare OpenLDAP attraverso RPM o sorgenti. Ho scelto di farlo attraverso i sorgenti visto che l'ultima versione non era ancora disponibile come RPM quando stavamo installando il server.

./configure
make
make install

dovrebbe fare il suo dovere! (O rpm -i openldap*.rpm)

Installare e compilare PHP 3.0.15

Una volta che i moduli precedenti sono installati e funzionanti possiamo andare avanti e compilare PHP come DSO. Il procedimento è molto diretto e semplice.

cd /usr/src/apache/modules/php/php-3.0.15

./configure \
        --with-apxs=/apps/apache/bin/apxs \
        --with-config-file-path=/apps/etc \
        --with-gd \
        --with-imap \
        --with-mysql=/apps/mysql \
        --with-ldap=/apps \
        --with-zlib \
        --enable-track-vars

Ricordate che se una delle vostre librerie --with non è installata in /usr/local o /usr dovete aggiungere una riga =/percorso/ così che configure possa trovare il materiale di cui ha bisogno!

make
make install

Se tutto si completa senza problemi 'make install' utilizzerà apxs per installare libphp3.so in /apache/libexec/libphp3.so e aggiungerà le voci necessarie in httpd.conf e attiverà php3. Molto semplice.

3.6 mod_perl

Questa sezione documenta l'installazione di mod_perl come DSO per Apache. Ci sono molti moduli perl (oltre ovviamente a perl5, che assumo abbiate già installato) che devono essere aggiunti prima che mod_perl si compili senza lamentarsi. Se non installate questi moduli mod_perl dovrebbe lamentarsi e dirvi quali mancano.

C'è un certo ordine nel quale i moduli devono essere installati. Alcuni dipendono da altri e quindi ho elencato l'ordine di installazione che ho usato io senza problemi.

Moduli Perl Richiesti

I moduli perl possono essere ottenuti da siti elencati precedentemente in questo documento. Scaricateli e metteteli dove preferite o nel percorso che ho usato io come rappresentato nella mappa delle directory (anch'essa più in alto nel documento). Installare un modulo è molto semplice. Dopo aver estratto il modulo nella directory (di solito con tar xvfz) dovete semplicemente entrare nella directory ed eseguire i seguenti comandi:

perl Makefile.PL
make
make install

Se tutto va come dovrebbe, questo configurerà, compilerà ed installerà il modulo perl per voi. Ovviamente, controllate il file README per ogni modulo se le cose non vanno come ci si aspetta.

Questo è l'ordine che ho usato io per installare i moduli necessari per mod_perl:

  1. MIME::Base64
  2. URI
  3. HTML::Parser
  4. Digest-MD5
  5. libnet
  6. libwww

Installare e compilare mod_perl 1.2x

Dopo aver installato i moduli perl siamo pronti per compilare ed installare mod_perl in Apache. Entrate nella directory dove avete estratto mod_perl ed eseguite il seguente script:

perl Makefile.PL \
        USE_APXS=1 \
        WITH_APXS=/percorso/di/apache/bin/apxs \
        EVERYTHING=1

Questo imposterà il vostro Makefile e dirà a mod_perl di compilarsi come DSO utilizzando apxs (di cui dovete specificare la posizione). Dopo questo passaggio, eseguite

make
make install

E mod_perl sarà spostato nella directory appropriata e le righe necessarie saranno aggiunte al file httpd.conf.

3.7 mod_auth_mysql

mod_auth_mysql permette al web-server Apache di gestire le autorizzazioni attraverso un database MySQL. L'installazione del modulo come DSO non è esattamente documentata nel file README ma può essere fatta.

Per prima cosa entrate nella directory in cui avete estratto mod_auth_mysql. Assumo abbiate già installato MySQL da qualche parte (assieme agli header ecc.). Verificate di sapere il percorso delle librerie di MySQL e degli header. Se siete incerti controllate /usr/lib/mysql e /usr/include/mysql.

Per poter compilare mod_auth_mysql per prima cosa dovremo rinominare 'config.h' come 'auth_mysql_config.h'. Non so perché a questo file non sia stato dato il nome corretto, comunque eseguite semplicemente il comando seguente:

cp config.h auth_mysql_config.h

Ora, per l'ultimo passo:

/percorso/di/apache/bin/apxs -i -a -I/usr/include/mysql -L/usr/lib/mysql \
        -lmysqlclient -c mod_auth_mysql.c

Potreste aver bisogno di eseguirlo da root se non avete accesso in lettura/scrittura nella directory di Apache.

3.8 mod_auth_nds

Nella mia scuola la rete Windows scelta è Netware. È in uso da molto tempo e sebbene spero un giorno venga cambiata, per ora è ancora la rete principale nel campus per la condivisione di file e per le email. Ogni studente ha un account Netware nel quale tutti i suoi file personali, incluse le sue pagine web, sono memorizzati. Noi montiamo queste directory sul nostro server linux ed è bello essere in grado di proteggerne alcune con le informazioni di nome utente e password di Netware. Con questo modulo Apache può autenticarsi direttamente con il server Netware.

ncpfs

Per compilare mod_auth_nds dobbiamo avere ncpfs installato (assieme ai suoi header ovviamente). Prima di compilare ncpfs dovete assicurarvi che il vostro kernel abbia il supporto IPX compilato. Se è così, eseguite

./configure
make
make install (opzionale)

che compilerà (ed installerà) le librerie.

Compilare ed installare mod_auth_nds

Con ncpfs installato, eseguire i seguenti comandi dovrebbe compilare mod_auth_nds come DSO:

/percorso/di/apache/bin/apxs -c -lncp -L/usr/lib -I/usr/include mod_auth_nds.c
/percorso/di/apache/bin/apxs -i mod_auth_nds.so

Quindi aggiungete le seguenti righe al vostro httpd.conf (a mano):

LoadModule nds_auth_module libexec/mod_auth_nds.so
AddModule mod_auth_nds.c

Quindi, riavviate Apache!

3.9 mod_fastcgi

Installare mod_fastcgi è necessario se volete consentire l'accesso al vostro server Zope attraverso Apache. Questo potrebbe essere utile semplicemente perché Apache è più sicuro e molto più configurabile di Zope stesso.

L'attuale versione stabile di mod_fastcgi è la 2.2.2, comunque questa versione non funziona correttamente con Zope. Dovete scaricare la SNAP release che è datata 6 ottobre. Il link è fornito più sopra nel documento.

Entrate nella directory di mod_fastcgi ed eseguite i seguenti comandi:

/percorso/di/apache/bin/apxs -o mod_fastcgi.so -c *.c
/percorso/di/apache/bin/apxs -i -a -n fastcgi mod_fastcgi.so

Guardate la documentazione di mod_fastcgi per una descrizione del suo utilizzo.


Avanti Indietro Indice