Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "ApachePHPMySQL"
Differenze tra le versioni 1 e 28 (in 27 versioni)
Versione 1 del 31/12/2005 09.21.10
Dimensione: 3463
Autore: P3E2
Commento:
Versione 28 del 07/04/2007 14.06.23
Dimensione: 8849
Commento: presto potrebbe essere sostituita da un altro link
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
#format wiki
#LANGUAGE it
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents(1)]]||
Linea 2: Linea 7:
----
Linea 4: Linea 8:
L'accoppiata '''PHP e MySQL''' è una delle più potenti per la '''gestione dati''' e la creazione di '''pagine dinamiche''' per il web. Di seguito vedremo come installarli su un web server quale '''Apache''' e come configurarli. Questo ''how-to'' è frutto della mia esperienza personale nell'installazione di '''LAMP''' su '''Ubuntu''', testata anche su diverse macchine; tuttavia è possibile che in alcuni casi si possa incorrere in errori di vario genere. Nell' ''how-to'' dedicherò alcune righe alle [:ApachePHPMySQL#errori:problematiche] più comuni e alle relative soluzioni, ma vi invito a postare sul [http://forum.ubuntu-it.org/ forum] nel caso doveste andare in contro ad imprevisti durante l'installazione o la configurazione dei vari applicativi.
Linea 6: Linea 10:
= Apache =
----
Linea 9: Linea 11:
Per l'installazione di Apache potete tranquillamente fare riferimento all'altra guida presente nel wiki http://wiki.ubuntu-it.org/WebServer . Nel nostro caso però basta solamente '''installare il web server e configurarlo per il php''', procediamo all'installazione tramite apt-get ma potete benissimo usare Synaptic. [[Immagine(Icone/Piccole/warning.png,,left)]] [[BR]]'''Attenzione:''' Questa guida vuole aiutare l'utente nell'installazione di una piattaforma di sviluppo '''LAMP''', anzi '''UAMP''' ('''U'''buntu, '''A'''pache, '''P'''HP, '''M'''ySQL) funzionante, e non nella configurazione di un ''webserver'' !
Linea 11: Linea 13:
Dal terminale:
Linea 13: Linea 14:
{{{sudo apt-get install apache2}}} = Installazione =
Linea 15: Linea 16:
Adesso che '''apache è installato''' dobbiamo '''abilitare il php''' dal file di configurazione che si trova in '''/etc/apache2/apache2.conf'''. Quindi attraverso un qualsiasi editor di testo, '''per comodità utilizziao gedit''', ma voi potete usare un qualsiasi altro editor come: nano, vi, vim... Il procedimento di installazione diventa molto semplice se non si ha intenzione di compilare i pacchetti autonomamente (questo metodo non verrà trattato nell' ''how-to''), ma si decide di sfruttare quelli messi a disposizione nei [:Repository:repository] ufficiali. Personalmente ho installato solo una volta '''LAMP''' compilando da me i pacchetti ed è una scelta che sconsiglio a chi non è pratico. Come scritto sopra, la procedura è molto semplice e consiste nell'installazione di alcuni pacchetti essenziali che si può effettuare tramite ''apt-get'' o con il proprio gestore di pacchetti (''Synaptic'', ''adept'').
Linea 17: Linea 18:
{{{sudo gedit /etc/apache2/apache2.conf}}} I pacchetti in questione sono: ''apache2-mpm-prefork mysql-server libapache2-mod-php5 php5-mysql''
 
 * ''apache2-mpm-prefork'': il webserver
Linea 19: Linea 22:
Andiamo a modificare il file '''eliminando i due asterischi''' che precedono le seguenti righe di testo:  * ''mysql-server'':pacchetto riguardante mysql
Linea 21: Linea 24:
''#AddType application/x-httpd-php .php''[[BR]]
''#AddType application/x-httpd-php-source .phps''
 * ''libapache2-mod-php5'': modulo PHP per Apache
Linea 24: Linea 26:
Quindi in:  * ''php5-mysql'': estensione MySQL per PHP
Linea 26: Linea 28:
''AddType application/x-httpd-php .php''[[BR]]
''AddType application/x-httpd-php-source .phps''
Se non si riceve alcun errore di download o di configurazione passare direttamente alla [:ApachePHPMySQL#configurazione:configurazione]. Verificare però che ogni componente sia stato installato correttamente.
Linea 29: Linea 30:
Abbiamo terminato con le modifiche, possiamo procedere all'installazione del php. == Apache ==
Linea 31: Linea 32:
= PHP =
----
Apache dovrebbe già essere in esecuzione, per sicurezza riavviarlo:
{{{
sudo /etc/init.d/apache2 restart
}}}
Linea 34: Linea 37:
Per la guida ero in dubbio se utilizzare la versione 4 o 5 del php, personalmente io preferisco la 5 perchè porta diverse novità che aiutano nella '''programmazione OOP ad oggetti'''. '''Per comodità lascerò una x al posto della versione, ma voi, ovviamente, sostituitela con il numero della versione scelta.'''
Installiamo i pacchetti necessari, negli esempi utilizzerò apt-get ma potete utilizzare anche Synaptic, quindi dal terminale:
Potrebbe verificarsi il seguente errore:
{{{
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
}}}
Non preoccuparsi, verrà risolto più avanti nel paragrafo [:ApachePHPMySQL#errori:errori]
Linea 37: Linea 43:
{{{sudo apt-get install phpx libapache2-mod-phpx}}} Controllare che in [http://localhost/apache2-default questo link] venga visualizzata la scritta «'''It Works!'''». Se fosse così, considerarsi soddisfatti e proseguire con la guida.
Linea 39: Linea 45:
Terminata l'installazione facciamo '''ripartire Apache''' attraverso questo comando: Ecco alcuni comandi principali di Apache, notare che vanno eseguiti sempre da '''root''' quindi preceduti sempre da [:Sudo:sudo]:
||<tablestyle="width: 50%" >'''/etc/init.d/apache2 start'''|| Avvia il demone ''Apache''||
||'''/etc/init.d/apache2 restart'''|| Riavvia ''Apache''||
||'''/etc/init.d/apache2 stop'''|| Ferma ''Apache''||
== PHP ==
Linea 41: Linea 51:
{{{sudo /etc/init.d/apache2 restart}}} Per verificare il corretto funzionamento di '''PHP''' creare un file di prova nella nella propria '''Document``Root''', che di Default è `/var/www`.
Linea 43: Linea 53:
'''Adesso dovreste essere in grado di vedere, tramite il vostro browser, le pagine in php'''. Per sicurezza facciamo il primo test e creiamo dal terminale una nuova pagina nella directory del web server: Con l'[:EditorDiTesto:editor] di testo preferito e con i permessi [:Sudo:sudo] creare il file `/var/www/info.php` e inserirci all'interno la seguente riga:
{{{
<?php phpinfo(); ?>
}}}
Salvare il file e recarsi all'indirizzo http://localhost/info.php .
Linea 45: Linea 59:
{{{sudo gedit /var/www/testphp.php}}} Dovrebbe essere visualizzata la classica pagina di informazioni di '''PHP'''. Se così non fosse assicurarsi di aver eseguito correttamente ogni step dell' ''how-to'', o controllare il paragrafo sugli [:ApachePHPMySQL#errori:errori].
== MySQL ==
MySQL viene installato con un ''utente fittizio root'' e un ''campo password vuoto''. Per verificare che funzioni digitare in un terminale il comando:
{{{
sudo mysql
}}}
La risposta dovrebbe essere:
{{{
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.22-Debian_0ubuntu6.06-log
Linea 47: Linea 70:
Scriviamo questa riga e salviamo il file: Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Linea 49: Linea 72:
''<?php phpinfo(); ?>'' mysql>
}}}
Linea 51: Linea 75:
Ricordo che la '''directory del web server è /var/www/''', e che per vederne il contenuto ci basterà aprire il nostro browser e mettere come indirizzo '''localhost''' http://localhost/ . Adesso dovrebbe uscirvi una pagina con scritto '''"Index of/"''' e di seguito un '''link che va proprio alla pagina che avete appena creato'''. Cliccate sul link e dovrebbe apparirvi una nuova pagina, di sfondo viola, all'interno della quale saranno presenti tutte le informazioni riguardo la vostra versione del php. In caso contrario provate a rieseguire la procedura e controllate se avete fatto errori o avete saltato qualche passaggio. In tal caso l'installazione di '''LAMP''' è stata eseguita con successo.
[[Anchor(configurazione)]]
= Configurazione =
Linea 53: Linea 79:
= MySQL =
----
La configurazione di un ambiente '''LAMP''' è un argomento molto ampio, questa guida si limiterà a trattare le domande più frequenti.
Linea 56: Linea 81:
'''Anche per il database MySQL la procedura è semplice''' e sta nell'installare un paio di pacchetti e in seguito riavviare Apache. Andiamo a vedere nello specifico: == Apache ==
Linea 58: Linea 83:
{{{sudo apt-get install libapache2-mod-auth-mysql phpx-mysql}}} Per qualsiasi modifica sul ''webserver'' di Apache i file di configurazione li trovate nella directory `/etc/apache2`.
[[Anchor(documentroot)]]
Potrebbe essere utile cambiare la Document``Root. Per far ciò editare alcuni file di configurazione del ''webserver'': `/etc/apache2/sites-available/default` e `/etc/apache2/apache2.conf`
Linea 60: Linea 87:
Riavviamo Apache: Decommentare le seguenti righe e/o sostituire al posto dell'asterisco il proprio nome utente:
Linea 62: Linea 89:
{{{sudo /etc/init.d/apache2 restart}}} {{{
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>
}}}

Creare nella propria '''Home''' la directory `public_html` e riavviare '''Apache''':
{{{
mkdir ~/public_html && sudo /etc/init.d/apache2 restart
}}}

Inserire dentro la cartella il file di prova php e ricontrollare tutto su http://localhost/ .

== PHP ==

Per qualsiasi modifica al '''PHP''' il file di configurazione ''php.ini'' si trova nella cartella `/etc/php5/apache2`.

Potrebbe essere utile installare librerie supplementari di '''PHP'''. Riconoscerle tra i pacchetti dei [:Repository:repository] ufficiali è molto semplice: i loro nomi cominciano per ''php5''. Un esempio lo è la libreria per le immagini ''gd'':
{{{
sudp apt-get install php5-gd
}}}

== MySQL ==

Per la gestione del database si può sempre lavorare da terminale, ma il consiglio è di installare ''phpmyadmin'', un'interfaccia grafica per una più facile gestione.

Potrebbe essere utile cambiare la password a '''MySQL''', in tal caso digitare da terminale
{{{
sudo mysql
}}}
E successivamente digitare:
{{{
mysqladmin -u root password passwordpersonale
}}}
Con la propria ''passwordpersonale''.
[[Anchor(errori)]]
= Errori e problematiche comuni =
Questa sezione della guida vuole raccogliere tutti gli errori e le problematiche comuni, come da titolo, con le relative soluzioni. Chiunque può aggiungere errori ulteriori in cui è incorso durante l'installazione di '''LAMP''' inserendo anche l'eventuale la soluzione agli stessi.

== Errore all'avvio di Apache: "Could not determine... ==
Se durante l'avvio di '''Apache''' si verificasse il seguente errore:
{{{
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
}}}
Modificare il file di configurazione di '''Apache''' con l'[:EditorDiTesto:editor] di testo preferito e con i permessi [:Sudo:sudo] il file `/etc/apache2/apache2.conf` aggiungendo o modificando, a seconda se è presente o non, questa riga:
{{{
ServerName localhost
}}}

== Apache configurato ma non si riescono a visualizzare i file in /var/www ==
Un altro problema molto comune è legato ''all'impossibilità di vedere i file'' perché la Document``Root di default è situata in una cartella senza permessi in lettura e scrittura: `/var/www/`.

Una soluzione potrebbe essere quella di abilitare i permessi tramite il comando [:PermessiFile:chmod] oppure cambiare la Document``Root come è stato spiegato in [:ApachePHPMySQL#documentroot:questo] paragrafo. Se si vuole cambiare i permessi della cartella, digitare in un terminale il comando:
{{{
sudo chmod u=rwx /var/www
}}}

== Problemi di porte tra Apache e Skype ==

Sembra che di default '''Apache''' utilizzi la stessa porta di '''Skype''' per cui si potrebbe andare in contro ad alcuni errori. Questo problema si risolve editando con l'[:EditorDiTesto:editor] di testo preferito e con i permessi [:Sudo:sudo] il file `/etc/apache2/ports.conf` e modificando il numero della porta usata da '''Apache'''.
= Ulteriori Risorse =

 * [http://download.nuxwin.com/tutoriels/ubuntu/dapper-drake/lamp-x.2.5.5.pdf Guida in pdf] - (fr)

 * [http://www.ubuntuforums.org/showthread.php?t=223410 Come installare XAMPP] - (en)

 * Per qualsiasi problema esiste [http://www.google.it Google]


##= Commenti =
##
##Ciao, sul wiki esistono già le guide per apache, php e mysql, verifica che questa pagina non ripeta le stesse cose:
##
## * Guida apache e php => WebServer
## * Guida mysql => WebServer e ServerDatabase
##
##BlackDesert
##
##Questa guida non serve a realizzare un webserver!!! Infatti serve solo a creare l'ambiente di sviluppo LAMP per i webmaster. Non si installa nemmeno apache2 per intero...
##
##P3E2
Linea 65: Linea 173:

La guida non è ancora terminata ma al suo interno c'è quanto basta per l'installazione dei tre componenti. (P3E2)
CategoryServer CategoryDaCancellare

BR

Introduzione

Questo how-to è frutto della mia esperienza personale nell'installazione di LAMP su Ubuntu, testata anche su diverse macchine; tuttavia è possibile che in alcuni casi si possa incorrere in errori di vario genere. Nell' how-to dedicherò alcune righe alle [:ApachePHPMySQL#errori:problematiche] più comuni e alle relative soluzioni, ma vi invito a postare sul [http://forum.ubuntu-it.org/ forum] nel caso doveste andare in contro ad imprevisti durante l'installazione o la configurazione dei vari applicativi.

Immagine(Icone/Piccole/warning.png,,left) BRAttenzione: Questa guida vuole aiutare l'utente nell'installazione di una piattaforma di sviluppo LAMP, anzi UAMP (Ubuntu, Apache, PHP, MySQL) funzionante, e non nella configurazione di un webserver !

Installazione

Il procedimento di installazione diventa molto semplice se non si ha intenzione di compilare i pacchetti autonomamente (questo metodo non verrà trattato nell' how-to), ma si decide di sfruttare quelli messi a disposizione nei [:Repository:repository] ufficiali. Personalmente ho installato solo una volta LAMP compilando da me i pacchetti ed è una scelta che sconsiglio a chi non è pratico. Come scritto sopra, la procedura è molto semplice e consiste nell'installazione di alcuni pacchetti essenziali che si può effettuare tramite apt-get o con il proprio gestore di pacchetti (Synaptic, adept).

I pacchetti in questione sono: apache2-mpm-prefork mysql-server libapache2-mod-php5 php5-mysql

  • apache2-mpm-prefork: il webserver

  • mysql-server:pacchetto riguardante mysql

  • libapache2-mod-php5: modulo PHP per Apache

  • php5-mysql: estensione MySQL per PHP

Se non si riceve alcun errore di download o di configurazione passare direttamente alla [:ApachePHPMySQL#configurazione:configurazione]. Verificare però che ogni componente sia stato installato correttamente.

Apache

Apache dovrebbe già essere in esecuzione, per sicurezza riavviarlo:

sudo /etc/init.d/apache2 restart

Potrebbe verificarsi il seguente errore:

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Non preoccuparsi, verrà risolto più avanti nel paragrafo [:ApachePHPMySQL#errori:errori]

Controllare che in [http://localhost/apache2-default questo link] venga visualizzata la scritta «It Works!». Se fosse così, considerarsi soddisfatti e proseguire con la guida.

Ecco alcuni comandi principali di Apache, notare che vanno eseguiti sempre da root quindi preceduti sempre da [:Sudo:sudo]:

/etc/init.d/apache2 start

Avvia il demone Apache

/etc/init.d/apache2 restart

Riavvia Apache

/etc/init.d/apache2 stop

Ferma Apache

PHP

Per verificare il corretto funzionamento di PHP creare un file di prova nella nella propria DocumentRoot, che di Default è /var/www.

Con l'[:EditorDiTesto:editor] di testo preferito e con i permessi [:Sudo:sudo] creare il file /var/www/info.php e inserirci all'interno la seguente riga:

<?php phpinfo(); ?>

Salvare il file e recarsi all'indirizzo http://localhost/info.php .

Dovrebbe essere visualizzata la classica pagina di informazioni di PHP. Se così non fosse assicurarsi di aver eseguito correttamente ogni step dell' how-to, o controllare il paragrafo sugli [:ApachePHPMySQL#errori:errori].

MySQL

MySQL viene installato con un utente fittizio root e un campo password vuoto. Per verificare che funzioni digitare in un terminale il comando:

sudo mysql

La risposta dovrebbe essere:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.22-Debian_0ubuntu6.06-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

In tal caso l'installazione di LAMP è stata eseguita con successo. Anchor(configurazione)

Configurazione

La configurazione di un ambiente LAMP è un argomento molto ampio, questa guida si limiterà a trattare le domande più frequenti.

Apache

Per qualsiasi modifica sul webserver di Apache i file di configurazione li trovate nella directory /etc/apache2. Anchor(documentroot) Potrebbe essere utile cambiare la DocumentRoot. Per far ciò editare alcuni file di configurazione del webserver: /etc/apache2/sites-available/default e /etc/apache2/apache2.conf

Decommentare le seguenti righe e/o sostituire al posto dell'asterisco il proprio nome utente:

#<Directory /home/*/public_html>
#       AllowOverride FileInfo AuthConfig Limit
#       Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>

Creare nella propria Home la directory public_html e riavviare Apache:

mkdir ~/public_html && sudo /etc/init.d/apache2 restart

Inserire dentro la cartella il file di prova php e ricontrollare tutto su http://localhost/ .

PHP

Per qualsiasi modifica al PHP il file di configurazione php.ini si trova nella cartella /etc/php5/apache2.

Potrebbe essere utile installare librerie supplementari di PHP. Riconoscerle tra i pacchetti dei [:Repository:repository] ufficiali è molto semplice: i loro nomi cominciano per php5. Un esempio lo è la libreria per le immagini gd:

sudp apt-get install php5-gd

MySQL

Per la gestione del database si può sempre lavorare da terminale, ma il consiglio è di installare phpmyadmin, un'interfaccia grafica per una più facile gestione.

Potrebbe essere utile cambiare la password a MySQL, in tal caso digitare da terminale

sudo mysql

E successivamente digitare:

mysqladmin -u root password passwordpersonale

Con la propria passwordpersonale. Anchor(errori)

Errori e problematiche comuni

Questa sezione della guida vuole raccogliere tutti gli errori e le problematiche comuni, come da titolo, con le relative soluzioni. Chiunque può aggiungere errori ulteriori in cui è incorso durante l'installazione di LAMP inserendo anche l'eventuale la soluzione agli stessi.

Errore all'avvio di Apache: "Could not determine...

Se durante l'avvio di Apache si verificasse il seguente errore:

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Modificare il file di configurazione di Apache con l'[:EditorDiTesto:editor] di testo preferito e con i permessi [:Sudo:sudo] il file /etc/apache2/apache2.conf aggiungendo o modificando, a seconda se è presente o non, questa riga:

ServerName localhost

Apache configurato ma non si riescono a visualizzare i file in /var/www

Un altro problema molto comune è legato all'impossibilità di vedere i file perché la DocumentRoot di default è situata in una cartella senza permessi in lettura e scrittura: /var/www/.

Una soluzione potrebbe essere quella di abilitare i permessi tramite il comando [:PermessiFile:chmod] oppure cambiare la DocumentRoot come è stato spiegato in [:ApachePHPMySQL#documentroot:questo] paragrafo. Se si vuole cambiare i permessi della cartella, digitare in un terminale il comando:

sudo chmod u=rwx /var/www

Problemi di porte tra Apache e Skype

Sembra che di default Apache utilizzi la stessa porta di Skype per cui si potrebbe andare in contro ad alcuni errori. Questo problema si risolve editando con l'[:EditorDiTesto:editor] di testo preferito e con i permessi [:Sudo:sudo] il file /etc/apache2/ports.conf e modificando il numero della porta usata da Apache.

Ulteriori Risorse


CategoryServer CategoryDaCancellare