Repository 32bit  Forum
Repository 64bit  Wiki

LAMP on Linux Slackware: differenze tra le versioni

Da Slacky.eu.
 
 
(16 revisioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
[[Category:Networking]]
[[Category:Networking]]
In questa guida vedremo come sia possibile in maniera semplice e veloce creare il nostro ambiente LAMP (Linux Apache Mysql PHP) sotto Slackware Linux, in modo da avere a disposizione un ambiente di sviluppo di applicazioni web molto potente e Open Source. Gentilmente concessa da 'Nicola Fioretti': WEB [http://slackmania.altervista.org slackmania.altervista.org] - Email [mailto:nicolafioretti@yahoo.it nicolafioretti@yahoo.it]
+
[[Category:Ufficio e Web]]
  +
In questa guida vedremo come sia possibile in maniera semplice e veloce creare il nostro ambiente LAMP (Linux Apache Mysql PHP) sotto Slackware Linux, in modo da avere a disposizione un ambiente di sviluppo di applicazioni web molto potente e Open Source. Gentilmente concessa dall'autore ''Nicola Fioretti'': [http://linuxpedia.netsons.org linuxpedia.netsons.org] - [mailto:nicolafioretti@yahoo.it nicolafioretti@yahoo.it]
[[immagine:lamp.jpg|center|loghi LAMP]]
[[immagine:lamp.jpg|center|loghi LAMP]]
== 1.0 Introduzione ==
+
== Introduzione ==
LAMP è l'acronimo della una piattaforma di sviluppo web che prende il nome dalle
LAMP è l'acronimo della una piattaforma di sviluppo web che prende il nome dalle
Riga 18: Riga 18:
ottenere un ambiente correttamente configurato e pronto all'uso.
ottenere un ambiente correttamente configurato e pronto all'uso.
=== 1.1 Il webserver Apache ===
+
=== Il webserver Apache ===
Apache è un potente webserver per il protocollo HTTP sviluppato dall'Apache Group,
Apache è un potente webserver per il protocollo HTTP sviluppato dall'Apache Group,
Riga 40: Riga 40:
progetto [http://www.apache.org/ Apache ]
progetto [http://www.apache.org/ Apache ]
=== 1.2 Il linguaggio PHP ===
+
=== Il linguaggio PHP ===
PHP è l'acronimo ricorsivo di '''PHP: Hypertext Preprocessor''' ovvero "PHP:
PHP è l'acronimo ricorsivo di '''PHP: Hypertext Preprocessor''' ovvero "PHP:
Riga 58: Riga 58:
progetto [http://www.php.net/ www.php.net].
progetto [http://www.php.net/ www.php.net].
=== 1.3 Il DataBase Server MySQL ===
+
=== Il DataBase Server MySQL ===
MySql è il DBMS (Data base management system) Open Source più diffuso ed
MySql è il DBMS (Data base management system) Open Source più diffuso ed
Riga 75: Riga 75:
progetto [http://www.mysql.com www.mysql.com]
progetto [http://www.mysql.com www.mysql.com]
== 2.0 Mettiamoci al lavoro... ==
+
== Mettiamoci al lavoro... ==
Dopo aver visto cosa andremo ad installare e aver capito che cosa significa LAMP,
Dopo aver visto cosa andremo ad installare e aver capito che cosa significa LAMP,
Riga 87: Riga 87:
tutto il software necessario direttamente da sorgenti.
tutto il software necessario direttamente da sorgenti.
=== 2.1 Vantaggi e Svantaggi nell'utilizzo dei pacchetti precompilati ===
+
=== Vantaggi e Svantaggi nell'utilizzo dei pacchetti precompilati ===
Il primo vantaggio tangibile nell'utilizzo di pacchetti precompilati è dato dal fatto che
Il primo vantaggio tangibile nell'utilizzo di pacchetti precompilati è dato dal fatto che
Riga 110: Riga 110:
sistema pulito.
sistema pulito.
=== 2.2 Reperire ed Installare i pacchetti ===
+
=== Reperire ed Installare i pacchetti ===
Cominciamo subito con il dire che se avete portato avanti un'installazione di tipo
Cominciamo subito con il dire che se avete portato avanti un'installazione di tipo
Riga 120: Riga 120:
I pacchetti necessari per installare il nostro ambiente LAMP sono i seguenti:
I pacchetti necessari per installare il nostro ambiente LAMP sono i seguenti:
* mysql-4.1.14-i486-1.tgz (DBMS MySQL, SQL-based relational database server)
+
* mysql-5.0.67-i486-1.tgz (DBMS MySQL, SQL-based relational database server)
* apache-1.3.33-i486-1.tgz (The Apache HTTP Server)
+
* httpd-2.2.10-i486-1.tgz (The Apache HTTP Server)
* php-4.4.0-i486-4.tgz (HTML-embedded scripting language)
+
* php-5.2.8-i486-4.tgz (HTML-embedded scripting language)
I pacchetti ufficiali di Slackware Linux vengono di norma suddivisi in categorie, che
I pacchetti ufficiali di Slackware Linux vengono di norma suddivisi in categorie, che
Riga 138: Riga 138:
In alternativa, qualora voleste essere sicuri di avere a vostra disposizione tutto il
In alternativa, qualora voleste essere sicuri di avere a vostra disposizione tutto il
software necessario aggiornato all'ultima sua release potete scaricare i pacchetti
software necessario aggiornato all'ultima sua release potete scaricare i pacchetti
precompilati da [http://linuxpackages.net LinuxPackages.net].
+
precompilati da [http://www.slacky.eu Slacky.eu] o [http://linuxpackages.net LinuxPackages.net].
== 3.0 Funzionamento e Configurazione di Apache ==
+
== Funzionamento e Configurazione di Apache ==
Dopo aver installato l'HTTP Server Apache è bene cominciare a capire come funziona,
Dopo aver installato l'HTTP Server Apache è bene cominciare a capire come funziona,
come utilizzarlo e come configurarlo in base alle nostre esigenze.
come utilizzarlo e come configurarlo in base alle nostre esigenze.
=== 3.1 Gestione del demone di Apache ===
+
=== Gestione del demone di Apache ===
Sotto Slackware, Apache, di default, gira come demone (httpd) in esecuzione continua
Sotto Slackware, Apache, di default, gira come demone (httpd) in esecuzione continua
Riga 152: Riga 152:
privilegi di root.
privilegi di root.
==== 3.1.1 Avvio/Arresto e Riavvio tramite apachectl ====
+
==== Avvio/Arresto e Riavvio tramite apachectl ====
Per gestire il demone httpd di apache viene spesso utilizzato lo script apachectl che
Per gestire il demone httpd di apache viene spesso utilizzato lo script apachectl che
Riga 172: Riga 172:
; Verifica della configurazione di Apache : # apachectl configtest
; Verifica della configurazione di Apache : # apachectl configtest
==== 3.1.2 Avvio/Arresto e Riavvio tramite rc.httpd ====
+
==== Avvio/Arresto e Riavvio tramite rc.httpd ====
Slackware Linux consente di gestire il demone di Apache tramite un apposito script
Slackware Linux consente di gestire il demone di Apache tramite un apposito script
Riga 181: Riga 181:
; Riavvio di Apache : # /etc/rc.d/rc.httpd restart
; Riavvio di Apache : # /etc/rc.d/rc.httpd restart
=== 3.2 Testare il funzionamento di Apache ===
+
=== Testare il funzionamento di Apache ===
Dopo l'installazione e la gestione del demone di Apache (httpd) vediamo come testare
Dopo l'installazione e la gestione del demone di Apache (httpd) vediamo come testare
Riga 192: Riga 192:
<pre>http://localhost</pre>
<pre>http://localhost</pre>
  +
[[immagine:Web-server-on.jpg|thumbnail|pagina di benvenuto Apache]]
A questo punto se tutto funziona dovrebbe essere visualizzata la schermata di
A questo punto se tutto funziona dovrebbe essere visualizzata la schermata di
benvenuto del server Apache (vedi figura sotto) che ci comunica il suo corretto
benvenuto del server Apache (vedi figura sotto) che ci comunica il suo corretto
funzionamento.
funzionamento.
[[immagine:Apache.jpg|thumbnail|pagina di benvenuto Apache]]
 
=== 3.3 Avvio automatico al boot di Apache ===
+
=== Avvio automatico al boot di Apache ===
Slackware utilizza un sistema di avvio in stile ''BSD'' che risulta diverso dallo stile
Slackware utilizza un sistema di avvio in stile ''BSD'' che risulta diverso dallo stile
Riga 229: Riga 229:
avvio del sistema operativo.
avvio del sistema operativo.
== 4.0 Configurazione di Apache ==
+
== Configurazione di Apache ==
La configurazione dell'HTTP Server Apache è un compito abbastanza delicato e
La configurazione dell'HTTP Server Apache è un compito abbastanza delicato e
Riga 238: Riga 238:
questo ambiente in ambito casalingo e comunque non professionale ci limiteremo a
questo ambiente in ambito casalingo e comunque non professionale ci limiteremo a
vedere una configurazione funzionale e a grandi linee di questo potentissimo Server. I
vedere una configurazione funzionale e a grandi linee di questo potentissimo Server. I
file di configurazione di Apache si trovano all'interno della directory ''/etc/apache/''.
+
file di configurazione di Apache si trovano all'interno della directory ''/etc/httpd/''.
All'interno di questa directory è presente il file ''httpd.conf'', che al suo interno presenta
All'interno di questa directory è presente il file ''httpd.conf'', che al suo interno presenta
Riga 248: Riga 248:
Editiamo il file httpd.conf, come utente root, lanciando ad esempio il comando:
Editiamo il file httpd.conf, come utente root, lanciando ad esempio il comando:
<code>#mcedit /etc/apache/httpd.conf</code>
+
<code>#mcedit /etc/httpd/httpd.conf</code>
=== 4.1 DirectoryIndex ===
+
=== DirectoryIndex ===
Questa direttiva specifica i nomi dei file che Apache considera come home page
Questa direttiva specifica i nomi dei file che Apache considera come home page
Riga 258: Riga 258:
trovata.
trovata.
Ad esempio quando digitiamo '''http://slackmania.altervista.org''' Apache, ricerca
+
Ad esempio quando digitiamo http://linuxpedia.netsons.org Apache, ricerca
all'interno di questa directory se sono presenti file '''index.html''' o '''index.php''' e li carica come home page del sito.
all'interno di questa directory se sono presenti file '''index.html''' o '''index.php''' e li carica come home page del sito.
Riga 278: Riga 278:
</pre>
</pre>
Detto questo modifichiamo il nostro file /etc/apache/httpd.conf come segue:
+
Detto questo modifichiamo il nostro file /etc/httpd/httpd.conf come segue:
<pre>
<pre>
Riga 293: Riga 293:
'''index.html''' e a seguire '''index.htm'''.
'''index.html''' e a seguire '''index.htm'''.
=== 4.2 DocumentRoot ===
+
=== DocumentRoot ===
Questa direttiva di httpd.conf specifica la directory entro la quale sono contenuti i file
Questa direttiva di httpd.conf specifica la directory entro la quale sono contenuti i file
Riga 302: Riga 302:
Ad esempio possiamo settarla in questo modo:
Ad esempio possiamo settarla in questo modo:
<pre>DocumentRoot=''/home/flower/web''</pre>
+
<pre>DocumentRoot="/home/flower/web"</pre>
=== 4.3 Abilitare il supporto di Apache per PHP ===
+
=== Abilitare il supporto di Apache per PHP ===
Visto che il nostro scopo è quello di creare un ambiente LAMP, si rende necessario
Visto che il nostro scopo è quello di creare un ambiente LAMP, si rende necessario
Riga 315: Riga 315:
<pre>
<pre>
# ==> mod_php configuration settings <==
+
# Uncomment the following line to enable PHP:
# #
 
PACKAGES REQUIRED: openssl-solibs (
 
A
 
series) and/or
 
openssl (N series),
 
# mysql (AP series), gmp (L series), and apache (N
 
series)
 
#
#
#Include /etc/apache/mod_php.conf
+
#Include /etc/httpd/mod_php.conf
</pre>
</pre>
=== 4.4 Tool Grafici per la configurazione di Apache ===
 
La configurazione di Apache può avvenire nel metodo sopraesposto e quindi editando
 
manualmente il file di configurazione di apache (/etc/apache/httpd.conf) oppure è
 
possibile utilizzare dei tool grafici appositamente creati come '''Comanche'''
 
([http://comanche.org comanche.org]).
 
Comanche è un tool grafico rilasciato sotto licenza GPL sviluppato '''ad-hoc''' per l'HTTP
+
== Configurazione di MySQL ==
Server Apache. Comanche consente la configurazione di Apache tramite una comoda
 
GUI che va direttamente a modificare il file httpd.conf.
 
[[immagine:Comanche.jpg|thumbnail|schermata Comanche]]
 
L'installazione di questo tool è davvero semplice e consiste nello scaricare ed estrarre
 
il pacchetto .tar.gz che contiene il binario e tutto il necessario al suo funzionamento.
 
 
 
== 5.0 Configurazione di MySQL ==
 
Dopo aver installato il DBMS MySQL è necessario procedere con la sua configurazione
Dopo aver installato il DBMS MySQL è necessario procedere con la sua configurazione
Riga 359: Riga 354:
<code>#chown -R mysql:mysql /var/lib/mysql</code>
<code>#chown -R mysql:mysql /var/lib/mysql</code>
  +
  +
Nota:
  +
La stessa identica cosa si può fare con un unico comando
  +
# mysql_install_db --user=mysql
  +
Adesso siamo finalmente pronti ad avviare il server. Per avviarlo è sufficiente lanciare
Adesso siamo finalmente pronti ad avviare il server. Per avviarlo è sufficiente lanciare
Riga 376: Riga 376:
D'ora in avanti possiamo avviare manualmente MySQL con il comando:
D'ora in avanti possiamo avviare manualmente MySQL con il comando:
<code>#mysql_safe –-user=mysql &</code>
+
<code>#mysqld_safe –-user=mysql &</code>
Una volta avviato il DBMS MySQL è possibile accedere alla console di MySQL digitando
Una volta avviato il DBMS MySQL è possibile accedere alla console di MySQL digitando
Riga 389: Riga 389:
utilizzare per lavorare con il nostro DBMS.
utilizzare per lavorare con il nostro DBMS.
=== 5.1 Avvio automatico al boot di MySQL ===
+
=== Avvio automatico al boot di MySQL ===
Come abbiamo già visto per Apache, Slackware utilizza un sistema di avvio in stile
Come abbiamo già visto per Apache, Slackware utilizza un sistema di avvio in stile
Riga 410: Riga 410:
quanto visto per Apache.
quanto visto per Apache.
=== 5.2 Tool Grafici per la gestione di MySQL ===
+
=== Tool Grafici per la gestione di MySQL ===
In questo paragrafo vedremo come sia possibile interagire e gestire in maniera
In questo paragrafo vedremo come sia possibile interagire e gestire in maniera
Riga 432: Riga 432:
e tanto altro ancora...
e tanto altro ancora...
==== 5.2.1 Installazione di phpMyAdmin ====
+
==== Installazione di phpMyAdmin ====
La prima cosa da fare è procurarsi phpMyAdmin scaricandolo dal sito ufficiale del
La prima cosa da fare è procurarsi phpMyAdmin scaricandolo dal sito ufficiale del
progetto [http://www.phpmyadmin.net www.phpmyadmin.net](Attualmente l'ultima release di questo tool è la 2.6.4).
+
progetto [http://www.phpmyadmin.net www.phpmyadmin.net] (Attualmente l'ultima release di questo tool è la 3.1.1).
A questo punto decomprimete l'archivio .tar.gz lanciando semplicemente il comando
A questo punto decomprimete l'archivio .tar.gz lanciando semplicemente il comando
<code>#tar zxvf phpMyAdmin-2.6.4-pl1.tar.gz</code>
+
<code>#tar jxvf phpMyAdmin-3.1.1-all-languages.tar.bz2</code>
Una volta estratto il file otterrete una directory chiamata phpMyAdmin-2.6.4 contente
+
Una volta estratto il file otterrete una directory chiamata phpMyAdmin-3.1.1-all-languages contente
tutti i file che compongono questo tool, tra cui il file di configurazione chiamato
tutti i file che compongono questo tool, tra cui il file di configurazione chiamato
'''config.inc.php''' al quale apporteremo qualche modifica per settare alcune opzioni in
'''config.inc.php''' al quale apporteremo qualche modifica per settare alcune opzioni in
Riga 448: Riga 448:
Editiamo il file config.inc.php e ricerchiamo la sezione '''Your phpMyAdmin URL''' (che
Editiamo il file config.inc.php e ricerchiamo la sezione '''Your phpMyAdmin URL''' (che
possiamo vedere sotto) la quale ci consentirà di settare il nome della directory
possiamo vedere sotto) la quale ci consentirà di settare il nome della directory
all'interno della quale abbiamo installato il phpMyAdmin (ad esempio
+
all'interno della quale abbiamo installato il phpMyAdmin.
[http://slackmania.altervista.org/phpMyAdmin/ slackmania.altervista.org/phpMyAdmin]).
 
<pre>
<pre>
Riga 495: Riga 495:
copiare la directory sul nostro server. Al termine dell'upload dei file possiamo
copiare la directory sul nostro server. Al termine dell'upload dei file possiamo
accedere al nostro phpMyAdmin puntando al file index.php contenuto
accedere al nostro phpMyAdmin puntando al file index.php contenuto
all'interno della directory appena creata sul server (ad es:
+
all'interno della directory appena creata sul server.
[http://slackmania.altervista.org/phpMyAdmin/index.php slackmania.altervista.org/phpMyAdmin/index.php]).
 
[[immagine:Phpmyadmin.jpg|thumbnail|schermata phpMyAdmin]]
[[immagine:Phpmyadmin.jpg|thumbnail|schermata phpMyAdmin]]
Se tutto è andato a buon fine dovremmo visualizzare la finestra principale di
Se tutto è andato a buon fine dovremmo visualizzare la finestra principale di
Riga 501: Riga 501:
  +
<br style="clear:both;"/>
  +
Autore: ''Nicola Fioretti''
----
----
[[immagine:Same-rights.jpg|center|schermata phpMyAdmin]]
[[immagine:Same-rights.jpg|center|schermata phpMyAdmin]]
Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione - Condividi
+
<small>Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione - Condividi
allo stesso modo. Per leggere una copia della licenza visita il sito web
allo stesso modo. Per leggere una copia della licenza visita il sito web
[http://creativecommons.org/licenses/by-sa/2.0/it/deed.it creativecommons.org/licenses/by-sa/2.0/it/deed.it] o spedisci una lettera a Creative
+
http://creativecommons.org/licenses/by-sa/2.0/it/deed.it o spedisci una lettera a Creative
Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.</small>

Versione attuale delle 12:15, 8 gen 2009

In questa guida vedremo come sia possibile in maniera semplice e veloce creare il nostro ambiente LAMP (Linux Apache Mysql PHP) sotto Slackware Linux, in modo da avere a disposizione un ambiente di sviluppo di applicazioni web molto potente e Open Source. Gentilmente concessa dall'autore Nicola Fioretti: linuxpedia.netsons.org - nicolafioretti@yahoo.it

loghi LAMP

Indice

[modifica] Introduzione

LAMP è l'acronimo della una piattaforma di sviluppo web che prende il nome dalle iniziali dei componenti software con cui viene realizzata, ovvero GNU/Linux, Apache, MySQL e PHP/Perl/Python. La combinazione più nota ed utilizzata risulta comunque quella che prevede GNU/Linux Apache MySQL e PHP che vedremo come realizzare in questa breve guida. Nello specifico ci occuperemo di analizzare l'installazione della nostra infrastruttura LAMP sotto Slackware Linux.

Tengo a precisare che in questa guida non affronteremo l'argomento della configurazione ottimale in termini di sicurezza dei server Apache e MySQL ma piuttosto verranno fornite all'utente sviluppatore tutte le informazioni necessarie per ottenere un ambiente correttamente configurato e pronto all'uso.

[modifica] Il webserver Apache

Apache è un potente webserver per il protocollo HTTP sviluppato dall'Apache Group, nato come rimpiazzo del webserver httpd sviluppato dalla NCSA (National Center for Supercomputing Applications) del quale, la stessa NCSA aveva cessato lo sviluppo nel 1994. Apache eredita le caratteristiche dal suo predecessore httpd e introduce correzioni e migliorie rispetto a quest'ultimo.

Apache risulta un progetto davvero di ottimo livello ed offre caratteristiche davvero interessanti come ad esempio:

  • Apache è un software Open Source
  • Apache è multipiattaforma
  • Apache è sviluppato secondo le più aggiornate specifiche per i servizi HTTP

Attualmente Apache risulta il webserver più utilizzato al mondo e secondo le statistiche offerte da netcraft risulta che ad oggi (settembre 2005) più del 69% dei webserver del pianeta si affidano a questo webserver.

Per maggiori informazioni e documentazione vi invito a consultare la Home Page del progetto Apache

[modifica] Il linguaggio PHP

PHP è l'acronimo ricorsivo di PHP: Hypertext Preprocessor ovvero "PHP: preprocessore ipertestuale". I nostri script infatti non sono elaborati dal client (browser) ma vengono eseguiti direttamente sul server il quale invia ai client pagine HTML. Questa tipologia di linguaggi comunemente viene definita server-side (lato server). Il punto di forza di questo linguaggio è rappresentato dal fatto che è un linguaggio estremamente semplice da imparare ma che offre possibilità avanzate per il programmatore esperto.

Una delle caratteristiche più importanti ed apprezzate di PHP è la possibilità di interazione tra vari tipi di database, tra qui il DBMS MySQL con il quale va davvero a braccetto. Grazie a PHP creare pagine collegate a dei DB risulta un'operazione davvero elementare.

Per maggiori informazioni e documentazione vi invito a consultare la Home Page del progetto www.php.net.

[modifica] Il DataBase Server MySQL

MySql è il DBMS (Data base management system) Open Source più diffuso ed utilizzato al mondo. La sigla SQL presente all'interno del nome sta a indicare che si tratta di un DBMS in grado di interpretare le istruzioni del linguaggio SQL. MySQL può essere considerato come un database relazionale che consente la conservazione dei dati in tabelle separate anziché in un unica grande entità.

Questa sua caratteristica consente di raggiungere una buona flessibilità e velocità di accesso ai dati ed una maggior modellazione delle basi dati. Il sistema si presenta come una struttura con architettura di tipo client/server. Il server SQL utilizza una architettura multi-thread ed offre una completa raccolta di API utilizzabili tramite i client offerti all'interno della disribuzione MySQL stessa, sia da applicazioni esterne appositamente scritte. Per maggiori informazioni e documentazione vi invito a consultare la Home Page del progetto www.mysql.com

[modifica] Mettiamoci al lavoro...

Dopo aver visto cosa andremo ad installare e aver capito che cosa significa LAMP, cominciamo ad analizzare l'installazione del nostro ambiente LAMP.

Trattandosi di software Open Source possiamo procedere in due modalità: installazione da sorgenti e installazione da pacchetti precompilati.

In questa guida vedremo come procedere con l'installazione da pacchetti precompilati che risulta più snella e semplice rispetto alla prima, ma nessuno vieta di installare tutto il software necessario direttamente da sorgenti.

[modifica] Vantaggi e Svantaggi nell'utilizzo dei pacchetti precompilati

Il primo vantaggio tangibile nell'utilizzo di pacchetti precompilati è dato dal fatto che l'utente salta completamente il processo di compilazione evitandosi alcune noie, specie se l'utente è alle prime armi. Un altro vantaggio è dato dal tempo di installazione che risulta nettamente inferiore.

Questa tipologia di installazione, comincerete a pensare, sembra che sia in grado di offrire una soluzione a tutti i nostri problemi, è semplice, veloce... Cosa volere di più? ...In effetti l'installazione da pacchetti precompilati nella stragrande maggioranza dei casi è davvero un ottimo compromesso, ma se andiamo ad indagare nel profondo scopriremo che soffre di alcune limitazioni.

L'uso di pacchetti precompilati infatti non consente di ottenere un’installazione personalizzata, ad esempio se avessimo particolari esigenze come ad esempio quella di utilizzare una particolare estensione potremmo non trovarla all’interno dei pacchetti precompilati. In secondo luogo non è possibile selezionare percorsi di installazione specifici.

Nel complesso però, possiamo affermare che per un utilizzo normale l’installazione da pacchetti compilati è la scelta migliore, in quanto contribuisce anche a mantenere un sistema pulito.

[modifica] Reperire ed Installare i pacchetti

Cominciamo subito con il dire che se avete portato avanti un'installazione di tipo FULL di Slackware avete già installato sul vostro sistema tutto il software necessario per cominciare a lavorare con il vostro ambiente LAMP che dovrà solo essere configurato in alcuni suoi aspetti, in caso contrario dovrete procurarvi ed installare i pacchetti necessari che sono comunque presenti all'interno dei CD di Slackware.

I pacchetti necessari per installare il nostro ambiente LAMP sono i seguenti:

  • mysql-5.0.67-i486-1.tgz (DBMS MySQL, SQL-based relational database server)
  • httpd-2.2.10-i486-1.tgz (The Apache HTTP Server)
  • php-5.2.8-i486-4.tgz (HTML-embedded scripting language)

I pacchetti ufficiali di Slackware Linux vengono di norma suddivisi in categorie, che corrispondono ciascuna ad una sottodirectory dei cdrom di installazione o dei mirror da cui scaricare i programmi. Per Apache e PHP la categoria è indicata dalla lettera n, che sta per net (applicativi di rete), mentre MySQL si trova all'interno della categoria ap (application).

Ricercate quindi questi pacchetti all'interno dei CD di Slakware oppure sui mirror della distruzione e procedete con la loro installazione come segue:

#installpkg nome-pacchetto.tgz

Dopo l'installazione dei tre pacchetti avrete a disposizione tutto il necessario. In alternativa, qualora voleste essere sicuri di avere a vostra disposizione tutto il software necessario aggiornato all'ultima sua release potete scaricare i pacchetti precompilati da Slacky.eu o LinuxPackages.net.

[modifica] Funzionamento e Configurazione di Apache

Dopo aver installato l'HTTP Server Apache è bene cominciare a capire come funziona, come utilizzarlo e come configurarlo in base alle nostre esigenze.

[modifica] Gestione del demone di Apache

Sotto Slackware, Apache, di default, gira come demone (httpd) in esecuzione continua in background (Standalone). Se nel file di configurazione la listening port è la 80 (o comunque una porta sotto la 1024), per avviare il demone è necessario avere i privilegi di root.

[modifica] Avvio/Arresto e Riavvio tramite apachectl

Per gestire il demone httpd di apache viene spesso utilizzato lo script apachectl che tramite tre semplici parametri passati direttamente ad esso consentono l'avvio e l'arresto dell'HTTP Server in maniera molto semplice. Lo script apachectl viene utilizzato anche per verificare la correttezza della configurazione del server ed è presente in ogni distribuzione in quanto distribuito assieme ai sorgenti di Apache.

Avvio di Apache 
#apachectl start
Arresto di Apache 
#apachectl stop
Riavvio di Apache 
#apachectl restart

Come abbiamo detto lo script apachectl può controllare anche la configurazione di Apache. L'opzione configtest esegue un test di sintassi della configurazione. ConfigTest non controlla dal punto di vista semantico la configurazione di Apache, che deve essere fatta manualmente consultando i file di LOG che riporteranno eventuali errori.

Verifica della configurazione di Apache 
# apachectl configtest

[modifica] Avvio/Arresto e Riavvio tramite rc.httpd

Slackware Linux consente di gestire il demone di Apache tramite un apposito script che risiede all'interno della directory /etc/rc.d, chiamato rc.httpd. Questo script consento l'avvio, l'arresto e il riavvio di Apache in questo modo:

Avvio di Apache 
#/etc/rc.d/rc.httpd start
Arresto di Apache 
# /etc/rc.d/rc.httpd stop
Riavvio di Apache 
# /etc/rc.d/rc.httpd restart

[modifica] Testare il funzionamento di Apache

Dopo l'installazione e la gestione del demone di Apache (httpd) vediamo come testare il corretto funzionamento di Apache.

Innanzitutto è necessario avviare il demone httpd in uno dei modi sopra descritti, se l'avvio del demone avviene in maniera corretta apriamo il nostro browser preferito e nella barra degli indirizzi digitiamo il seguente URL:

http://localhost
pagina di benvenuto Apache

A questo punto se tutto funziona dovrebbe essere visualizzata la schermata di benvenuto del server Apache (vedi figura sotto) che ci comunica il suo corretto funzionamento.

[modifica] Avvio automatico al boot di Apache

Slackware utilizza un sistema di avvio in stile BSD che risulta diverso dallo stile SySV utilizzato dalla stragrande maggioranza della altre distribuzioni GNU/Linux. Per attivare o disattivare l'avvio del demone di Apache in fase di boot è sufficiente impostare o meno il bit relativo all'esecuzione dello script /etc/rc.d/rc.httpd. L'avvio automatico di apache in fase di boot avviene lanciando il comando:

#chmod +x /etc/rc.d/rc.httpd

mentre se volessimo disattivare l'avvio automatico di questo demone all'avvio del sistema basta digitare:

#chmod -x /etc/rc.d/rc.httpd

Lo stesso risultato può essere ottenuto utilizzando pkgtool. Avviare pkgtool, lanciando con privilegi di root il comando

#pkgtool

Spostarsi sul menu Setup e premere INVIO. A questo punto si aprirà la schermata relativa a tutti i settaggi che è possibile configurare con pkgtool. A noi interessa agire sull'avvio dei servizi in fase di avvio del sistema operativo e quindi portiamoci sul menu Services e premiamo la barra spaziatrice seguita da INVIO.

A questo punto si aprirà la seguente schermata:

startup-services

Selezioniamo quindi la voce rc.httpd e premiamo la barra spaziatrice seguita da INVIO. Da questo momento in poi Apache verrà avviato automaticamente in fase di avvio del sistema operativo.

[modifica] Configurazione di Apache

La configurazione dell'HTTP Server Apache è un compito abbastanza delicato e richiede conoscenze approfondite in ambito networking, in programmazione web e in ambito sistemistico.

Visto lo scopo della guida che è quello di introdurre l'argomento LAMP e configurare questo ambiente in ambito casalingo e comunque non professionale ci limiteremo a vedere una configurazione funzionale e a grandi linee di questo potentissimo Server. I file di configurazione di Apache si trovano all'interno della directory /etc/httpd/.

All'interno di questa directory è presente il file httpd.conf, che al suo interno presenta una miriade di opzioni possibili da settare. Visto il numero davvero consistente di opzioni disponibili è consigliato fare riferimento al manuale ufficiale di Apache, che offre una documentazione completa e puntuale su ogni parametro. Di tutte le opzioni disponibili noi andremo a modificarne ed a analizzarne solo le principali.

Editiamo il file httpd.conf, come utente root, lanciando ad esempio il comando:

#mcedit /etc/httpd/httpd.conf

[modifica] DirectoryIndex

Questa direttiva specifica i nomi dei file che Apache considera come home page all'interno di una directory. Sostanzialmente quando viene fatto un GET che non indica il nome di un file specifico ma solo della directory Apache cerca al suo interno i file specificati con questa direttiva, nell'ordine indicato e visualizza la eventuale pagina trovata.

Ad esempio quando digitiamo http://linuxpedia.netsons.org Apache, ricerca all'interno di questa directory se sono presenti file index.html o index.php e li carica come home page del sito.

Nel nostro caso, visto che stiamo creando il nostro ambiente LAMP è di fondamentale importanza indicare tra i DirectoryIndex [tt]index.php[/tt], ovvero la home page del sito creato in PHP appunto.

E' possibile elencare più di un nome di file come nell'esempio qui sotto. Questi nomi hanno priorità progressiva: nel caso indicato qui sotto Apache mostra index.html se esiste, altrimenti index.php.

# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
# 
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>

Detto questo modifichiamo il nostro file /etc/httpd/httpd.conf come segue:

# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
<IfModule mod_dir.c>
DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>

In questo modo apache visualizzerà come home page la pagina chiamata index.php se esiste, altrimenti cercherà la pagina di nome index.php3 poi eventualmente la pagina index.html e a seguire index.htm.

[modifica] DocumentRoot

Questa direttiva di httpd.conf specifica la directory entro la quale sono contenuti i file (pagine html, php ecc.) che contengono il nostro sito, ovvero tutti i file che saranno inviati al browser qualora li richieda. Di default questa directory è /var/www/htdocs, ma possiamo settarla a nostro piacimento ed in base alle nostre necessità.

Ad esempio possiamo settarla in questo modo:

DocumentRoot="/home/flower/web"

[modifica] Abilitare il supporto di Apache per PHP

Visto che il nostro scopo è quello di creare un ambiente LAMP, si rende necessario abilitare il supporto del linguaggio PHP per il Server HTTP Apache, in modo che questo possa interpretare gli script server-side che andremmo a creare. Per abilitare suddetto modulo portatevi alla sezione mod_php configuration settings presente all'interno del file httpd.conf e decommentate la riga relativa all'include. (Dal punto di vista pratico si tratta di togliere semplicemente il carattere # presente all'inizio della riga relativa all'include).

# Uncomment the following line to enable PHP:
#
#Include /etc/httpd/mod_php.conf


[modifica] Configurazione di MySQL

Dopo aver installato il DBMS MySQL è necessario procedere con la sua configurazione prima di poterlo utilizzare. Innanzitutto in base all'hardware a nostra disposizione e alle dimensioni presunte che avrà il database scegliamo in file di configurazione adatto tra quelli proposti che sono:

/etc/my.huge.cnf
/etc/my.large.cnf
/etc/my.medium.cnf
/etc/my.small.cnf

Una volta individuato quello che fa al caso nostro dobbiamo rinominarlo in /etc/my.cnf (Per maggiori informazioni sui file di configurazione proposti potete visitare il sito ufficiale www.mysql.com). Indicativamente diciamo che il file /etc/my.medium.cnf è una scelta abbastanza buona nella maggior parte dei casi, quindi procediamo lanciando il comando:

# cp /etc/my-medium.cnf /etc/my.cnf

A questo punto possiamo procedere con l'installazione dei databse mysql e test, lanciando il comando:

#mysql_install_db

Ultimo passo per vedere il nostro DBMS funzionante è quello di impostare correttamente i permessi sulla directory /var/lib/mysql lanciando il seguente comando:

#chown -R mysql:mysql /var/lib/mysql

Nota: La stessa identica cosa si può fare con un unico comando

# mysql_install_db --user=mysql


Adesso siamo finalmente pronti ad avviare il server. Per avviarlo è sufficiente lanciare il seguente comando:

#mysqld_safe &

Impostiamo ora la password per l'utente root (ovviamente stiamo parlando dell'utente root di MySQL che nulla ha a che vedere con l'utente root del sistema) lanciando il comando:

# mysqladmin -u root password 'tua_password'

La password che intendete impostare va inserita al posto di 'tua_password' e scritta tra virgolette come nell'esempio sopra riportato. Dopo aver impostato la password per l'utente root, per avere un minimo di sicurezza in più, killiamo tutti i processi mysql. D'ora in avanti possiamo avviare manualmente MySQL con il comando:

#mysqld_safe –-user=mysql &

Una volta avviato il DBMS MySQL è possibile accedere alla console di MySQL digitando il comando:

#mysql -p

che avvierà la parte client del DBMS con privilegi di root. Tramite la console possiamo creare, modificare, eliminare DB, tabelle ecc...

Per ovvi motivi di sicurezza è opportuno creare un utente con altri privilegi da utilizzare per lavorare con il nostro DBMS.

[modifica] Avvio automatico al boot di MySQL

Come abbiamo già visto per Apache, Slackware utilizza un sistema di avvio in stile

  • BSD che consente di attivare o disattivare l'avvio di un demone in fase di boot

semplicemente abilitando i permessi di esecuzione sullo script relativo al demone che ci interessa avviare.

Per quanto riguarda MySQL dobbiamo comportarci come segue:

L'avvio automatico di MySQL in fase di boot avviene lanciando il comando:

#chmod +x /etc/rc.d/rc.mysqld

mentre se volessimo disattivare l'avvio automatico di questo demone all'avvio del sistema basta digitare:

#chmod -x /etc/rc.d/rc.mysqld

Lo stesso risultato può essere ottenuto utilizzando pkgtool in maniera analoga a quanto visto per Apache.

[modifica] Tool Grafici per la gestione di MySQL

In questo paragrafo vedremo come sia possibile interagire e gestire in maniera semplice e veloce il nostro DBS MySQL con phpMyAdmin.

Come suggerisce il nome stesso, phpMyAdmin è completamente implementato in PHP e quindi richiede la presenza di Apache e PHP per il suo corretto funzionamento. Grazie a questo tool Open-Source è possibile gestire un intero server MySQL in tutti i suoi aspetti o un singolo DB.

Le operazioni che possiamo intraprendere con phpMyAdmin sono molteplici, tra cui ricordiamo:

  • Creazione/Cancellazione di un Database
  • Creazione/Modifica/Cancellazioendi una tabella
  • Eseguire qualsiasi istruzione SQL
  • Creare/Leggere dump di tabelle
  • Amministrare gli utenti
  • Amministrare Server multipli

e tanto altro ancora...

[modifica] Installazione di phpMyAdmin

La prima cosa da fare è procurarsi phpMyAdmin scaricandolo dal sito ufficiale del progetto www.phpmyadmin.net (Attualmente l'ultima release di questo tool è la 3.1.1).

A questo punto decomprimete l'archivio .tar.gz lanciando semplicemente il comando

#tar jxvf phpMyAdmin-3.1.1-all-languages.tar.bz2

Una volta estratto il file otterrete una directory chiamata phpMyAdmin-3.1.1-all-languages contente tutti i file che compongono questo tool, tra cui il file di configurazione chiamato config.inc.php al quale apporteremo qualche modifica per settare alcune opzioni in base alle nostre esigenze.

Editiamo il file config.inc.php e ricerchiamo la sezione Your phpMyAdmin URL (che possiamo vedere sotto) la quale ci consentirà di settare il nome della directory all'interno della quale abbiamo installato il phpMyAdmin.


* Your phpMyAdmin URL.
*
* Complete the variable below with the full url ie
* http://www.your_web.net/path_to_your_phpMyAdmin_directory/
*
* It must contain characters that are valid for a URL, and the path is
* case sensitive on some Web servers, for example Unix-based servers.
*
* In most cases you can leave this variable empty, as the correct value
* will be detected automatically. However, we recommend that you do
* test to see that the auto-detection code works in your system. A good
* test is to browse a table, then edit a row and save it. There will be
* an error message if phpMyAdmin cannot auto-detect the correct value.
*/
$cfg['PmaAbsoluteUri'] = ''';

Dopo aver settato questo parametro portiamoci alla sezione Server(s) configuration (vedi tabella sotto riportata) e procediamo inserendo le informazioni relative all'host ed all'utente per l'accesso a MySQL. In particolare andremo a modificare le seguenti impostazioni:

• $cfg['Servers'][$i]['host'] = 'localhost';
• $cfg['Servers'][$i]['auth_type'] = 'config';
• $cfg['Servers'][$i]['user'] = 'root';
• $cfg['Servers'][$i]['password'] = ''';


/**
* Server(s) configuration
*/
$i = 0;
//The $cfg['Servers'] array starts with $cfg['Servers'][1]. Do not use $cfg['Servers'][0].
// You can disable a server config entry by setting host to '''.
$i++;
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
....

Dopo aver modificato come descritto il file config.inc.php possiamo procedere a copiare la directory sul nostro server. Al termine dell'upload dei file possiamo accedere al nostro phpMyAdmin puntando al file index.php contenuto all'interno della directory appena creata sul server.

schermata phpMyAdmin

Se tutto è andato a buon fine dovremmo visualizzare la finestra principale di phpMyAdmin.



Autore: Nicola Fioretti


schermata phpMyAdmin

Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione - Condividi allo stesso modo. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/2.0/it/deed.it o spedisci una lettera a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Strumenti personali
Namespace

Varianti