UIE Meeting

giovedì 20 giugno ore 20,30 - Casa delle Associazioni

Home Guide Software Apache2, MySQL, PHP. Ubuntu quick guide

Dom

05

Dic

2010

Apache2, MySQL, PHP. Ubuntu quick guide
Guide e Tutorial - Software
Scritto da Davide Pedrelli   
LAMP

C'è fermento in UIELinux.
L'influenza da "mi faccio un sito web", oramai conclamata, mi impone la realizzazione di una guida passo passo all'installazione di un web server Apache2 in locale con anche MySQL e PHP.

Cosa si intende per web server in locale

Un web server (nel nostro caso Apache2) è quel software che implementa la visualizzazione e l'interazione con le pagine di un sito web pubblicato su internet. E' facile intuire come Apache2, per poter svolgere la sua funzione e raggiungere tutti gli utenti della rete, debba necessariamente essere installato sulla macchina che ospita il sito web pubblico.
Realizzare un web server locale, sul nostro PC, ha l'obiettivo di portare Apache2 vicino a noi. Per farlo lavorare su siti web realizzati al semplice scopo di test e direttamente raggiungibili solo da noi. In locale per l'appunto.

Apache2 + MySQL + PHP

Questo è quanto ci serve per mettere in piedi il nostro ambiente server casalingo. Installiamo il tutto con un rapido comando da terminale
sudo apt-get install apache2 mysql-server phpmyadmin
Durante l'installazione compariranno alcune finestre di dialogo. Le risposte che darete sono fondamentali, quindi occhio.
- Verrà chiesto di scegliere una password di amministrazione per MySQL. Sceglietene una e continuate.
- Per la configurazione di phpmyadmin dovrete spuntare la voce Apache2 e nella seguente maschera rispondere Sì.
- Ricordate la password inserita poco fa'? Bene, serve reinserirla qui.
L'installazione del web server è completata.

Verifichiamo che tutto funzioni

Per capire se Apache2 è funzionante, basta aprire il browser e puntarlo all'indirizzo http://localhost. Se compare una pagina simile a questa, significa che Apache2 è attivo e funzionante.
Verifichiamo anche il funzionamento dell'interfaccia web phpmyadmin, grazie alla quale potremo gestire i database di MySQL, puntando il browser all'indirizzo http://localhost/phpmyadmin. Dovrebbe comparire una pagina simile a questa.

Addomestichiamo Apache2

Per default, il server Apache2 viene eseguito con i privilegi di un particolare utente chiamato www-data. Tale utente è anche, ovviamente, proprietario della cartella predefinita in cui risiedono i file necessari alla visualizzazione del futuro sito demo che andremo a realizzare.
La conseguenza di tutto ciò è che l'utente col quale stiamo lavorando (il nostro utente) non ha la possibilità di scrivere dati nel percorso predefinito di Apache2 (/var/www/).

Soluzione 1, non propriamente ortodossa ma funzionante:
Apriamo un terminale e modifichiamo i permessi di /var/www/ in modo che sia consentito a tutti di scriverci dentro
sudo chmod -R 777 /var/www
Controindicazione: ogni nuova modifica manuale in /var/www/ imporrà la riesecuzione del comando qui sopra riportato.

Soluzione 2, più ortodossa e a lungo termine più produttiva:
Obbligheremo Apache2 a partire con i privilegi del nostro utente e al contempo dirotteremo il percorso /var/www/ nella nostra home personale, risolvendo ogni potenziale inconveniente dovuto ai permessi di scrittura.
Apriamo un terminale e editiamo il file apache2.conf
sudo gedit /etc/apache2/apache2.conf
individuiamo le due righe seguenti
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
e sostituiamole con queste
#User ${APACHE_RUN_USER}
#Group ${APACHE_RUN_GROUP}
User TUO_NOME_UTENTE
Group TUO_NOME_UTENTE
sostituire TUO_NOME_UTENTE col proprio nome utente personale e salvare il file apache2.conf.
Riavviamo Apache2 col seguente comando
sudo /etc/init.d/apache2 restart
NOTA: tutto questo sarà fatto una sola volta per tutte. Ai successivi riavvii, Apache 2 farà tutto in totale autonomia.

Ora ci occupiamo del percorso /var/www/
Apriamo un nuovo terminale e diamo uno dopo l'altro i seguenti comandi
mkdir www
questo creerà la cartella www nella nostra home personale. Entriamoci dentro con
cd www
poi copiamo il contenuto di /var/www nella nuova www
cp /var/www/index.html index.html
cancelliamo il vecchio percorso
sudo rm -R /var/www
e al suo posto creiamo un link simbolico al nuovo percorso dati di Apache2
sudo ln -s /home/TUO_NOME_UTENTE/www /var/www
Finito. Ora la cartella predefinita www di Apache2 è nella nostra home.

Creare un database MySQL

Apriamo il browser alla pagina http://localhost/phpmyadmin,inseriamo il nome utente "root" e la password scelta durante l'installazione di MySQL.
Basta seguire i semplici passi indicati qui in foto e il database per Joomla sarà creato in un batter d'occhio.

NOTA:
Volendo essere estremamente pratici e dato che il tutto avviene in locale, potremmo dire di aver già completato la creazione del database. Accederemo ad esso come utente MySQL "root" e con password di root.
Assodato però che qualche lettore più attento potrebbe storcere il naso, direi che è il caso di mostrare anche la procedura ortodossa di creazione di un database e relativo utente + password con privilegi di accesso NON di amministratore (dato che nei fatti non servono). Questa ulteriore procedura va a salvaguardia della sicurezza ed è uno standard de facto nelle installazioni su web server pubblici connessi a internet.

La sequenza di immagini qua sotto mostra come procedere alla creazione di un database MySQL + utente con privilegi limitati al solo uso.

screenshot21screenshot21bscreenshot22
screenshot22bscreenshot23screenshot23b
screenshot24screenshot24bscreenshot25

Se la pazienza è stata vostra alleata, ora sapete come muovere i primi passi in Apache2 e MySQL. Tutto il resto vien da sè.

Vedi anche

di Davide Pedrelli

F.lux, non solo aumenta o diminuisce la luminosità del monitor in base all'ora del giorno e della notte. Ma gestisce anche la tonalità d ...

di Davide Pedrelli

Nei paesi normali, i gestori di connettività mobile offrono almeno una tariffa flat forfettaria. Cioè ti pago un tot al mese e navigo qu ...

di Davide Pedrelli

Premessa. Alcune attività saranno eseguite facendo uso del terminale a riga di comando. E' risaputo e provato scentificamente che i ...

Commenti (4)add comment

luigi damico said:

...


saluti Davide. Ho cercato di seguire il tuo tutorial per avere una piattaforma più accessibile per la gestione dei siti web.
Qualche settimana fa ero riuscito a configurarlo con l'utente www-data ma, come dici sopra, c'era ancora qualche limitazione.
Solo che adesso non mi ritrovo più nè il sito joomla che avevo iniziato nè (la cosa grave) il phpmyadmin.
Tra l'altro, il sistema mi dice che il programma è installato però non riesco a trovarlo. Quando vado a lanciarlo con il comando http://localhost/phpmyadmin mi dà errore in quanto non riesce a trovarlo sul server.
Ho sbagliato io seguendo il percorso che hai indicato perchè magari qualcosa è andata in conflitto o c'è qualcosa che non va nelle istruzioni?
15 dicembre 2010

jempis said:

...
ottima guida, era proprio quello che cercavo smilies/smiley.gif (mi ero rotto di usare lampp, troppo ingestibile)
15 dicembre 2010

Davide Pedrelli said:

...
@luigi damico
La guida è pensata per una installazione da zero di tutto l'ambiente. Infatti non a caso parto dal setup di apache2 mysql-server e phpmyadmin.

Se, come mi pare di capire, avevi già l'ambiente installato e ci lavoravi, probabilmente con il comando sudo rm -R /var/www hai "piallato" tutti i siti cha già avevi in cantiere. Per questo non ti ritrovi più il sito in Joomla.

Riguardo phpmyadmin la cosa mi lascia perplesso. I passi che propongo non interferiscono affatto con lui.
Puoi comunque scaricare l'ultima versione da qui http://www.phpmyadmin.net/home_page/downloads.php estrarre il tarball, rimominare la cartella estratta come meglio credi e copiarla nel tuo percorso www.
Ti basterà puntare il browser a quella cartella per accedere a phpmyadmin.
15 dicembre 2010

luigi damico said:

...
Risolto. Ho fatto come hai suggerito; ho scaricato l'ultima versione di phpMyAdmin, l'ho scompattata e quindi l'ho copiata nella cartella www. Adesso funziona. A dire il vero, all'interno di phpMyAdmin riesco a vedere i database che avevo prima. Francamente non c'ho capito molto ma l'importante è aver ritrovato il funzionamento del server web. Grazie.
20 dicembre 2010

Lascia la tua opinione
Accorcia box | Allunga box
I filtri ti rompono? Iscriviti


busy
 

UIELinux, oltre il Rubicone (anche oltre i soliti luoghi comuni)
Joomla! è un software libero rilasciato sotto licenza GNU/GPL
UIElinux All UIELinux Blog UIELinux Guide UIELinux Progetti