Skip to content


HowTo: WebServer LAMP (Linux, Apache 2, MySQL 5 e PHP 5) su Debian ETCH

Introduzione
Cosa è un "server LAMP"?
Nonostante molti di voi sperano che sia qualcosa di commestibile ahimè le vostra speranze stanno per crollare.. (per la cronaca.. non ha nemmeno a che fare con l'illuminazione della vostra scrivania).
Un server LAMP è quello che comunemente viene chiamato Webserver e consiste nell'installazione di software per la visualizzazione di pagine web e gestione dinamica di database; nello specifico LAMP sta per Linux, Apache, MySQL and PHP il che ci da un'idea su quali sono i software che servono per la realizzazione di server di questo tipo.
Linux bhè... è GNU/Linux... leggendo il resto del blog capirete da soli di che si tratta!

Apache è un daemon ovvero un programma che gira in background e serve per supportare connessioni di tipo HTTP ((HyperText Transfer Protocol)) che sarebbe il protocollo che generalmente si utilizza per la navigazione su internet e ci permette di vedere sul nostro Browser le pagine HTML ((HyperText Markup Language)) avete presente quella estensione che a volte si vede alla fine dell'URL?
PHP ha una definizione che viene detta ricorsiva perché nella stessa definizione viene ripetuto il termine PHP ed infatti sta per "PHP Hypertext Preprocessor" e consente ai webmaster di creare webapplications e pagine dinamiche in quanto è un vero e proprio linguaggio di programmazione (volendo anche ad aggetti) che viene interpretato dal motore Zend.
MySQL è il DataBase ovvero una specie di BancaDati più nello specifico è un software che ci permette di amministrare agevolmente dati disposti in tabelle tramite l'esecuzione di query.

Ingredienti

1.Debian 4.0 (ETCH)
2.Un editor di testo da linea di comando visto che probabilmente ci lavoreremo da remoto (consiglio vivamente VIM)
3.Un po' di pazienza


Installazione dell'ambiente
Passiamo al sodo.
Verifichiamo il contenuto di /etc/apt/sources.list e vediamo se sono presenti i seguenti mirror:

##ETCH (Stable)
deb http://ftp.it.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.it.debian.org/debian/ etch main contrib non-free
##SECURITY UPDATES (Etch)
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

e diamo un bel
aptitude update
e poi
aptitude upgrade
Da root (ormai tutti sapete chi è root vero?) digitiamo:
apt-get install apache2 apache2-mpm-prefork php5-mysql mysql-server php5 libapache2-mod-php5 php5-cgi php5-gd php5-cli phpmyadmin
Durante la fase di installazione apt vi chiederà delle cose come:
Should MySQL start on boot? (Il server MySQL deve essere lanciato in fase di avvio?)
Io consiglio di selezionare SI in modo da avere il database sempre funzionante nonostante il server venga riavviato.

Facendo ciò la nostra cara Debian GNU/Linux box installerà Apache2, PHP5, MySQL5 e vari moduli per Apache e PHP per interfacciarsi tra di loro e col database.
Se pensate che sia finita qui (nonostante gran parte del lavoro sia gi?à stato fatto) vi sbagliate di grosso! Adesso comincia il bello!

Configurazione
Configurazione di Apache2
Aprite il file /etc/apache2/apache2.conf con VIM scrivendo sempre da root:
vim /etc/apache2/apache2.conf
e digitate "I" per passare alla modalità di inserimento del testo e scrivete nell'ultima riga:
ServerName localhost
per scrivere i cambiamenti ed uscire premete il tasto Esc e scrivete:
:wq
la lettera w indica a VIM di scrivere le modifiche ed il comando q gli dice di uscire dopo averlo fatto; mi raccomando i : prima di wq.
Adesso che avete capito penso/spero quali sono le funzioni base di VIM mi limiterò a dire "scrivete" e "salvate".
Le directory che vi serviranno per l'amministrazione sono:
/var/www che è impostata di default come webroot (vedremo in seguito come cambiarla)
/etc/apache2 che contiene i files di configurazione di apache2
/etc/apache2/sites-enabled e che contiene una serie di links simbolici ai files di configurazione degli hosts virtuali che si trovano in /etc/apache2/sites-available
Dei comandi utili per la gestione di apache sono:
/etc/init.d/apache2 start
/etc/init.d/apache2 stop
/etc/init.d/apache2 restart
che rispettivamente lancia, ferma, riavvia il demone apache2 .

E' utile anche abilitare alcuni moduli tra cui ssl e rewrite per cui scriviamo sul trminale da root:
a2enmod ssl rewrite
e poi riavviare il daemon digitando:
/etc/init.d/apache2 restart

Configurazione di MySQL
Adesso ci occupiamo di cambiare la password dell'utente root di MySQL scrivendo da root:
mysqladmin -u root password <lamiapassword>

ovviamente sostituendo <lamiapassword> con la vostra password preferita.
Spero che sia inutile dirvi di utilizzare caratteri maiuscoli e minuscoli, numeri e caratteri speciali come "@#][.," ecc..
Ritengo sia utile creare al volo un utente (diverso da root) da poter far accedere al database con privilegi limitati, ma lo vedremo tra un po'.
Dei comandi utili per la gestione del DataBase abbiamo:

/etc/init.d/mysql start
/etc/init.d/mysql stop
/etc/init.d/mysql restart

che rispettivamente, guarda un po', lancia, ferma e riavvia il daemon MySQL.

Varie
Da notare che durante l'installazione è stato installato anche phpmyadmin (l'ultima parola inserita nel comando che vi ho detto prima) che se volete potete anche omettere. PhpMyAdmin è uno script in php che serve per la gestione "grafica" del database MySQL senza aver bisogno dell'accesso via terminale alla macchina.

Test
Se avete eseguito correttamente i passi precedenti puntate il vostro browser preferito (spero si tratti di Iceweasel) su
http://<indirizzolocaledelserver>/phpmyadmin
dove <indirizzolocaledelserver> dovrebbe essere qualcosa del tipo: 192.168.1.2 e dovreste vedere lo script phpmyadmin in esecuzione che vi chiede username e password (Username: root e Password: quellacheavetesceltoprima).
Se per caso vi si dovesse aprire una finestra di download per un file probabilmente avete sbagliato qualcosa nei passi precedenti per cui consiglio di rivedere accuratamente la guida.

Una volta eseguito il login da root prendete dimestichezza con la grafica e tornate nella home di phpmyadmin quindi aggiungete un utente cliccando su "Privilegi" e poi su "Aggiungi nuovo utente" e seguite le indicazioni per completare la procedura.

Da ora in poi vi consiglio vivamente di utilizzare il nuovo utente per effettuare gli accessi al database.

Nella prossima guida parlerò della configurazione nel dettaglio dei files degli hosts in Apache2 (che per intenderci sono quelli contenuti in /etc/apache2/sites-available)

Be Sociable, Share!

Posted in Web Server.

Tagged with , , , , , , , , , , .


23 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Riccardo says

    Grande

  2. Salvatore Barbera says

    troppo gentile ;)

  3. Dario says

    Innanzitutto grazie di questa bella guida.
    Vorrei chiederti di preciso perchè in apache2.conf (c’è un banale refuso nel comando che suggerisci per lanciare Vim) è necessaria la direttiva:

    ServerName localhost

    Io sto utilizzando Apache su Lenny e dopo l’installazione via Aptitude ho avuto subito la document root raggiungibile su 127.0.0.1 e localhost.
    Forse la default conf è un po’ diversa oppure la tua direttiva serve anche ad altro?

  4. Salvatore Barbera says

    nella versione disponibile per stable (per ETCH apppunto) è necessario specificarla perchè altrimenti crea problemi durante l’avvio del server ;)

  5. Bellosguardo(ò_o) says

    Questa guida puo essere usata su ubuntu?

    se si credo che mi serveno dettagli solo sul sources.list
    Thx ;)

  6. Salvatore Barbera says

    certo che può essere usata!
    basta abilitare tutte le sorgenti software :)

  7. Antonio Barba says

    Secondo il testing appena concluso, la guida è valida anche su piattaforma Sun UltraSPARC IIi, con Debian 4.0r3 sparc64

  8. Salvatore Barbera says

    Debian rulla! :D

  9. Teo says

    Ciao, sono disperato !! Ho installato in modo corretto il server LAMP per la quarta volta, e mi sono fermato a “questa pagina”, perchè se seguo quella dopo, non riesco a far funzionare nulla. 1) Ho bisogno di cambiare la porta di ascolto di apache, perchè la 80 è già occupata e configurata sul firewall per un secondo server windows con iis

    2) Creo un virtual host nella cartella www, creando un’ulteriore cartella /miosito dall’interno lo raggiungo, dall’esterno no…Ho girato guide su guide, ma non ne vengo + a capo !!

    Chi mi aiuta ?? Sono “leggermente” disperato !! :((((((((((((

    Sul firewall ipcop ho già configurato l’ip della macchina con la porta da utilizzare. Io ho scelto la 8082, ma se me ne consigliate un’altra, sono tutto orecchi !! :((

    Ringrazio anticipatamente per l’aiuto, speriamo in bene !! Mi manca tanto così, per poter partire con il mio amato server linux e tutto la potenza del php e mysql !!

    Grazie in anticipo.

    teo

  10. Salvatore Barbera says

    Ciao Teo,
    non so se hai già letto l’altra guida: http://www.oscene.net/it/sysadmin/web-server/howto-configurazione-dei-virtual-hosts-con-apache2

    hai già impostato il file /etc/apache2/sites-available/miodito ?

    nella pagina che ti ho consigliato sopra c’è una guida dettagliata su come fare per configurare un nuovo dominio…
    In alternativa qualora non ti servisse creare un nuovo dominio ma ti bastasse usare quello di default puoi modificare il file /etc/apache2/sites-available/default cambiando la riga in e poi riavviare apache con /etc/init.d/apache2 restart

    spero di esserti stato utile… se dovesse servirti altro commenta pure :)

    saluti

  11. Teo says

    Ciao Salvatore, e grazieeeeeeeeee per la risposta (qualcuno esisteeeeeee!!). Purtroppo ho seguito tutto nei minimi particolari, ma non è cambiato nulla :((

    La tua guida utilissima e molto chiara l’avrò letta e riletta 100 volte, e fatto 100 volte i passaggi, ma non ne vuole sapere di funzionare…cavolo ma cosa manca ?? In alcuni siti c’è scritto anche di scrivere in /etc/hosts i domini…ma in che modo :((( ???

    madooooooooooooooooooo

  12. Teo says

    Qualcuno sa indicarmi come configurare il putty, in modo da potermi connettere al server debian, senza ogni volta alzarmi per andare avanti e indietro ? Se uso i fefault settings e la porta 22 non vado da nessuna parte…Ovviamente indicatemi che files modificare per rendere il tutto funzionante :) grasssssie

  13. mancio says

    guardate anche qui:

    http://mancioboxblog.altervista.org/?p=71

  14. http://play-poker-online.biz says

    Hi friends, pleasant post and fastidious arguments commented at this
    place, I am truly enjoying by these.

  15. Simon says

    Attractive element of content. I just stumbled upon your weblog and in accession
    capital to say that I get in fact enjoyed account your weblog posts.
    Anyway I will be subscribing on your augment or even I fulfillment you get entry to consistently quickly.

  16. Reed says

    This little chamber, which was making the rounds, by order of Messire
    Robert d’Estouteville, guard of book of ra the provostship of Paris.

  17. 100 kr gratis utan insättning says

    If some one desires to be updated with hottest technologies after
    that he must be go to see this site and be up to date daily.

  18. loans with no credit check says

    Hello! I understand this is sort of off-topic however I
    needed to ask. Does managing a well-established blog such as yours require a massive amount work?
    I’m completely new to running a blog however I do write in my
    diary everyday. I’d like to start a blog so I can easily share my own experience and thoughts online.
    Please let me know if you have any kind of recommendations or tips for
    new aspiring bloggers. Thankyou!
    loans with no credit check need cash fast instant payday loans online
    need money now online payday loans no credit check payday loans
    online i need money fast quick cash loans car title
    loans near me car title loans near me how to earn money fast small loans for bad credit car
    title loans mobile loans no credit check payday loans online
    bad credit loans guaranteed approval payday loans online direct lenders instant approval online payday
    loans online payday loans direct lenders unsecured personal loan need money payday loans direct lenders only no credit check payday loans loans with no credit check unsecured personal
    loan unsecured loans bad credit loans guaranteed approval online payday loans personal loans no credit check personal
    loan

  19. уроки русского языка в 6 классе по фгос ладыженская says

    спиши.ру русский язык 7 класс баранов ладыженская 2014, решебник по
    русском 6 класс ладыженская, программа по русскому языку баранов ладыженская шанский 5-9 класс 2014, упражнение 421 по русскому языку 6 класс ладыженская, риторика ладыженская 2 класс 2
    часть, решебник по русскому языку 7 класс
    баранов ладыженская 2014 года, решебник по русскому языку 5 класс 2009 ладыженская баранов,
    гдз от путина 6 класс русский язык ладыженская зеленый учебник
    диктанты по русскому для
    8 класса ладыженская
    где русский язык 9 класс ладыженская
    решебник 6 класс русский язык
    ладыженская
    ответы на учебник по русскому языку 5 класс ладыженской
    конспекты уроков 5 класс русский язык фгос ладыженская

Continuing the Discussion

  1. OScene » SysAdmin » Web Server » HowTo: Configurazione dei Virtual Hosts con Apache2 linked to this post on 22 December 2007

    […] Nella guida precedente abbiamo parlato dell’installazione e la configurazione di un server LAMP con Debian, Apache2, MySQL e PHP, passiamo adesso alla configurazione dei singoli virtual hosts (ovvero degli hosts […]

  2. blog.studiomediasystem.com » Blog Archive » LAMP linked to this post on 9 December 2008

    […] Ognuno di questi componenti è predisposto per l’eccellente funzionamento con gli altri. Tutti i nostri prodotti sono basati sull’architettura LAMP. Per un’ottimo How-To per installare tutta l’architettura su una distribuzione Debian (la nostra preferita!), vedere questo ottimo manuale. […]

  3. how to: LAMP su UBUNTU – apache + php + mysql « Bonomo's Blog linked to this post on 23 February 2010

    […] http://www.oscene.net/it/sysadmin/web-server/howto-installazione-e-configurazione-di-un-web-server-l… Possibly related posts: (automatically generated)Export from PHP to EXCELinstalling Apache MySQL PHP on a CentOS 5.2 VMWare imageInstalling MySQL, Apache, PHP on Fedora using yum […]



Some HTML is OK

or, reply to this post via trackback.