Tag: Lamp

Come creare un Web Server in Casa

lampVediamo come installare un server web utilizzando la piattaforma LAMP. Intanto cosa vuol dire piattaforma LAMP ? Grazie a Wikipedia che ci illumina: LAMP è un acronimo che indica una piattaforma software per lo sviluppo di applicazioni web che prende il nome dalle iniziali dei componenti software con cui è realizzata.

I componenti di base, da cui prende il nome, sono:

Noi installeremo il tutto su Ubuntu 14.04 LTS ultima versione stabile che sarà supportata per 5 anni (ecco il perchè della scelta).

Prerequisiti

Ovviamente un PC o server con installato Ubuntu 14.04 LTS scaricabile QUI

Fase 1 – Installazione di Apache

Apache è in assoluto il web server più popolare ed utilizzato al mondo e d è a mio parere la soluzione migliore per ospitare siti web. Utilizzeremo l’Ubuntu package manager (apt) che ci permette di installare la maggior parte dei software senza farsi venire il mal di testa. Apriamo una finestra del Terminale e digitiamo questi comandi:

sudo apt-get update

sudo apt-get install apache2

L’utilizzo del comando sudo presuppone l’immissione della password utente per poter procedere. Attendiamo qualche secondo ed abbiamo fatto.

Per verificare se l’installazione è andata a buon fine basterà aprire il browser e digitare:

http://indirizzo_ip_del_server

dove indirizzo_ip_del_server sta per l’indirizzo del PC sul quale abbiamo appena installato apache (es. http://192.168.10.199 )

Se tutto è andato a buon fine apparirà la pagina web di Apache come mostrato qui sotto default_apache

 

Fase 2 – Installazione di MySQL

Installiamo ora MySQL ovvero il database server sempre dal terminale digitiamo:

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

Durante l’installazione verrà richiesto di impostare una password per l’utente “root” e cioè l’utente che avrà i privilegi più alti.

Finita l’installazione utilizzeremo ulteriori comandi per rendere l’ambiente più sicuro e funzionale, per prima cosa diremo a MySQL di creare una struttura di directory per il database dove verranno salvate le informazioni

sudo mysql_install_db

procederemo quindi con uno script che renderà più sicuro il nostro database:

sudo mysql_secure_installation

Quest’ultimo script chiederà la password che abbiamo precedentemente impostato e ci chiederà se vogliamo cambiarla, per tutte le altre domande premere semplicemente INVIO.

Fase 3 – Installazione di PHP

PHP è il linguaggio che processerà il codice per visualizzare componenti dinamici, può lanciare script, collegarsi con MySQL per ottenere le informazioni e processarne il contenuto da visualizzare nelle pagine web

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-cli php5-common php5-curl php5-gd

Finita l’installazione, per rendere il tutto operativo dobbiamo riavviare apache, digitiamo:

sudo /etc/init.d/apache2 restart

non ci resta che verificare che tutto funzioni, per fare questo creeremo un piccolo script che ci permetterà di effettuare il test.

Chiameremo lo script info.php ed andremo a metterlo in una cartella specifica chiamata “web root”, in Ubuntu 14.04 questa cartella si trova in /var/www/html/.

sudo gedit /var/www/html/info.php

si aprirà un editor ed andremo a scrivere queste poche righe:

<?php
phpinfo();
?>

salviamo quindi il file. Possiamo quindi testare il tutto aprendo il browser e navigando all’indirizzo;

http://indirizzo_ip_del_server/info.php

se tutto funziona avremo come risposta una pagina simile a questa:

info_php

ovviamente una volta visualizzata la pagina andremo a cancellarla:

sudo rm /var/www/html/info.php

Fase 4 – Installazione PhpMyAdmin

phpMyAdmin è un software che lavora con MySQL direttamente da web ci fornisce cioè una interfaccia grafica che semplifica le operazioni da effettuare per l’utilizzo del database server sempre da terminale:

sudo apt-get install phpmyadmin

durante l’installazione occorrerà:

  • selezionare Apache2 come server
  • selezionare SI (o YES) per configurare il database per l’ulitizzo di phpMyAdmin con dbconfig-common
  • verrà richiesta la password di “root” del database
  • Inserire la password per connetersi a phpMyAdmin

a questo punto riavviamo apache:

sudo /etc/init.d/apache2 restart

e testiamo il funzionamento aprendo il browser e navigando all’indirizzo:

http://indirizzo_ip_del_server/phpmyadmin

Se tutto funziona apparirà la schermata di login di phpMyAdmin.

Tutto fatto, possiamo caricare le nostre pagine web nella cartella /var/www

Configurazione Virtual Host con Apache 2

Pagine correlate: Creare un server web con LAMP

VirtualHost

Bene bene, una volta installato il server Web mi sono posto il problema di gestire più siti e non uno solo.  Ovviamente il server risponde ad un indirizzo pubblico, nel mio caso ad uno solo quindi come fare per poter gestire altri siti web oltre al mio  ?

Il VirtualHosting consente la gestione di più domini basandosi sul loro nome ma non sul loro IP.

Per intenderci: Il mio sito web ha come indirizzo www.sito1.com (nome di fantasia) che è legato ad un indirizzo di IP pubblico 192.168.10.100 (indirizzo di fantasia), l’intento è quello di avere un www.sito2.com che sia legato sempre all’indirizzo 192.168.10.100.

Per prima cosa occorre creare la cartella /var/www/sito2 per ospitare tutti i file del sito

sudo mkdir /var/www/sito2

dopodichè si modificano i privilegi così da poter avere accesso completo alla cartella

sudo chown -R utente:utente /var/www/sito2

(utente ovviamente è il nome utente con il quale si accede al server); si copiano, quindi,  all’interno della cartella tutti i file del sito da metter online e quindi si  passa alla creazione del file di configurazione per il dominio. Questo file di configurazione dice ad Apache dove andare a trovare il sito all’inteno del server

sudo gedit /etc/apache2/sites-available/sito2.com.conf

si apre così il nostro editor nel quale occorrerà inserire il seguente testo:

<VirtualHost *:80>
ServerAdmin webmaster@sito2.com
ServerName www.sito2.com
DocumentRoot /var/www/sito2
<Directory “/var/www/sito2”>
Order Deny,Allow Allow from all
Option -Indexes
</Directory>
</VirtualHost>

In pratica stiamo dicendo ad Apache che se arriva una richiesta sulla porta 80 del sito www.sito2.com, lui deve andarlo a cercare nella cartella /var/www/sito2

Non restano che gli ultimi due comandi per abilitare il tutto:

sudo a2ensite sito2.com.conf

sudo /etc/init.d/apache2 restart

Da questo momento il sito sarà raggiungibile all’indirizzo www.sito2.com sempre ammesso che il sito sia registrato presso un’authority e che sia impostato il DNS giusto