Author Topic: [GUIDA] Installare un sistema LAMP  (Read 4059 times)

0 Members and 1 Guest are viewing this topic.

Offline Raid

  • Administrator
  • Membro esperto
  • *****
  • Posts: 2200
    • www.darkforge.it
[GUIDA] Installare un sistema LAMP
« on: Sun 13 January 2008, 19:30 »
Che cos'è un sistema LAMP?

Code: (http://www.ilbello.com/howto/lamp/guida.htm) [Select]
LAMP - Guida installazione
Linux, Apache, MySQL, PHP

Questa pagina è pensata per aiutare tutti coloro che, come me, spesso si trovano ad installare o aggiornare la triade Apache + PHP + mySQL partendo esclusivamente dai sorgenti, in modo tale anche da avere sempre la versione aggiornata di ciascun pacchetto.
Operazioni preliminari

Verifichiamo di aver installato i seguenti pacchetti (dando per scontato che il sistema di compilazione gcc, make funzioni correttamente)

# apt-get install flex bzip2 zlib1g-dev libpng12-dev libfreetype6-dev bison libtool libiconv-hook-dev libjpeg*

Scegliamo una dir di riferimento:

$ mkdir /home/apache
$ cd /home/apache

Scarichiamo i sorgenti dei noti programmi, se siamo in italia presumibilmente potremmo utilizzare le seguenti fonti:

$ wget "ftp://mirror.nohup.it/apache/httpd/httpd-$APACHE_VER.tar.bz2"
$ wget "http://it.php.net/get/php-$PHP_VER.tar.bz2/from/this/mirror"
$ wget ftp://na.mirror.garr.it/mirrors/MySQL/Downloads/MySQL-5.0/mysql-standard-$MYSQL_VER-linux-i686.tar.gz"

solo però dopo aver prima definito queste variabili, all'ultima versione disponibilie... (sperando che i mirror funzionino ancora)

$ export APACHE_VER=2.0.61
$ export PHP_VER=5.2.4
$ export MYSQL_VER=5.0.45

estraiamo il tutto...

$ tar jxf httpd-$APACHE_VER.tar.bz2
$ tar jxf php-$PHP_VER.tar.bz2
$ tar zxf mysql-standard-$MYSQL_VER-linux-i686.tar.gz

Configurazione

A questo punto, tutto è scompattato e bisogna configurare ciascuno dei pacchetti.
# Apache

$ ./configure --prefix=$DIR --enable-modules=all --enable-mods-shared=all
$ make
# make install

# MySQL

# mv mysql-standard-$MYSQL_VER-linux-i686 /usr/local/mysql
# cd /usr/local/mysql
# groupadd mysql; useradd -g mysql mysql;
# scripts/mysql_install_db --user=mysql
# chown -R root . ; chown -R mysql data; chgrp -R mysql .

# PHP (con librerie grafiche GD)

$ ./configure --with-apxs2=/home/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/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 install

A questo punto, se non abbiamo riscontrato errori durante i processi di compilazione, il sistema dovrebbe essere quasi pronto all'uso:

bisogna aggiungere la direttiva per il parsing delle pagine php nell'httpd.conf e aggiungere la pagina index.php alla direttiva DirectoryIndex nel config di apache

$ echo AddType application/x-httpd-php .php >> /home/apache/conf/httpd.conf

Esecuzione

Modificando e personalizzando i restanti parametri nel file di configurazione di apache (consigliato, ma non obbligatorio se abbiam fretta di testare il funzionamento), potremo finalmente lanciare i programmi:

# /usr/local/bin/mysqld_safe --user=mysql &
# /home/apache/bin/apachectl start

e collegarci all'indirizzo ip della macchina.

Nota: l'intento di questa pagina è aiutare l'utente ad installare rapidamente una piattaforma Linux Apache MySQL e PHP.

Questa pagina NON fornisce indicazione alcuna sulle precauzioni di sicurezza, ottimizzazioni delle configurazioni, e comunque non è una guida esaustiva all'installazione e configurazione del sistema opensource Apache MySQL PHP su ogni sistema.

Ultimo aggiornamento: mercoledì 3 ottobre 2007

La presente guida è presa integralmente da ilbello.com



Linuxiani mi date l'ok?


« Last Edit: Wed 06 February 2008, 11:43 by Raid »

Offline MsZ

  • Il Manutentore
  • Militante
  • ******
  • Posts: 913
  • GNUru Meditation
Re: [GUIDA] Installare un sistema LAMP
« Reply #1 on: Tue 22 January 2008, 00:18 »
Quote
/configure --prefix=$DIR --enable-modules=all --enable-mods-shared=all
La variabile d'ambiente DIR non è definita. E' meglio usare
Quote
/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.

Quote
$ 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.gz


Anche l'estrazione nello stesso modo.

Quote
$ 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 install

Configurazione 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 install


Per 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 start


Usando 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... :biggrin:
Informazioni sulla configurazione di un pacchetto si possono sempre ottenere con ./configure --help | less.
« Last Edit: Tue 22 January 2008, 00:21 by MsZ »

Offline Raid

  • Administrator
  • Membro esperto
  • *****
  • Posts: 2200
    • www.darkforge.it
Re: [GUIDA] Installare un sistema LAMP
« Reply #2 on: Tue 22 January 2008, 09:13 »
Sempre eccellente, grazie MsZ, proverò penso questo fine settimana, sposto in Software > Linux

 

Creative Commons License All ValerioCipriani.com contents are published according to Creative Common License, except different instructions. The Staff is not responsible of eventually guide, article and publishing mistakes. All published items are patent free. All trade marks reported are right reserved. Contact us, Info.