Author Archives: Alessio

Installazione di un server LAMP locale su Ubuntu 11.10

Documentazione 4 Replies

Dato che a noi del Roma2LUG piace un sacco condividere la conoscenza anche basilare su Linux, abbiamo deciso che qualcuno doveva scrivere una guida da tenere sempre con noi in caso di Alzheimer su come configurare un server LAMP locale in Ubuntu.

La scelta è ricaduta sul povero Andrea (non vi diremo mai quale dei due, così vi confonderete per sempre) il quale si è visto cadere sul capo il gravoso onere. In realtà l’ha detto lui, che l’avrebbe fatto, quindi chi è causa del suo mal pianga se stesso.

Bando a tutte le chiacchiere, siccome il nostro Andrea ha deciso di fare le cose per bene, ci ha girato un file LaTeX meraviglioso che poi ho deciso di tradurre e postare qui sotto. Enjoy!

La guida è disponibile per il download in un bellissimo PDF, ed è distribuita sotto licenza Creative Commons – Attribution – Sharealike.

1. Introduzione

In questa breve guida vedremo come installare e configurare su Ubuntu 11.10 un server web composto da:

  • Apache (web server)
  • MySQL (database)
  • PHP (linguaggio di scripting)

Lo scopo della guida è quello di realizzare un server per lo sviluppo ed il testing in locale di siti web sviluppati in PHP.

ATTENZIONE: tutte le configurazioni sono pensate per un utilizzo come sistema di sviluppo! NON sono quindi adatte per un server da utilizzare effettivamente per fornire servizi web!

Tutti i comandi verranno eseguiti tramite il terminale, è quindi necessario conoscerne almeno le basi.

Ok, cominciamo aprendo proprio il terminale!

2. Installazione di Apache

Installiamo il server web Apache 2 con il comando

sudo apt-get install apache2

Verrà richiesta l’installazione di alcuni software aggiuntivi. Alla richiesta “Continuare?” confermiamo con il tasto Invio.

Verifichiamo se l’installazione è andata a buon fine aprendo un browser e digitando nella barra degli indirizzi

http://localhost/

Dovrebbe comparire una pagina con il messaggio “It works!”.

3. Configurazione di Apache

Vediamo ora come configurare i parametri più comuni di Apache.

3.1. Configurazione dell’utente

Per prima cosa andiamo a modificare l’utente che esegue il server. Benchè questo non sia assolutamente necessario, rende più semplice il testing delle pagine PHP. Andremo inoltre a limitare l’accesso al server dal solo computer locale per ovvie ragioni di sicurezza, trattandosi, come già accennato, di un server per lo sviluppo.

Apriamo il file /etc/apache2/envvars con un editor di testo (qui uso l’editor grafico Gedit, ma si può sostituire con qualunque altro editor, come Nano o Vim). sudo gedit /etc/apache2/envvars (come tutti i comandi eseguiti con sudo verrà richiesta la password dell’utente per continuare)

Cerchiamo le righe che iniziano con “export APACHE_RUN_USER” e “export APACHE_RUN_GROUP” e sostituiamo il valore dopo il simbolo di uguaglianza con il nostro username. Ad esempio, se il nome utente è “pippo” modificheremo le due righe così:

export APACHE_RUN_USER=pippo
export APACHE_RUN_GROUP=pippo

Salviamo e chiudiamo il file, lasciandone inalterato il resto.

3.2. Limitazione dell’accesso al solo computer locale

Apriamo /etc/apache2/ports.conf:

sudo gedit /etc/apache2/ports.conf

e sostituiamo

Listen 80

con

Listen 127.0.0.1:80

3.3. Document Root

Andiamo ora a cambiare la document root del server. Questa directory contiene i file che vengono serviti da Apache agli utenti del web. Di default viene usata /var/www, ma per comodità sposteremo questa cartella nella nostra home directory. Creiamo la cartella www all’interno della nostra home:

mkdir /home/pippo/www

(sostituendo ovviamente pippo con il nostro nome utente) e apriamo un altro file di configurazione:

sudo gedit /etc/apache2/sites-enabled/000-default

In questo file cerchiamo la riga

DocumentRoot /var/www

e sostituiamola con:

DocumentRoot /home/pippo/www

(sostituendo ovviamente pippo con il nostro nome utente).

Poi cerchiamo <Directory /var/www > e sostituiamo con:

<Directory /home/pippo/www>

(cambiando sempre pippo con il nostro nome utente). Salviamo e chiudiamo il file.

3.4. Attivazione delle modifiche

Possiamo ora riavviare Apache per rendere effettive le modifiche effettuate:

sudo /etc/init.d/apache2 restart

Riapriamo con un browser la pagina http://localhost/. Ora si dovrebbe vedere il messaggio “Index of /”.

4. Installazione di PHP e MySQL

Installiamo il tutto con il comando

sudo apt-get install php5 libapache2-mod-php5 php5-gd php5-imagick php5-mcrypt php5-mysql php5-sqlite mysql-server

Come al solito confermiamo con Invio l’installazione dei pacchetti aggiuntivi richiesti. Durante l’installazione ci verrà inoltre richiesta una password per l’utente root di MySQL. Terminiamo l’operazione riavviando nuovamente Apache:

sudo /etc/init.d/apache2 restart

5. Installazione di PHPMyAdmin

Questo software serve per gestire tramite una interfaccia grafica il database MySQL. Installiamolo con:

sudo apt-get install phpmyadmin

Durante l’installazione verrà richiesto il webserver su cui installare il programma. Scegliamo apache2 premendo Spazio e poi Invio. Rispondiamo inoltre “Sì” alla richiesta di “Configurare il database di phpmyadmin con dbconfig-common”.

PHPMyAdmin è ora accessibile puntando il browser all’indirizzo

http://localhost/phpmyadmin/

I parametri di accesso sono:

  • Nome utente: root
  • Password: la password scelta per MySQL

6. Conclusione

Ora è tutto pronto. Possiamo cominciare quindi ad inserire i file PHP del nostro sito web all’interno della cartella www nella nostra home directory. Per fare una prova si può creare il file info.php con il seguente contenuto:

 

Puntando il browser all’indirizzo http://localhost/info.php vedremo la pagina appena creata!

7. Altre informazioni utili

7.1. Avviare e fermare i server

Per avviare e fermare Apache e MySQL si possono usare i seguenti comandi. Per l’avvio:

sudo /etc/init.d/apache2 start
sudo start mysql

Per l’arresto:

sudo /etc/init.d/apache2 stop
sudo stop mysql

7.2. Evitare l’avvio automatico dei server all’avvio del computer

Dato che probabilmente non useremo Apache e MySQL ogni volta che avviamo il computer, possiamo impedirne l’avvio automatico in questo modo. Per disabilitare l’avvio automatico di Apache usiamo il comando:

sudo update-rc.d -f apache2 remove

Per MySQL, invece, apriamo il file /etc/init/mysql.conf:

sudo gedit /etc/init/mysql.conf

ed inseriamo il carattere “#” all’inizio delle righe

start on (net-device-up
and local-filesystems
and runlevel [2345])

che diventeranno quindi:

#start on (net-device-up
# and local-filesystems
# and runlevel [2345])

Costruire la community: presente e futuro del LUG

Life logs 5 Replies

Probabilmente verrò linciato da qualche fondamentalista dello staff che pensa che questa sia una bacheca per annunci e nulla più; in realtà non lo è. È un blog, e come tale va mantenuto, aggiornato, per raccontare alla gente quello che succede all’ìnterno dell’organizzazione e all’interno della neonata community del Linux User Group il quale, da un po’ di tempo, è particolarmente attivo.

Nonostante le pallide speranze di veder nascere una realtà di questo tipo proprio a Tor Vergata infatti, le conseguenze delle nostre azioni sono state lette in una chiave più ampia addirittura dai professori della facoltà di Ingegneria, i quali per molteplici argomenti e compiti ci hanno dato una grossa mano; adesso siamo in piedi, camminiamo da soli come ogni brava creatura, e non siamo più un blob informe privo di organizzazione. Detto questo infatti, un mio plauso particolare va al nostro Pierpaolo, che sta facendo un grossissimo lavoro di project management per far andare tutte le cose al loro posto (lo prometto, prima o poi ti pagheremo una bolletta del telefono :D); anche gli altri sarebbero degni di menzione, ma se stessi a sciorinare l’elenco di tutti quelli che hanno contribuito alla nascita di questa organizzazione ormai solida staremmo freschi. Diciamo che nomino Pierpaolo per nominare tutti. 😉

 E ora?

E ora comincia la parte veramente difficile. Stiamo infatti facendoci venire qualche idea per tutto quello che avevamo intenzione di fare e che, ahimè, non abbiamo il tempo di seguire. In ogni caso, il nostro focus principale è quello di costruire una community: andare a scavare quindi nell’animo di tutte quelle persone smaliziate e non, per far capire come funziona Linux e perchè non devi aspettarti che installandolo sul tuo computer contestualmente tenti di uccidere tua nonna, o il cane, o rubare la macchina del caffè. In seconda battuta, poi, potresti addirittura condividere la conoscenza che hai acquisito con altri. Meraviglioso, stupefacente. C’è già chi lo fa, o stiamo parlando della solita stanza vuota? Assolutamente no: il nostro gruppo su Facebook (ahimè in barba ai cultori di alternative totalmente libere, ma la conversazione a quanto pare nasce li) conta una mole di iscritti impressionante, con un numero di nuovi thread ogni giorno che per una comunità ai primi passi risulta quasi impressionante.

Il prossimo passo quindi qual’è? Per adesso la conversazione che generiamo resta ancorata al gruppo Facebook, o alle varie mailing list per i vari compiti organizzativi. Talvolta su Google+ ci si impegna. Il nostro prossimo obiettivo (o almeno il mio, poi gli altri confermeranno) è espandere la conversazione attraverso molteplici flussi comunicativi. Faje sentì ‘a presenza, come dicono a Roma, insomma. 😉

Il bello di questa sfida è facile a trovarsi: non si finisce mai di costruire una comunità, perchè per qualcuno che viene formato all’interno, qualcun altro abbandona, anche se magari solo momentaneamente, e qualche altro individuo ancora si unisce. Senza fine.

Obiettivo Linux Day

Stiamo guardando a Ottobre per il Linux Day. È un obiettivo importante, un grosso passo, e lo organizzeremo coi bravi di LS-LUG qui a Tor Vergata; la soddisfazione nel vedere due realtà, una storica come quella di La Sapienza, e una simil-neonata come la nostra, dialogare come tra pari, è stata veramente immensa. Cercheremo quindi di impegnarci affinchè questo Linux Day organizzato da noi con la loro cooperazione sia il miglior evento mai visto riguardo Linux nell’area romana. Perchè alla fine la community serve a dare sfogo alle proprie passioni, a presentare conclusioni.

E senza quagliare, la community è fine a se stessa.

Salud.

[Università] Prof. Medaglia – Eserciziario di Fisica 2

Comunicazioni 1 Reply

Il professor Medaglia ha chiesto di far circolare una propria raccolta di esercizi di Fisica 2, dato che i loro server non sono operativi.

Il Roma2LUG ha messo a disposizione le proprie risorse per far circolare il più possibile gli esercizi tra gli studenti. Questo è il link messo su per scaricare il materiale fornitoci dal prof. Medaglia. Scaricate se vi serve e fate girare il più possibile, in modo che si sappia che tale eserciziario rimane comunque disponibile (potenza del cloud computing) nonostante il down del server universitario.

Incontro del 6 Dicembre, verso l’opening

Comunicazioni Leave a reply

In vista del nostro grande opening al pubblico degli smanettoni di Tor Vergata e non, ci incontreremo il 6 Dicembre per mettere a punto gli ultimi preparativi riguardo il grande evento.

Per chi vuole assistere e contribuire con la propria opinione all’organizzazione, basta recarsi alle 16:00 all’appuntamento presso l’auletta del LUG; molto probabilmente cambieremo posto ancora una volta, ma ci si ritrova sempre lì 😉

TrollKit: semplificare l’installazione di Netkit

Life logs 4 Replies

Ultimamente la nostra attività di Linux User Group ha subito una svolta, essenzialmente perchè come abbiamo avuto modo di vedere alcuni corsi proposti dalla facoltà di Ingegneria hanno riscosso successo; a moltissime persone serve installare il software Netkit per condurre simulazioni su ambienti di rete più o meno complicati.

Essendo Netkit un software abbastanza scarso dal punto di vista della pacchettizzazione per le varie distro, ed essendo la sua installazione abbastanza ostica, ho deciso di ravvivare il mio animo da scriptarolo sfornando un piccolo set di istruzioni che facesse il lavoro sporco al posto nostro. È nato così TrollKit, che potete visitare alla sua pagina ufficiale su GitHub, per ora, e forse in futuro gli dedicherò qualcosa di più.

Per ora non è molto, essenzialmente c’è uno spiritosissimo (hahah.) README e lo script che in qualche riga di Bash per questa versione 0.1 si occupa solo di scaricare, scompattare il software e configurare l’ambiente di installazione. Nelle prossime release (che termini forbiti per uno script di quattro comandi) conto di metterci qualcosa in più, magari il supporto alle dipendenze per più distro.

Riunione Roma2LUG – 20 Ottobre

Comunicazioni Leave a reply

Giovedì 20 Ottobre si terrà la prossima riunione del Linux User Group di Tor Vergata; se non venite vi meniamo (scherzo), parleremo di tante cose e soprattutto dello stato dei lavori. Dagli agganci che abbiamo, stiamo ottenendo parecchio aiuto all’interno dell’università, e questo sarà sicuramente tra gli argomenti chiave.

Gli iscritti stiano sintonizzati perchè tra poco potrebbe arrivare loro la convocazione ufficiale con l’orario e tutto il resto.

Stay open! \m/

The LUG is born – risultati e prossime mosse

Comunicazioni Leave a reply

Come effettivamente era stato programmato, nella giornata di ieri il Roma2LUG è stato abbastanza impegnato nel lancio dell’iniziativa agli occhi del pubblico: abbiamo preso un bel monitor 3D (nel senso che col tubo catodico dava davvero un effetto tridimensionale) e ci siamo ingegnati per mandare tutto il giorno in onda gli spot pubblicitari ufficiali e non di Ubuntu, che per la comunità dei “niubbi” è un po’ la distro di riferimento.

Locandina

L’interesse effettivamente è stato alto, le persone di fermavano a guardare e presto speriamo di contare tanti membri anche grazie all’attività di diffusione che stanno facendo le nostre cellule più affezionate; al più presto contiamo di avere tra noi nuovi membri, e soprattutto nuove macchine che recupereremo in giro facendo trashware computing.

Ovviamente non ci fermiamo, anzi: appena possibile ci sarà una nuova riunione del gruppo e definiremo ulteriormente ciò che rimane da fare. Stay open!

Per qualsiasi questione: roma2lug@gmail.com 😉