Apache+DSO+mod_ssl+mod_perl+php+mod_auth_nds+mod_auth_mysql+mod_fastcgi

Ray Van Dolson, rayvd@firetail.org v0.91, 5 Aprile 2000

Spiega l’installazione di un webserver basato su Apache configurato per gestire DSO e vari moduli utili tra cui mod_perl, mod_ssl e php. Traduzione di Raoul Raffagli (raoul.raffagli@tin.it) per il LIFO (http://lifolab.org), revisione di Claudio Cattazzo (claudio@pluto.linux.it).

Contents

1 Informazioni legali 2

2 Introduzione 2 2.1 Descrizione dei Componenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Cronologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Installazione dei Componenti 3 3.1 Preparazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 mod_ssl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2.1 Installare e compilare OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.2 Installare e compilare RSAREF 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.3 Installare e compilare MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.4 Installare e compilare mod_ssl (finalmente!) . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3 Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5 PHP 3.0.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.5.1 GD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5.2 IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5.3 OpenLDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5.4 Installare e compilare PHP 3.0.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.6 mod_perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.6.1 Moduli Perl Richiesti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.6.2 Installare e compilare mod_perl 1.2x . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.7 mod_auth_mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.8 mod_auth_nds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.8.1 ncpfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.8.2 Compilare ed installare mod_auth_nds . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.9 mod_fastcgi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 Considerazioni finali 13

4.1 Ringraziamenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 Contatti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3 Altro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1 Informazioni legali

Apache+mods mini-HOWTO for Linux Systems

Copyright (C)2000 Ray Van Dolson.

This document is free; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can get a copy of the GNU GPL at at http://www.gnu.org/copyleft/gpl.html http://www.gnu.org/

copyleft/gpl.html .

Apache+mods mini-HOWTO per Sistemi Linux

Copyright (C)2000 Ray Van Dolson.

Questo documento è libero; è possibile redistribuirlo e/o modificarlo sotto i termini della GNU General Public License come pubblicato dalla Free Software Foundation; sia la versione 2 della Licenza sia (a vostra scelta) una qualsiasi versione successiva.

Questo documento è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza nemmeno l’implicita garanzia di COMMERCIABILITÀ o ADEGUATEZZA PER UN PARTICOLARE USO. Si veda la GNU General Public License perculteriori dettagli.

Ci si può procurare una copia della GNU GPL presso http://www.gnu.org/copyleft/gpl.html http://www.

gnu.org/copyleft/gpl.html .

2 Introduzione

Questo documento delinea il procedimento usato per installare Apache ed i relativi moduli sul web-server del Walla Walla College (www.wwc.edu). Mentre sarà, per la maggior parte, specifico per il nostro sistema, con buone speranze può servire come utile riferimento per effettuare altre installazioni.

Questo documento cercherà di delineare il procedimento esatto utilizzato per installare il server. Ci saranno delle note quando ci si sarebbe dovuti occupare diversamente delle cose ma saranno dati i passaggi originali (visto che hanno funzionato).

2.1 Descrizione dei Componenti

La piattaforma sulla quale è stato installato il web-server è un sistema basato su Red Hat 6.1, kernel Linux 2.2.14 (compilato da zero) in esecuzione su un sistema basato su biprocessore PIII 600 con RAID5 e diverse altre cose.

Il web-server è Apache 1.3.12. I seguenti moduli sono stati aggiunti al server:

• mod_fastcgi SNAP (anche mod_rewrite), per l’utilizzo con Zope.

• Auth-MySQL 2.20

• mod_ssl 2.6.2 (Open-SSL 0.9.5)

• mod_perl 1.21

• PHP 3.0.15

• mod_auth_nds 0.3a

2.2 Cronologia

v0.91 (5 Aprile 2000)

• Aggiornato mod_fastcgi alla versione corretta. v0.9 (4 Aprile 2000)

• Completata la prima bozza

• Errori di battitura/grammatica v0.1 (Marzo 2000)

• Bozza iniziale

3 Installazione dei Componenti

3.1 Preparazioni

Avrete bisogno dei seguenti software:

• Apache 1.3.12 http://www.apache.org/dist/apache_1.3.12.tar.gz
• PHP 3.0.15 http://www.php.net/distributions/php-3.0.15.tar.gz

– GD 1.3 (per fare uso di file GIF)

        ∗ Source http://www.boutell.com/gd/http/gd-1.3.tar.gz
        ∗ RPM  ftp://rpmfind.net/linux/redhat/redhat-6.0/i386/RedHat/RPMS/gd-1.3-5.
          i386.rpm
        ∗ RPM-devel  ftp://rpmfind.net/linux/redhat/redhat-6.0/i386/RedHat/RPMS/
          gd-devel-1.3-5.i386.rpm

– GD 1.8.1 (per fare uso di file PNG)

        ∗ Source http://www.boutell.com/gd/http/gd-1.8.1.tar.gz
        ∗ RPM ftp://rpmfind.net/linux/contrib/libc6/i386/gd-1.8.1-1.i386.rpm
        ∗ RPM-devel ftp://rpmfind.net/linux/contrib/libc6/i386/gd-devel-1.8.1-1.i386.
          rpm

– IMAP 4.5+

        ∗ Source ftp://ftp.cac.washington.edu/imap/imap-4.7b.tar.Z

    ∗ RPM ftp://rpmfind.net/linux/redhat/redhat-6.1/i386/RedHat/RPMS/imap-4.5-4.
      i386.rpm

– OpenLDAP 1.2.9+

    ∗ Source ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-1.2.9.
      tgz
    ∗ RPM ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/openldap-1.2.9-5.
      i386.rpm
    ∗ RPM-devel  ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/
      openldap-devel-1.2.9-5.i386.rpm
• mod_perl 1.22+ http://perl.apache.org/dist/mod_perl-1.22.tar.gz

– I moduli richiesti da Perl5

– MIME::Base64 http://amaunet.informatik.uni-dortmund.de/cgi-bin/CPAN/authors/id/
  GAAS/MIME-Base64-2.11.tar.gz
– URI http://www.perl.com/CPAN-local/modules/by-module/URI/URI-1.05.tar.gz
– HTML-Parser  http://www.perl.com/CPAN-local/modules/by-module/HTML/
  HTML-Parser-3.07.tar.gz
– Digest-MD5 http://www.perl.com/CPAN-local/modules/by-module/Digest/Digest-MD5-2.
  09.tar.gz
– libnet http://www.perl.com/CPAN-local/modules/by-module/Net/libnet-1.0703.tar.gz
– libwww  http://www.perl.com/CPAN-local/modules/by-module/WWW/libwww-perl-5.47.
  tar.gz
• mod_ssl 2.6.2+ http://www.modssl.org/source/mod_ssl-2.6.2-1.3.12.tar.gz

– OpenSSL 0.9.5

    ∗ Source http://www.openssl.org/source/openssl-0.9.5.tar.gz
    ∗ RPM ftp://rpmfind.net/linux/contrib/libc6/i386/openssl-0.9.5-1.i386.rpm
    ∗ RPM-devel ftp://rpmfind.net/linux/contrib/libc6/i386/openssl-devel-0.9.5-1.
      i386.rpm
– RSAREF 2.0 ftp://ftp.wwc.edu/pub/apache/modules/mod_ssl/depend/rsaref20.1996.
  tar.Z
– MM 1.0.12 http://www.engelschall.com/sw/mm/mm-1.0.12.tar.gz
• MySQL 3.22.32 http://www.mysql.com/Downloads/MySQL-3.22/mysql-3.22.32.tar.gz
• mod_auth_nds 0.4 ftp://vrooom.at.drew.edu/pub/mod_auth_nds/mod_auth_nds-0.4.tar.gz
– ncpfs 2.2.0.17 ftp://vrooom.at.drew.edu/pub/mod_auth_nds/ncpfs/ncpfs-2.2.0.17.tgz

Nota: il kernel deve essere compilato anche con il supporto IPX.

• mod_auth_mysql 2.20 http://bourbon.netvision.net.il/mysql/mod_auth_mysql/mod_auth_
mysql-2.20.tar.gz
• mod_fastcgi SNAP Oct06 http://www.FastCGI.com/dist/mod_fastcgi_SNAP_Oct06.tar.gz

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

3.2.1 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.

3.2.2 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_sslblah/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.

3.2.3 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.

3.2.4 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:

• Eseguite lo script configure visto sopra.

• cd pkg.sslmod

• Modificate il makefile ed aggiungete -lndbm a LIBS_SHLIB. Dovrebbe risultare così:

   • LIBS_SHLIB=-lm -lcrypt -lndbdm

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:

• mod_ssl (Per compilare mod_ssl come DSO deve essere prima compilato nel server normalmente. In seguito il modulo potrà essere aggiornato via apxs.)

• mod_proxy

• mod_so

• mod_rewrite (Per l’utilizzo con Zope)

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).

3.5.1 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.

3.5.2 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.

3.5.3 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)

3.5.4 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.

3.6.1 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

3.6.2 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.

3.8.1 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.

3.8.2 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.

4 Considerazioni finali

Molte di queste informazioni possono essere ottenute leggendo i file README ed INSTALL inclusi nei vari moduli. Comunque, questo documento è utile nei casi in cui per me non ha funzionato come previsto o nei quali la procedura di installazione non era così ben spiegata come avrei voluto. Ha inoltre il pregio di essere un unico documento sequenziale che dovrebbe teoricamente essere più facile da seguire e capire rispetto ad una sfilza di file README.

4.1 Ringraziamenti

Phillip R. Wilson <pwilson@drew.edu>, autore di mod_auth_nds, per avermi
 aiutato a compilare ed installare con apxs mod_auth_nds.
John Ash <jash@wwc.edu>, il mio capo, per tutti i tipi di aiuto e, ovviamente,
 un lavoro.
Marcus Faure <marcus@faure.de>, autore del mini-HOWTO Apache SSL PHP/FI,
 documento sul quale questo è vagamente basato.

4.2 Contatti

Se trovate errori evidenti di battitura, di grammatica, di contenuto o di qualsiasi altro genere non esitate a scrivermi un’email. Mi potete contattare in diversi modi.

Ray Van Dolson
Email: <url url="mailto:rayvd@firetail.org" name="rayvd@firetail.org">
IRC: DALnet, #Bludgeon (nick Variant)

4.3 Altro

Tutto ciò che è citato in questo documento sarà alla fine disponibile su ftp.wwc.edu/pub/apache. Metterò tutto come descritto sopra e con buone speranze gli script di installazione per installare tutto da zero.