Installare un web server linux con apache, mysql, php

Come installare un web server linux con apache, mysql, php

lamp4

Buonasera! Volete crearvi il vostro web server personale o imparare a gestirne uno? siete nel posto giusto!

prima di tutto: cosa occorre?

un server è una macchina che deve stare sempre accesa e pronta a soddisfare le richieste dei client (pc) che vi accedono, tutto questo viene gestito tramite dei software anche chiamati applicativi server. gli applicativi server possono essere installati su qualunque macchina con qualunque architettura per cui sono compilati. quindi in sostanza, qualunque macchina, da pc di casa a server dedicato, perfino un cellulare, può fare da server.

L’installazione digitiamo

sudo -i

per diventare amministratori, successivamente

apt-get update

per aggiornare l’elenco delle dipendenze, e poi

1) Installiamo il web server apache:

20141123_134745337_iOS

apt-get install apache2 apache2-utils libexpat1 apache2-suexec

riceveremo un warning perchè non è ancora stato definito il nome del server, andiamo quindi a impostarlo:

nano /etc/apache2/apache2.conf

e inseriamo in fondo al file di configurazione la riga:

ServerName NomeDelNostroServer

salviamo il file, usciamo e ricarichiamo la configurazione di apache con il comando

service apache2 force-reload

A questo punto, dovremmo già riuscire a vedere il nostro rudimentale web server in funzione! apriamo un browser, digitiamo l’indirizzo “localhost” oppure “127.0.0.1”  e se tutto è andato liscio, dovremmo vedere una schermata come questa:

it-works-300x66

BENE! ora…

2) Installiamo PHP 5

apt-get install php5 libapache2-mod-php5

Anche con php dovremmo essere aposto… a parte se avete debian squeeze… avete la debian squeeze? in quel caso andate arimuovere o commentare (con un ; a inizio riga) il parametro memory_limit nel file di configurazione:

nano /etc/php5/cli/php.ini

Bene! stiamo iniziando a porre le basi per un sito dinamico e completo. Per l’installazione di una qualunque piattaforma, dawordpress a joomla a prestashop ecc…ci occorrerà anche un database dove memorizzare i contenuti del sito:

3) per installare il mysql…

apt-get install mysql-server mysql-client

Durante l’installazione, ci verrà chiesto di definire una password per l’accesso scrivetene una a piacere, potete lasciarla anche vuota, basta che non ci stiate a pensare troppo come nel video!!

4) installiamo phpmyadmin 

per gestire i database da interfaccia web… è comodo…

apt-get install phpmyadmin

alla schermata successiva, spuntiamo apache2 tra i “Server web da riconfigurare automaticamente

alla domanda “configurare il database di phpmyadmin con dbconfig-common?

rispondiamo quindi, ci viene chiesta prima, la password di root del database (precedentemente definita),

poi la password di phpmyadmin 

Bene!

possiamo confutare il nostro operato andando all’indirizzo http://localhost/phpmyadmin

Il DocumentRoot del server Apache, che di default si trova in /var/www, ma sarebbe preferibile spostarla nella vostra home per più di un motivo, tra cui una questione di permessi sui file, una migliore gestione del file system ed una più efficiente procedura in caso di crash o backup del sistema.
Anche in questo caso, le operazioni da eseguire non richiedono particolari skills in materia di configurazione webserver.

Nella vostra home, create una directory, chiamata public_html, che sarà poi la candidata a diventare la vostra web root.

mkdir /home/utente/public_html

Ovviamente, in questo e nei prossimi passi, ricordatevi di sostituire a utente il nome della vostra home.

Apache2 ha il concetto di siti, che sono configurazioni separate che il webserver andrà a leggere, caricate in/etc/apache2/sites-available. Di default, c’è solamente un sito disponibile, chiamato default, ma possono essere caricate più configurazioni contemporaneamente, attivando di volta in volta soltanto quelle necessarie.
Nel vostro caso, l’obiettivo è di creare un nuovo sito in cui spostare la DocumentRoot in/home/utente/public_html/ e quindi attivarlo su Apache2.
Per creare il nuovo sito:

  1. Copiare il sito di default come punto di partenza.
    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/miosito
  2. Modificare la nuova configurazione con un editor di testo, ad esempio:
    sudo gedit /etc/apache2/sites-available/miosito
  3. Cambiare il parametro DocumentRoot per fare in modo che punti al nuovo percorso, ad esempio/home/utente/public_html/.
  4. Cambiare la direttiva Directory, sostituendo <Directory /var/www/> con <Directory /home/utente/public_html/>.
  5. Salvare il file

Ora è necessario disattivare il vecchio sito (default) ed attivare quello nuovo (miosito). Per fare ciò, Ubuntu ha provveduto a creare due comodissimi comandi, che sono rispettivamente a2dissite e a2ensite.

sudo a2dissite default && sudo a2ensite miosito

Ultimo ma non meno importante passaggio è il riavvio di Apache2:

sudo /etc/init.d/apache2 restart

Se doveste avere dimenticato di creare la directory /home/utente/public_html/, ricevereste un messaggio di avvertimento.

Aprendo il browser su all’indirizzo http://localhost/ dovreste essere reindirizzati al contenuto di ~/public_html/.

Per aumentare la sicurezza e aggiungere qualche personalizzazione, potrete modificare il file principale per la configurazione di Apache 2, che trovate in /etc/apache2/apache2.conf, ricordandovi di creare una copia di backup prima di procedere con le vostre prove e di riavviare apache2 per applicare le modifiche.

Per quanto riguarda la configurazione di PHP, anticipo solamente che il file di configurazione, php.ini, è presente all’interno della directory /etc/php5/apache2.

Ricordatevi infine di spostare tutto il contenuto di /var/www nella vostra nuova DocumentRoot.

ora il nostro web server è pronto a ospitare ogni genere di sito! dall’ e-commerce al blog, al sito tradizionale, con la piattaforma che sceglieremo!