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!
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.
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).
Cerchiamo la sezione DocumentRoot. Visualizzeremo qualcosa del genere.
<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.
<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.
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.
ottimo, non sapevo dove andarmi a settare la document root, non ne avevo proprio idea dal momento che ho trovato pressokè vuoto httpd.conf 😀
grazie tante!
Prego!
sei semplicemente un grande… chiaro, preciso ed essenziale. GRAZIE
Perfetto pochi minuti e zac tutto a posto. Veramente una guida ben fatta! Complimenti!!!
Quoto quanto detto da stefano, daniele e bruce 😉
wow, avessi l’ip ragiungibile!
Ottima guida cmq!
e quello che mi serviva adesso….. che tempismo, grazie
complimenti anche da un ubuntu-user da meno di 24ore!
complimenti ottima guida
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
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.
@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!! 😀
Non so come ringraziarti…..mi hai aiutato a risolvere un mio grande problema……buone feste
grazie!! funzia
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!
Beh, è una scelta. Per nulla sbagliata. Dipende da come preferisci gestire la cosa.