Aggiornare Apache con regolaritā e sopratutto in caso di patching di nuovi buchi di sicurezza č un'attivitā fondamentale che non richiede molto tempo.
Segue lo standard output della procedura di aggiornamenti di Apache dalla versione 1.3.26 alla versione 1.3.27. Quanto qui riportato č ovviamente fattibile anche con altre versioni (ma non con un passaggio dalla 1.3 alla 2.0).
In questo caso la compilazione viene eseguita sul server stesso su cui gira Apache e usando la base directory di default ( /usr/local/apache ).
Per sicurezza si fa un backup preventivo di tutta la basedir di Apache
[root@socrate al]# tar -zcvf backup.tar.gz /usr/local/apache
Download dei sorgenti con wget
[root@socrate al]# wget http://nagoya.apache.org/dist/httpd/apache_1.3.27.tar.gz
--09:46:37-- http://nagoya.apache.org/dist/httpd/apache_1.3.27.tar.gz
=> `apache_1.3.27.tar.gz'
Resolving nagoya.apache.org... done.
Connecting to nagoya.apache.org[192.18.49.131]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,306,052 [application/x-tar]
100%[====================================>] 2,306,052 16.80K/s ETA 00:00
09:48:52 (16.80 KB/s) - `apache_1.3.27.tar.gz' saved [2306052/2306052]
Scompattazione del tarball
[root@socrate al]# tar -zxvf apache_1.3.27.tar.gz
apache_1.3.27/
apache_1.3.27/cgi-bin/
apache_1.3.27/cgi-bin/printenv
apache_1.3.27/cgi-bin/test-cgi
apache_1.3.27/ABOUT_APACHE
apache_1.3.27/Announcement
apache_1.3.27/INSTALL
apache_1.3.27/LICENSE
apache_1.3.27/Makefile.tmpl
apache_1.3.27/README
[...]
apache_1.3.27/src/Configuration
Si entra nella directory appena scompattata. Allo stesso livello si ha la directory apache_1.3.26 con i sorgenti della versione precedente
[root@socrate al]# cd apache_1.3.27/
Si esegue lo script config.status in apache_1.3.26 che contiene il ./configure con i parametri utilizzati nell'ultima compilazione. Ovviamente la compilazione la si fa sui sorgenti della versione 1.3.27 (trovandosi nella relativa directory).
[root@socrate apache_1.3.27]# ../apache_1.3.26/config.status
Configuring for Apache, Version 1.3.27
+ using installation path layout: Apache (config.layout)
Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
+ configured for Linux platform
+ setting C compiler to gcc
+ setting C pre-processor to gcc -E
+ checking for system header files
+ adding selected modules
[...]
Si compilano i sorgenti...
[root@socrate apache_1.3.27]# make
===> src
make[1]: Entering directory `/home/al/apache_1.3.27'
[...]
Si installano i binari compilati. Se si vuole evitare potenziali complicazioni di conflitti sui file, a questo punto č possibile stoppare il server web. In questo caso non lo si č fatto e non si sono avuti problemi.
[root@socrate apache_1.3.27]# make install
make[1]: Entering directory `/home/al/apache_1.3.27'
===> [mktree: Creating Apache installation tree]
./src/helpers/mkdir.sh /usr/local/apache/bin
[...]
Si riavvia il server Web. Il file di configurazione non č stato cambiato e tutto torna a funzionare correttamente
[root@socrate apache_1.3.27]# /usr/local/apache/bin/apachectl restart
/usr/local/apache/bin/apachectl restart: httpd restarted
Per scrupolo si verifica la versione corrente:
[root@socrate apache_1.3.27]# httpd -V
Server version: Apache/1.3.27 (Unix)
Server built: Nov 6 2002 09:53:02
Server's Module Magic Number: 19990320:13
Server compiled with....
-D HAVE_MMAP
[...]
Installazione e upgrade di Apache tramite package e sorgenti.