Scritto da davidonzo il 01/11/2006, in OpenSource
ATTENZIONE!
L'articolo che stai leggendo è stato scritto 1928 giorni orsono.
Le informazioni presenti potrebbero non essere aggiornate!
Uno dei motivi che mi ha spinto a passare a Linux è la facilità con la quale è possibile utilizzare applicazioni server side in locale. L'utilizzo di strumenti di sviluppo web in un sistema che, seppur desktop, rimane molto server oriented, è favorito da un ambiente circostante amichevole e molto potente : - ) .

Non starò qui a dirvi come installare un server LAMP sulla vostra distro, o magari ripensandoci ve lo dico pure... E' talmente facile!
Fate tutto da terminale. Di seguito i comandi tutto d'un fiato!

sudo -s
apt-get install mysql-server
apt-get install apache2
apt-get install php4
apt-get install libapache2-mod-php4
apt-get install php4-gd
apt-get install phpmyadmin
/etc/init.d/apache2 restart

In sequenza installeremo il server dei database mysql, il web server apache, il php4 con il modulo per apache e la libreria gd (se vuoi installare il php 5 basta sostituire php4 con php5 nei comandi sopra riportati), phpmyadmin per una facile gestione dei database.
Alla fine riavviamo il tutto ed avremo il nostro sistema pronto per giocare : - )

Un'avvertenza è d'obbligo: come proposta sopra la configurazione di default del server mysql è perfettamente funzionante, ma non sicura, dato che non è stata impostata una password per l'accesso al server e la username di default è root.
Tale configurazione va bene se si utilizza il server per i propri test in locale, va malissimo se si usa la propria macchina come server vero e proprio! Regolatevi di conseguenza.

Come detto, è tutto a postro e pronto per l'uso. C'è solo una piccola cosa da aggiustare: la DocumentRoot del server Apache.
Come impostazione base la nostra webroot si trova in /var/www . Ma sarebbe meglio tenerla nella nostra /home, perchè se per un problema qualsiasi ci troviamo a dover riscrivere tutto il file sistem, andremo a perdere anche i dati (ovvero il codice sorgente delle nostra applicazioni web) presenti nella webroot.
Mentre avendo il tutto in /home (e se siamo furbi abbiamo una partizione separata proprio per /home), tutto risulterà più organizzato.

Non pensate sia solo una questione che rileva nel momento in cui dobbiamo sovrascrivere il file system per un qualche motivo. Pensate a quanti backup facciamo. Con la webroot nel file system saremo costretti a backuppare dati da più parti, mentre se la spostiamo in una sottodirectory della nostra home, basterà backuppare quella per essere sicuri che tutti i nostri dati sono stati salvati!

Ecco come fare per modificare la webroot di default di Apache2 distribuito da Ubuntu.

Nella nostra home creiamo una nuova directory. Chiamiamola public_html: sarà questa la nuova webroot.

mkdir /home/davide/public_html

Ovviamente sostituite a davide il nome della vostra home. Dopo di che apriamo il file che in ubuntu si occupa di configurare la DocumentRoot di Apache (non è httpd.con).

sudo gedit /etc/apache2/sites-available/default

Cerchiamo la sezione DocumentRoot. Visualizzeremo qualcosa del genere.

    DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        # This directive allows us to have apache2's default start page
        # in /apache2-default/, but still have / go to the right place
        # Commented out for Ubuntu
    </Directory>

Modifichiamolo come segue.


    DocumentRoot /home/davide/public_html/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/davide/public_html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        # This directive allows us to have apache2's default start page
        # in /apache2-default/, but still have / go to the right place
        # Commented out for Ubuntu
    </Directory>

Anche qui fate attenzione a dare il vostro indirizzo di public_html.

Basterà riavviare apache.

sudo /etc/init.d/apache2 restart

Aprire il browser su localhost e saremo reindirizzati al contenuto di /public_html.
Ricordatevi infine di spostare tutto il contenuto di /var/www nella vostra nuova DocumentRoot.
Hai trovato l'articolo interessante?
Sottoscrivi il Feed RSS per essere informato automaticamente degli ultimi aggiornamenti!
 
.Commenti rss
# 1
ottimo, non sapevo dove andarmi a settare la document root, non ne avevo proprio idea dal momento che ho trovato pressokè vuoto httpd.conf :D
grazie tante!
Di stefano  (Inviato il 16/11/2006 @ 14:09:38)
# 2
Prego!
Di davidonzo  (Inviato il 16/11/2006 @ 19:26:23)
# 3
sei semplicemente un grande... chiaro, preciso ed essenziale. GRAZIE : - )
Di daniele  (Inviato il 29/11/2006 @ 12:33:44)
# 4
Perfetto pochi minuti e zac tutto a posto. Veramente una guida ben fatta! Complimenti!!! : - D
Di Bruce  (Inviato il 06/12/2006 @ 15:08:26)
# 5
Quoto quanto detto da stefano, daniele e bruce ;)
Di Simao  (Inviato il 29/12/2006 @ 16:13:36)
# 6
wow, avessi l'ip ragiungibile!
Ottima guida cmq! : - )
Di kernel  (Inviato il 10/05/2007 @ 13:33:15)
# 7
e quello che mi serviva adesso..... che tempismo, grazie
Di bbx  (Inviato il 31/05/2007 @ 01:26:38)
# 8
complimenti anche da un ubuntu-user da meno di 24ore!
Di Max78  (Inviato il 16/07/2008 @ 15:26:40)
# 9
complimenti ottima guida
Di sem  (Inviato il 30/09/2008 @ 17:11:13)
# 10
e se mi da Forbidden???
se cambio la documentRoot in /var/www/sito tutto bene....ma se imposto una cartella della home mi da Forbidden.....perche??
Ho modificato i permessi ma niente....
qualche ideaa??
grazie
Di duffimc  (Inviato il 17/10/2008 @ 19:13:06)
# 11
Vuol dire che hai cambiato la document root, senza aver modificato di conseguenza le direttive <Directory

Leggi bene il codice copiato, che è da cambiare in due posti.
Di davidonzo  (Inviato il 18/10/2008 @ 10:22:22)
# 12
@duffimc
Probabilmente hai risolto .. ma lo dico anche agli altri, potrebbe anche essere un problema di permessi.
Alcune distribuzioni impostano le home degli utenti non eseguibili da altri utenti, quindi assicurati che tutte le directory nel percorso di DocumentRoot siano almeno leggibili ed eseguibili.

Non sai quanto c'ho smanettato prima di capirlo, dopo un aggiornamento ... che nervi!! :-D

Di Giuseppe  (Inviato il 11/02/2009 @ 17:27:03)
# 13
Non so come ringraziarti.....mi hai aiutato a risolvere un mio grande problema......buone feste
Di gr  (Inviato il 12/12/2009 @ 17:24:44)
# 14
grazie!! funzia
Di cirio  (Inviato il 30/08/2010 @ 22:41:28)
# 15
Non sono sicuro, ma...
... non è meglio fare un "override" in /etc/apache2/httpd.conf?

In altre parole, lasciare /etc/apache2/sites-available/default così come è e scrivere le linee con la nuova DocumentRoot in httpd.conf

Credo che httpd.conf serva proprio a fare l'override di default. Confermate?

Ciao!
Di fede  (Inviato il 30/09/2010 @ 17:27:14)
# 16
Beh, è una scelta. Per nulla sbagliata. Dipende da come preferisci gestire la cosa.
Di davidonzo  (Inviato il 01/10/2010 @ 11:23:54)


I commenti possono essere moderati.
Se non lo vedi comparire subito non reinserirlo più volte.
Grazie per la gentile collaborazione.