RaspberryPI Tutorials

Raspberry PI: Installiamo un Web Server

By on 21 Febbraio 2016

Impareremo ora ad installare un web server, in particolare Apache. Una volta istallato il servizio possiamo creare un nostro sito web e farlo vedere all’esterno attraverso la rete internet. Iniziamo !!

1. Aggiorniamo il nostro Raspberry

Se stai eseguendo una nuova versione di Debian, perciò dovrai eseguire alcune procedure di pulizia, aggiornamento e installazione. Prima, dovremo aggiornare il clock, aggiornare le fonti e poi aggiornare tutti i pacchetti preinstallati. Usa il codice seguente per farlo:

sudo dpkg-reconfigure tzdata
sudo apt-get update
sudo apt-get upgrade

Per il prossimo passo, dobbiamo installare RPI, lo strumento per l’update di Hexxeh, per tenere sempre aggiornato Raspberry Pi. Per farlo, esegui:

sudo apt-get install ca-certificates
sudo apt-get install git-core
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo rpi-update
sudo shutdown -r now

2. Abilitiamo l’SSH

Se non lo abbiamo ancora fatto questo è il momento giusto. Grazie all’SSH possiamo connetterci al nostro ber raspberry da qualsiasi computer della stessa sottorete. Basterà scaricare un programma tipo putty e collegarsi alla porta 22 dell’ip del nostro raspberry. Per abilitarlo eseguiamo i seguenti comandi:

sudo mv /boot/boot_enable_ssh.rc /boot/boot.rc
sudo shutdown -r now

Adesso puoi scollegare i cavi della tua tastiera USB e del tuo monitor. Non sono più necessari, perché potrai eseguire tutte le altre operazioni con collegamento SSH.

Ora Apri il tuo client SSH (io uso putty) e collegati all’indirizzo IP del tuo Raspberry Pi alla porta 22. Per motivi di sicurezza, dovresti cambiare la tua password. Fallo eseguendo:

sudo passwd pi

Ti sarà richiesto di inserire la tua password, e di confermarla inserendola di nuovo.

3. Installiamo il Server Apache

 

Per installare Apache e PHP, esegui i comandi seguenti:

sudo apt-get install apache2 php5 libapache2-mod-php5

Se ottieni un errore d’installazione, esegui:

sudo groupadd www-data
sudo usermod -g www-data www-data

Adesso riavvia il server con:

sudo service apache2 restart

Adesso inserisci l’indirizzo IP del tuo Raspberry Pi (per capire qual’è il tuo ip basta digitare il comando ifconfig) in un browser , e dovresti vedere una semplice pagina che dirà “It Works!” (Funziona!).

Ok. Ora hai installato il tuo web server. Come faccio a modificarlo ? La pagina che vedi non è nient’altro che la pagina index.html presente nel percorso del tuo raspberry: /var/www

Tutto quello che è presente in questa cartella www verrà mostrato sulla pagina web. Quindi se noi editiamo il file index.html

sudo nano /var/www/index.html

e modifichiamo il file nel seguente modo:

<html><body><h1>Funziona Tutto !!!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>

e salviamo con CTRL+X e scrivendo Yes

Ora abbiamo cambiato la nostra pagina web.

Cambiare Porta Server

Come hai potuto notare il nostro server risponde alla porta di default 80. Se vogliamo cambiarla basta modificare un paio di file:

sudo nano /etc/apache2/ports.conf

e modificarlo:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80 #<---- Scrivi qui la tua nuova porta
Listen 80 #<---- Scrivi qui la tua nuova porta

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

va modificata la porta anche nel seguente file:

sudo nano /etc/apache2/sites-available/default

in:

<VirtualHost *:80>   //<----- Inserisci qui la tua nuova porta
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ok. una volta fatto questo riavviamo Apache con:

sudo service apache2 restart

Ricordati, l’accesso al tuo sito sarà sempre nel formato

ip_del_tuo_raspberry:porta

Ovviamente dalla tua casa potrai accedere al tuo sito inserendo un ip del tipo: 192.168.x.x  ma il ragionamento cambia se vogliamo accedere server da fuori. In questo caso bisogna ottenere:

  • un ip statico dal tuo raspberry così se dovesse saltare la corrente a casa tua non ne verrà assegnato uno nuovo. Tutorial qui.

  • creare un dns che in automatico inseguirà eventuali cambiamenti di ip (in questo caso intendo IP visto all’esterno della rete). Tutorial qui.

  • aprire la porta desiderata dal vostro router. Tutorial qui.

 

Prossimi tutorial:

TAGS
RELATED POSTS

LEAVE A COMMENT

IL FALCY
Turin, Italy

Hi my name is Falcy and this is my World! I use this blog theme to tell people my story. Through all the places and things I see around the world, there isn't a best way to share my experience! Follow my daily updates and discover with me the essence of traveling!

Visited Places