Installare Apache, MySQL e PHP in Ubuntu

Premetto che questo articolo è una via di mezzo tra un’installazione completamente automatizzata di tutti e tre i programmi e una corretta configurazione. Esistono tool che installano Apache, MySql e Php [in gergo si dice LAMP che sta per Linux, Apache, MySQL, PHP] in maniera quasi automatica ma non esistendo questi tool per tutte le distribuzioni linux ho optato per un approccio molto più semplice.

Premetto che l’installazione avverrà su una macchina Ubuntu ma i pacchetti qui citati o le configurazioni sono le medesime per tutte le distribuzioni:
Installare APACHE

  1. Avviamo il terminale [o per gli esperti la shell o bash]. Si trova su Applicazioni > Accessori > Terminale.
  2. Copiate questo codice o digitatelo, fa lo stesso:
    sudo apt-get install apache2
    Visto che siamo su un sistema che usa il sudo per scavalcare l’utilizzo dell’utente Root, digitiamo la nostra password.
  3. Apriamo un qualsiasi browser e scriviamo:
    http://localhost/
    Se vi dice che funziona e sta lavorando, complimenti! Installazione riuscita.

Installare il PHP
Supporrò di installare le php5 in quanto la versione 4 non è più in fase di sviluppo.

  1. Sempre da terminale scrivete o incollate:
    sudo apt-get install php5 libapache2-mod-php5
  2. Questa installazione oltre che a installare il php va ha modificare Apache, è quindi necessario riavviare il demone digitando:
    sudo /etc/init.d/apache2 restart
  3. Scriviamo sul terminale
    sudo gedit /var/www/test.php
    e dentro al file scrivamo
    <?php phpinfo(); ?>
    Chiudiamo il file salvandolo.
  4. PHPinfoApriamo un browser e scriviamo nella barra dell’URL
    http://localhost/test.php
    Se via appare una cosa come l’immagine che vi ho fatto allora il php è stato installato correttamente.

Installare il MySQL
L’installazione è quasi conclusa, tuttavia vorrei ricordache che la configurazione singola del php e del mysql non appaggiandosi all’apache sarebbe stata molto più complessa e articolata quindi non vi spaventate per le linee che stanno per seguire.

  1. Scrivere sul terminale questo:
    sudo apt-get install mysql-server
  2. La modifica che sto per suggerirvi qui è opzionale ed è consigliata nel caso abbiate dei computer in rete e voleste provare il vostro webserver anche da altri computer appartenenti alla LAN. Scrivere sul terminale
    gksudo gedit /etc/mysql/my.cnf
    Trovate la riga che dice bind-address = 127.0.0.1 e sostituite 127.0.0.1 col vostro indirizzo ip nella rete. Salvate e chiedete il file.
  3. Per interfacciarsi col mysql è necessario impostare una password. Nel terminale digitate questo:
    mysql -u root
  4. Vi dorvrebbe apparire un mysql>. Ve l’ho scritto in grassetto e vuol dire che al posto di scrivere password dovetre scrivere una password, o la stessa che usate per loggarvi o un’altra ma ve la dovete ricordare perchè vi servirà per autenticarvi tutte le volte che vorrete fare una modifica Scrivere:
    SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘password‘);
  5. Visto che non tutti siete avvezzi ad usare il terminale per gestire i vostri database ecco l’interfaccia grafica che va per la maggiore e che si chiama phpMyAdmin e si installa scrivendo nel terminale:
    sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
  6. Il prossimo punto è fondamentale per un corretto funzionamento. Per far si che il php e il mysql lavorino in maniera sincrona bisogna andare a modificare il php.ini e lo si fa scrivendo da terminale:
    gksudo gedit /etc/php5/apache2/php.ini
    Trovate la riga con scritto ;extension=mysql.so e togliendo il ; dovrebbe diventare
    extension=msql.so
    Salvate il file e chiudetelo.
  7. Riavviamo il demone dell’Apache ridigitando il codice sudo /etc/init.d/apache2 restart

Note finali
Per l’installazione è richiesto un 20minuti, dipende dal tipo di connessione per scaricare i pacchetti.
Questa guida vale per la maggior parte delle distribuzioni. Se siete utenti root o non avete un sitema di controllo sudo allora potete dare il via a tutti i comandi senza la necessità tutte le volte di riscrivere la vostra password.
Essendo questa una guida per UBUNTU il sistema di installazione dei pacchetti usato è l’apt, in altre distribuzioni è diverso potrebbe esserci yum o addirittura nulla, in quel caso regolatevi di conseguenza

Approfondimenti
Password del MySQL persa o sbagliata: vi rimando alla guida ufficiale di Ubuntu.

Update 29/06/2008 per Ubuntu 8.04 crazie all’utente “Carlo”

Bisogna aprire il file apache2.conf
sudo gedit /etc/apache2/apache2.conf

e in fondo aggiungere o modificare se già la voce non fosse presente:
# Enable PHPMyAdmin
Include /etc/phpmyadmin/apache.conf

Riavviare il processo
sudo /etc/init.d/apache2 restart

51 pensieri su “Installare Apache, MySQL e PHP in Ubuntu”

  1. Grazie! Ho seguito le tue indicazioni (trovate tramite google) e sono molto chiare, tutto parrebbe funzionare (almeno, l’installazione mediawiki in locale funziona…)
    Nel php.ini non ho trovato ;extension=mysql.so proprio non c’era. Molto leggiadramente ho saltato il passaggio e funziona lo stesso…

    :-O

  2. Installazione eseguita ottimamante,
    grazie….

    avendo operato sempre su OS windows, sono in difficolta’ con la
    tastiera..
    dove posso trovare delle spiegazioni valide x la corretta funzionalita’

    ogni consiglio e’ ben accetto

    felix

  3. come faccio a modificare modificare la cartella dove metto le pagine php….deve rimanere per forza www /var/www….un’altra domanda… come faccio ad accedere a phpmyadmin?

  4. per @felix e @giuseppe: le domande che avete posto esulano dall’intento del mio articolo. Leggetevi i manuali di riferimento che trovate su internet, e sono sicuro che ne troverete a chili di risposte.

    Nota per @giuseppe: i modi sono tanti, o configuri /etc/apache2/apache2.conf oppure puoi fare dei Virtual Host e allora devi andare su /etc/apache2/sites-available
    Per quanto riguarda il Myadmin è semplicissimo: http://127.0.0.1/phpmyadmin

  5. Anch’io non posso che commentare: ottima guida, chiarissima! Solo una cosa non ha girato per il verso giusto. Quando hai risposto a Giuseppe: >, non mi apre… nulla. Non riesco ad accedere a phpMyAdmin. Ciao,

  6. Ciao anche a me non mi apre nulla ho eseguito tutto alla lettera ovvimante saltando il punto
    extension=mysql.so  perche non si trova nel file php.ini
     
    ora se provo a linkarmi all’indirizzo http://localhost/phpmyadmin  mi da errore 404 come mai??
     
     
     

  7. Allora vuol dire che non hai seguito la guida, quindi declino ogni responsabilità sui malfulzionamenti di cui sei afflitto. Ho detto di creare una file dal nome test.php quindi fino a che non richiami localhost/test.php non c’è modo di vederlo il phpinfo. Cosa analoga per phpmyadmin, che con molta probabilità non è stato installato, controlla quando fai apt-get che non vengano generati errori e segui la guida che funziona.

  8. il tutorial è ottimo, tanto è vero che l’ho ripetuto da capo (dopo aver rimosso tutto quanto era stato installato). Non ottengo errori.
    Richiamando http://localhost/test.php viene mostrata la schermata phpinfo
    Richiamando http://localhost/phpmyadmin NON  viene mostrata la schermata phpinfo
    (nella cartella /var/www/ non compare, tra l’altro, la cartella phpmyadmin)
     

  9. @carlo: phpmyadmin.php ti da errore a ragion vedura! phpmyadmin è una cartella, non pagina e se in /var/www vedi solo questi 2 file vuol dire che non hai installato phpmyadmin. In questa cartella devi avere apache2-default e il collegamento virtuale a phpmyadmin che sta in /usr/share/phpmyadmin
    Quindi non hai seguito le istruzioni alla lettera o non ti sei accorto di qualche errore durante l’installazione.

  10. Grazie per la risposta

    Allora: ho seguito alla lettera le istruzioni, ma non ho cambiato l’indizizzo (punto 2 di installare mysql)

    Poi installando mysql-server (punto 1) mi è stato chiesto di inserire la password, Quindi al punto 3, quando si dice di impostarla, se eseguo il comando ” mysql -u root” viene visualizzato il seguente errore:
    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

  11. @carlo: prova a ragionare, secondo te perchè? Perchè è già stata impostata quanto hai tentato precedentemente di seguire la guida e adesso ti ritrovi con delle configurazioni già impostate. La guida funziona se parti da zero, sei tu che hai un sistema sporco e non puoi incolpare la guida. ;-)

  12. Io non incolpo la guida, resta il fatto che con Ubuntu 8.04 non funziona, non è aggiornata. Ho seguito alla lettera la guida (trovata identica anche in altri siti/blog) in tre diversi pc con ubuntu 8.04. Un computer era stato appena formattato, quindi si può dire che era perfettamente pulito. Ho avuto sempre il medesimo problema, cioè phpmyadmin non compare,

    Non so che fare a questo punto..

    Ah, per quanto riguarda la password, praticamente ora installando mysql la password può essere inserita durante l’installazione. Ma comunque inserendola o meno durante l’installazione il risultato non cambia, phpmyadmin non va bene.

    Hai qualche consiglio?

    Grazie

    - EDIT -

    Ho trovato la soluzione!

    Bisogna aprire il file apache2.conf
    sudo gedit /etc/apache2/apache2.conf

    e in fondo aggiungere:

    # Enable PHPMyAdmin
    Include /etc/phpmyadmin/apache.conf

    e quindi resettare apache2

    sudo /etc/init.d/apache2 restart

    A questo punto si potrebbe aggiornare la guida…

  13. Anche io avevo lo stesso problema a lanciare phpmyadmin. Tutta la guida è perfetta, confermo solo la soluzione di Carlo, l’ho provata e funziona !

    Grazie per l’ottimo articolo, era proprio quello che cercavo per programmare con php in locale..

  14. ho bisogno di mysql per far girare un server un-official di lineage2
    la prima volta che ho eseguito la tua guida tutto e’ andato perfettamente.
    poi per un problema che non riesco ad identificare sono stato costretto a ripartire da zero e…
    ora mysqlserver vuole caricare anche mysqlserver5.0 e non parte piu’ ovvero mi da errore:

    * Starting MySQL database server mysqld [fail]
    invoke-rc.d: initscript mysql, action “start” failed.
    dpkg: errore processando mysql-server-5.0 (–configure):
    il sottoprocesso post-installation script ha restituito un codice di errore 1
    dpkg: problemi con le dipendenze impediscono la configurazione di mysql-server:
    mysql-server dipende da mysql-server-5.0; comunque:
    Il pacchetto mysql-server-5.0 non è ancora configurato.
    dpkg: errore processando mysql-server (–configure):
    problemi con le dipendenze – lasciato non configurato

    ora dato che uso ubuntu da 3 gg e i primi comandi che ho inserito erano i tuoi capisci bene la mia difficolta’.

    sembra che siano stati aggiornati i pacchetti di installazione e anche dopo aver reinstallato il sistema sono nella stessa situazione!!!

    AIUTO. grazie mille

  15. PS ogni aiuto e ben accetto anzi… se qualcuno conosce come procedere all’installazione del server l2j su ubuntu gli sarei immensamente grato se volesse aiutarmi.

  16. salve,sono un ragazzo dello sri lanka.io non so come ringraziarti.quasi da 5 mesi stavo cercando questo configurazione.grazie da vero. voglio intalare drupal ,credo che posso instalare ora. grazie mille……indika rathnayaka.

  17. Salve a tutti
    Ho installato ubuntu server con interfaccia webmin adesso dovrei installare joomla su di esso,ma continuo ad avere problemi con mysql,sapreste indicarmi la procedura esatta da seguire?
    Grazie

  18. @Carlo: ciao e benvenuto ma dire che hai dei problemi è un po vago. Inoltre se hai problemi su una cosa specifica come un CMS fai riferimento ai forum che trattano di Joomla. Io ho scritto per installare un programma, poi se lo vuoi personalizzare devi chiedere a chi ci sbatte la testa tutti i giorni. ;-)

  19. Grazie cmq per la tempestiva risposta.
    Comunque il mio problema è il seguente, non riesco a caricare joomla sul database mysql, ho creato utenti dato le rispettive autorizzazioni e tutto ma niente da fare questo è l’errore che compare:

    Database Error: Unable to connect to the database:Could not connect to MySQL

  20. Ho seguito passo passo è funziona, spero di non aver sbagliato a sostituire l’indirizzo locale con quello di rete su mysql… male che vada ricorreggo. Comunue grazie, è una esaudiente guida! ;)

  21. grazie per la guida! l’ho trovata davvero semplice e funzionale, grazie ancora !!!!

    Buzzi

  22. @Damiano: i motivi possono essere 2

    1. effettivamente potrebbe non esserci quella cartella nell’httpdocs, quindi controlla.
    2. ricordati che UNIX è key sensitive, quindi phpmyadmin non è uguale a phpMyAmin

  23. Ciao David grazie mille per la risposta :)

    Ho aggiunto queste righe come ha descritto poco sopra Carlo:

    # Enable PHPMyAdmin
    Include /etc/phpmyadmin/apache.conf

    E ora funziona ;)

  24. Ciao,
    ho installato tutto seguendo le tue indicazioni e funziona…. anche troppo! Nel senso che nella docroot /var/www ho soltanto i due file test.php e index.html, eppure la URL http://localhost/phpmyadmin/ mi restituisce correttamente la pagina di autenticazione al DB… come puo’ essere?
    Grazie,
    Luca.

  25. Pingback: prova ubuntu LAMP
  26. Ok,diciamo che ci siamo,di fatti da remoto,ovviamente aprendo la porta 80 indirizzata alla macchina,riesco a raggiungere la paggina It works!…come appunto da locale,ma mi chiedevo sè ora voglio inserire delle web page,in quale cartella li devo inserire??…
    Scusate forse per voi sarà banale come domanda,ma non ho proprio capito….
    Da Windows lo facevo,sostituendo la paggina iniziale con quella di index ma su ubuntu non ho proprio capito…
    Chi mi può dare una risposta?
    Grazie in anticipo

  27. Ciao,
    per prima cosa ho installato la versione riga di comando di Ubuntu 10.04 e ho seguito passo passo la tua guida e anche i consigli nei commenti, ma purtroppo non riesco ad accedere a phpmyadmin.
    Ottengo in risposta 404 Not Found.
    Cerco di connettermi tramite browser da un altro pc utilizzado questo url http://192.168.1.127/phpmyadmin

    Mentre invece per MySQL vorrei chiederti una dritta…se cerco di connettermi sempre da un altra macchina con un client per MySQL ottengo
    Could not connect to host ’192.168.1.127′.
    MySQL Error Nr. 1130
    Host ’192.168.1.102′ is not allowed to connect to this MySQL server

    Come posso risolvere?

    Grazie e complimenti

  28. meglio nano o vi che gedit (specialmetne quanto installi su macchine remote)

    non
    sudo gedit /var/www/test.php

    ma
    sudo nano /var/www/test.php
    oppure
    sudo vi /var/www/test.php

  29. Non mi trova il commando sudo gedit /var/www/test.php ho provato a metterelo piu volte ma nn va lo stesso Aiuteemi please…

  30. Salve a tutti!!
    Bèhh!! cosa dire!!
    Questo è davvero un modo giusto organizzato e molto esaustivo di creare una guida.

    GRAZIE!!

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>