La vita di un pazzo d'amore

Un innamorato davanti al computer in un mondo che va di fretta

  • Post più letti

  • Categorie

  • Archivi

  • Licenza del sito

    Creative Commons License
    "La vita di un pazzo d'amore" è rilasciato sotto licenza Creative Commons.
  • Donazione

    Dona a La vita di un pazzo d'amore

Il sito web dentro al tuo pc

Posted by mika29 su 05/04/2011

Ovvero: piccola guida per configurare completamente un server LAMP sulla propria Ubuntu e poter creare un sito web di prova direttamente sul proprio pc, senza usare il classico localhost 🙂 .

LAMP?

Ma prima di tutto: cos’è LAMP (in termini molto ma molto generali)?
LAMP è la sigla di Linux Apache MySQL PHP, ovvero è un “programma” che permette di avere sulla propria distribuzione Linux un server pronto a essere usato per sviluppare siti web di prova, che una volta ultimati andranno trasferiti su un server reale presente su internet,

Apache è il vero “server”, quello che conterrà le pagine del vostro sito.
MySQL è il database, che conterrà tutti i dati da utilizzare nelle vostre pagine dinamiche.
PHP è il linguaggio opensource per gestire i dati di MySQL e farli visualizzare sui browser.
Ovviamente se volete scrivere pagine HTML, vi servirà solo Apache, e quindi potete saltare le parti riguardanti gli altri due software.

Installazione di Apache

Questo è il primo componente da installare. Per farlo, basterà aprire il terminale (per comodità personale, ma si può usare anche il Gestore di pacchetti grafico) e digitare:

sudo apt-get install apache2

Questa è la prima e ultima volta che lo ripeto: dopo ogni comando dovrete inserire la vostra password e accettare di installare anche eventuali programmi aggiuntivi, fidatevi 🙂

Una volta installato aprite un browser (io userò Chromium perchè sto usando Firefox per scrivere, e non voglio passare da una tab all’altra 🙂 ) e il risultato dovrebbe essere questo:

Non scriverò in questo post cosa fare in caso di problemi, perchè capitano pochissime volte, e una ricerca su Google può essere più efficace di 30 righe scritte da me…

Installazione di PHP

E’ vero che in LAMP, dopo Apache tocca a MySQL, ma noi sovvertiamo e installiamo il caro PHP 🙂

Per installarlo, sempre da terminale:

sudo apt-get install php5 libapache2-mod-php5

Appena finito di installare, riavviamo il nostro server Apache col comando

sudo /etc/init.d/apache2 restart

Questo è  un comando tipico, quindi tenetevelo in mente, che non lo riscriverò più…

Adesso incominciamo a giochicchiare e a provare LAP e vedere se del codice PHP funziona su server. La cartella predefinita per Apache è “/var/www/“, che il browser va a ripescare digitando “http://localhost/” come visto in precedenza.

Quindi creiamo una pagina “test.php” nella cartella apposita con il comando

sudo gedit /var/www/test.php

Nel file scriviamo un bel pezzo di codice PHP come da esempio:

<?php
echo “Ciao a tutti, provo LAP!!!”;
phpinfo();
?>

Se sapete PHP, allora sapete cosa vi ho fatto scrivere 🙂 Questo dovrebbe essere il risultato digitando “http://localhost“:

Installazione del database MySQL

Come da rituale dobbiamo installare il pacchetto opportuno, che si installa con:

sudo apt-get install mysql-server

e installare tutti i bei pacchetti integrati che Ubuntu vi chiederà di installare.

Durante l’installazione vi verrà richiesta una password per l’utente root (evitate di mettere la password che usate per loggarvi)

Dopo questa schermata vi verrà chiesto di ridigitarla. Facendo ancora OK l’installazione giungerà a termine.
Se non vi appare la schermata indicata prima, dovete digitare questo codice da terminale

mysql -u root

seguito da (cambiate “yourpassword” con la password da voi scelta):

mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘yourpassword’);

A meno che voi non sappiate SQL a memoria, vi conviene installare un gestore di database come PHPMyAdmin installabile col comando:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Attenzione che durante l’installazione verrà richiesto di selezionare il server da riconfigurare (la scelta di default e quella esatta è “apache2” come da immagine), per selezionare premero lo spazio sulla casella rossa di scelta:

Alla domanda successiva selezionare Yes e poi vi verrà richiesto di inserire la password del database MySQL inserita prima (durante l’installazione per l’utente root), inseritela. Inserite pure una password (e relativa conferma) di una password per PHPMyAdmin nelle schermate successive ed il gioco è fatto.

A questo punto riavviate Apache 🙂

Dal browser digitando l’indirizzo “http://localhost/phpmyadmin” entrerete nella pagina di login del sistema.

Personalizzare gli indirizzi

Adesso avete già la possibilità di creare dei siti internet in locale e di poterli testare prima di uploadarli su un server vero.
Vi basterà creare una cartella all’interno della directory “/var/www/” (la predefinita dal server Apache) con all’interno dei file e poi digitare nel browser l’indirizzo.

Per esempio create la cartella “sito_prova” e all’interno il file “prova.html“. Per il contenuto del file potete inserire qualsiasi cosa.
Adesso vi basterà digitare sul browser l’indirizzo “http://localhost/sito_prova/prova.html” per vedere il contenuto del file.

Piccola avvertenza: la directory /var/ è una directory di sistema, e quindi per accederci bisognerà usare il comando “sudo” e quindi sarete costretti a usare praticamente sempre il terminale 😦
E poi è scomodo dover sempre scrivere “localhost” all’interno dell’indirizzo, anche perchè vi darà problemi di compatibilità nell’uso di indirizzi relativi tra il sito locale e il sito remoto (spero capiate cosa intendo) :((

Non sarebbe meglio poter digitare un semplice “http://sito_prova/prova.html“????? 🙂

Farlo è semplice, anche se un pò ripetitivo…

Per prima cosa creiamo nella nostra Home utente una cartella “website” che conterrà tutti i nostri siti web. All’interno di questa creiamo la cartella “sito_prova“, in questo modo:

All’interno di “sito_prova” creiamo il file “prova.html” con questo codice HTML:

<html>
<head>
<title>Sito prova</title>
</head>
<body>
<p>Sono un sito di prova, fammi un p&ograve; bello :(</p>
</body>
</html>

Ora dobbiamo far capire al sistema che quando sul browser digiteremo l’indirizzo “http://prova” ci riferiremo alla cartella “~/website/sito_prova/“.

Per farlo apriamo dal terminale il file contenenti gli host, con il comando:

sudo gedit /etc/hosts

e modifichiamolo inserendo il nuovo indirizzo in questo modo

Come si può vedere è stato inserito all’indirizzo “127.0.0.1” il nome “prova“, appena sotto al nome localhost.

Nella cartella di Apache, sono presenti i file che indicano al sistema i vari siti presenti sul server locale. Usiamo questi file (che poi modificheremo) per il nostro sito. Per farlo copiamo con il comando

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/prova

il file per il sito di default (localhost) nel nuovo file per il nostro sito “prova” (nome uguale a quello inserito nel file “hosts”. Apriamolo con

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

e modifichiamo le varie stringhe “/var/www” (che indicano appunto la cartella di localhost) in “/home/nomeutente/website/sito_prova“.

Se volete da qua potete cambiare altre impostazioni, come il file dove salvare eventuali log di errore e altro…

Ora però a noi tocca abilitare il sito con il comando

sudo a2ensite prova

(cioè available to enabled) e riavviare il server Apache.

Come ultima cosa dobbiamo inserire una parte del file precedente dentro a un altro file, “/etc/apache2/httpd.conf“.
Apriamo il file con il comando:

sudo gedit /etc/apache2/httpd.conf

e inseriamo questo codice:

<VirtualHost *:80>
DocumentRoot /home/nomeutente/website/sito_prova
ServerName prova
</VirtualHost>
<Directory /home/nomeutente/website/sito_prova>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

che se confrontate è molto simile a quello presente nel file “/etc/apache2/sites-available/prova“. Il ServerName è lo stesso presente nel file “/etc/hosts“.

Riavviate il server Apache e il risultato dovrebbe essere questo:

La guida dovrebbe adattarsi bene anche su altre distro.
Su Ubuntu dovrebbe esserci il comando “sudo tasksel install lamp-server” (prima bisogna installare tasksel) oppure si può seguire questa guida, ma non sempre funziona e magari dopo da pure scazzi…Con un pò di pazienza invece la mia guida non da problemi a nessuno, almeno non dovrebbe darli 🙂

Annunci

18 Risposte to “Il sito web dentro al tuo pc”

  1. Thanks for every other magnificent article. The place else may just anybody
    get that type of information in such a perfect approach
    of writing? I’ve a presentation next week, and I am at the look for such information.

  2. Hey there! Do you know if they make any plugins to protect against hackers?
    I’m kinda paranoid about losing everything I’ve
    worked hard on. Any tips?

  3. We are a group of volunteers and starting a new scheme in
    our community. Your web site offered us with valuable information to work on.
    You have done a formidable job and our entire community will be grateful to you.

  4. Asking questions are genuinely nice thing if you
    are not understanding anything completely, except this article offers pleasant
    understanding yet.

  5. Hello every one, here every person is sharing these familiarity, therefore it’s fastidious to read this weblog, and I used to pay a visit this blog daily.

  6. Link exchange is nothing else but it is only placing
    the other person’s webpage link on your page at proper place and other person will also do same in support of you.

  7. Very good information. Lucky me I discovered your blog by chance (stumbleupon).
    I have saved it for later!

  8. Every weekend i used to pay a visit this web page, for the reason
    that i want enjoyment, for the reason that this this site conations genuinely pleasant funny data too.

  9. Thanks for the auspicious writeup. It in reality was a entertainment account it.
    Look complex to more added agreeable from you!
    By the way, how could we keep up a correspondence?

  10. I was suggested this blog by way of my cousin.
    I’m not positive whether this submit is written through him as no one else understand such specific approximately my trouble. You’re amazing!
    Thanks!

  11. lvyaoi.tk said

    Excellent way of describing, and pleasant post to get data
    on the topic of my presentation subject, which i am going to
    deliver in university.

  12. This is a very good tip particularly to those new to the
    blogosphere. Brief but very precise info… Thanks for sharing this one.
    A must read article!

  13. Oh my goodness! Amazing article dude! Thank you, However I am
    encountering issues with your RSS. I don’t know why I can’t subscribe to it.
    Is there anybody having similar RSS problems?

    Anybody who knows the answer will you kindly respond? Thanx!
    !

  14. I’m extremely impressed with your writing skills as well as with the layout on your weblog. Is this a paid theme or did you modify it yourself? Anyway keep up the excellent quality writing, it is rare to see a great blog like this one nowadays.

  15. These are really wonderful ideas in regarding blogging.

    You have touched some good factors here. Any way keep up wrinting.

  16. After I originally left a comment I seem to have clicked
    on the -Notify me when new comments are added- checkbox and now every time a comment is added I get 4 emails with the exact same comment.
    There has to be a way you are able to remove me from that service?
    Cheers!

  17. Hello everyone, it’s my first pay a visit at this site, and paragraph is in fact fruitful for me, keep up posting such articles or reviews.

  18. I do not even understand how I stopped up right here, however I assumed this publish was once great.
    I do not recognise who you are but certainly you’re going to a well-known blogger when you aren’t already.

    Cheers!

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger hanno fatto clic su Mi Piace per questo: