/configure --prefix=$DIR --enable-modules=all --enable-mods-shared=all
La variabile d'ambiente DIR non è definita. E' meglio usare
/configure --prefix=/usr --enable-modules=all --enable-mods-shared=all
Oppure si può creare una directory apposita per LAMP dentro la quale creare le directory delle applicazioni necessarie:
sudo mkdir /usr/local/LAMP/{etc,src}La directory
etc può essere usata per custodire file di configurazione di LAMP, e
src può tenere i sorgenti. Così facendo, tenendo separati tutti i sorgenti, è possibile cancellare del tutto la directory LAMP, rimuovendo del tutto il sistema, senza influire minimamente sul sistema operativo installato.
$ export APACHE_VER=2.0.61
$ export PHP_VER=5.2.4
$ export MYSQL_VER=5.0.45
La dichiarazione di numeri di release nell'ambiente è irrilevante. Forse è meglio tenere i nomi originali nella scompattazione. Ma potrebbe essere una buona cosa dichiarare la directory
/usr/local/LAMP nell'ambiente senza doverla ridigitare ogni volta.
$ sudo export LAMP_DIR=/usr/local/LAMP
$ sudo wget -P $LAMP_DIR/src ftp://mirror.nohup.it/apache/httpd/httpd-2.0.61.tar.bz2
$ sudo wget -P $LAMP_DIR/src http://it.php.net/get/php-5.2.4.tar.bz2/from/this/mirror
$ sudo wget -P $LAMP_DIR/src \
ftp://na.mirror.garr.it/mirrors/MySQL/Downloads/MySQL-5.0/mysql-standard-5.0.45-linux-i686.tar.gzAnche l'estrazione nello stesso modo.
$ tar jxf httpd-2.0.61.tar.bz2
$ tar jxf php-5.2.4.tar.bz2
$ tar zxf mysql-standard-5.0.45-linux-i686.tar.gz
Bisogna quindi configurare. Il problema è che non so se di MySQL si possa editare qualche script di installazione par fare andare i file al posto giusto, nè se per Apache si possa usare l'opzione
--sysconfdir=$LAMP_DIR/etc per mettere i file di configurazione nella directory LAMP/etc. Allora potrebbe essere:
./configure --prefix=$LAMP_DIR --sysconfdir=$LAMP_DIR/etc --enable-modules=all --enable-mods-shared=all
make
make installConfigurazione e compilazione possono essere effettuate come user. Sono necessari privilegi root per installare software che vada in directory di sistema. Nel caso di directory create dall'utente non è necessario.
e per PHP (attenzione ai backslash: significa che dopo un backslash si può premere Enter per andare a capo.
bash genera un prompt differente e la riga di comando può continuare senza perdere significato):
./configure --prefix=$LAMP_DIR --with-apxs2=$LAMP_DIR/bin/apxs --with-mysql=$LAMP_DIR/mysql \
--with-config-file-path=$LAMP_DIR/etc --with-gd --with-freetype-dir=/usr --enable-gd-native-ttf \
--enable-gd-imgstrttf --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib --with-iconv
make
make installPer il resto è uguale.
$ echo AddType application/x-httpd-php .php >> $LAMP_DIR/conf/httpd.conf
# $LAMP_DIR/bin/mysqld_safe --user=mysql &
# $LAMP_DIR/bin/apachectl startUsando una directory sola si evita anche dispersione di applicazioni o dati.
Si può anche installare il tutto in
/home/apache o
/home/LAMP, soprattutto se la /home e la /root si trovano su due partizioni diverse e non si vuole stare a riconfigurare ogni volta. L'importante è ricordare sempre dove si installa che cosa.
Sto parlando di applicazioni che non ho mai compilato, quindi potrei sbagliarmi qua o là. Per ora non ho intenzione di provare perchè ho altre cose per la testa, però se qualcuno vuole...
Informazioni sulla configurazione di un pacchetto si possono sempre ottenere con
./configure --help | less.