Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa guida si vedrà come costruire un server Web di tipo LAMP (LinuxApacheMySqlPhp) con accesso Ftp attraverso il software di virtualizzazione VirtualBox, con tutti i vantaggi che ne derivano. L'utilizzo di tale soluzione è indicata solamente per un Server Web ad utilizzo personale.
Preparazione dell'ambiente VirtualBox
Installazione
Procedere all'installazione di VirtualBox seguendo la relativa guida.
Configurazione
Avviare VirtualBox e procedere come indicato:
Accedere alla finestra di dialogo delle impostazioni di VirtualBox attraverso la voce di menù File → Impostazioni.
Selezionale la scheda Rete.
Aggiungere una periferica di rete facendo clic sul tasto Aggiungi rete solo host (Ins).
Nella finestra di dialogo della rete verrà aggiunta la periferica:
vboxnet0
Creazione della macchina virtuale
Procedere alla creazione della macchina virtuale seguendo la relativa guida;
- Parametri consigliati se si procede all'installazione di Ubuntu Server:
Nome: WebServer
Sistema operativo: Linux
Versione: Ubuntu
Memoria di base: 256 MB
Disco rigido: 8 GB
È possibile modificare i parametri della macchina virtuale secondo le proprie esigenze.
Configurazione della macchina virtuale
Fare clic con il tasto destro del mouse sulla macchina virtuale appena creata e scegliere, dal menù contestuale, Impostazioni;
Selezionare l'opzione Rete.
Selezionare la scheda Scheda 2.
- Configurare come segue:
Spuntare l'opzione Abilita scheda di rete
Connessa a: Scheda solo host
Nome: vboxnet0
Confermare le opzioni facendo clic su Ok.
Installazione del sistema operativo
Dato l'utilizzo che si farà della macchina virtuale, si procederà con l'installazione di Ubuntu Server L.T.S. La guida è tuttavia valida per qualsiasi altra versione di Ubuntu
Procurarsi l'immagine ISO di Ubuntu Server dalla relativa pagina di download;
Procedere all'installazione di UbuntuServer nella macchina virtuale seguendo la relativa guida;
Nel passo di installazione Interfaccia di rete principale selezionare eth0;
Nel passo di installazione Selezione del software assicurarsi di non selezionare alcuna opzione.
Configurazione del Server Web
- Accedendere la macchina virtuale e accedere al sistema con le credenziale scelte in fase di installazione;
Eseguire un aggiornamento del sistema digitando
sudo apt-get update && sudo apt-get dist-upgrade
Ubuntu Server è un sistema operativo privo di interfaccia grafica. Qualora si opti per una versione differente di Ubuntu tutti i passi seguenti dovranno essere eseguiti in una finestra di terminale.
Tutte le procedure seguenti devono essere svolte nella macchina virtuale.
Configurazione della rete
Verificare la configurazione delle periferiche di rete digitando
ifconfig -a
Devono essere presenti le interfacce di rete eth0 e eth1 come nell'output seguente
eth0 Link encap:Ethernet HWaddr 08:00:27:d7:93:df indirizzo inet:10.0.2.15 Bcast:10.0.2.255 Maschera:255.255.255.0 indirizzo inet6: fe80::a00:27ff:fed7:93df/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31727 errors:0 dropped:0 overruns:0 frame:0 TX packets:14974 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:1000 Byte RX:25515732 (25.5 MB) Byte TX:856748 (856.7 KB) eth1 Link encap:Ethernet HWaddr 08:00:27:db:3a:18 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:1000 Byte RX:0 (0.0 B) Byte TX:0 (0.0 B) lo Link encap:Loopback locale indirizzo inet:127.0.0.1 Maschera:255.0.0.0 indirizzo inet6: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:0 Byte RX:0 (0.0 B) Byte TX:0 (0.0 B)
L'interfaccia eth0 permette alla macchina virtuale di accedere alla rete internet attraverso la connessione del computer host. L'interfaccia eth1 permette al computer host di accedere alla macchina virtuale.
Avviare l'interfaccia di rete eth1 con il comando
sudo ifconfig eth1 up
Assegnare un indirizzo di rete all'interfaccia eth1 con il comando
sudo dhclient eth1
Verificare la corretta assegnazione dell'indirizzo attraverso in comando
ifconfig
che dovrà restituire un output simile al seguente
eth0 Link encap:Ethernet HWaddr 08:00:27:d7:93:df indirizzo inet:10.0.2.15 Bcast:10.0.2.255 Maschera:255.255.255.0 indirizzo inet6: fe80::a00:27ff:fed7:93df/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31727 errors:0 dropped:0 overruns:0 frame:0 TX packets:14974 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:1000 Byte RX:25515732 (25.5 MB) Byte TX:856748 (856.7 KB) eth1 Link encap:Ethernet HWaddr 08:00:27:db:3a:18 indirizzo inet:192.168.56.101 Bcast:192.168.56.255 Maschera:255.255.255.0 indirizzo inet6: fe80::a00:27ff:fedb:3a18/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:9 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:1000 Byte RX:1770 (1.7 KB) Byte TX:1494 (1.4 KB) lo Link encap:Loopback locale indirizzo inet:127.0.0.1 Maschera:255.0.0.0 indirizzo inet6: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:0 Byte RX:0 (0.0 B) Byte TX:0 (0.0 B)
Prendere nota dell'indirizzo inet dell'interfaccia eth1, in questo caso 192.168.56.101.
Installazione del server LAMP
Installare il programma tastsel con il comando
sudo apt-get install tasksel
Installare il Server LAMP con il comando
sudo tasksel install lamp-server
Durante l'installazione del metapacchetto lamp-server verranno richieste all'utente delle informazioni aggiuntive, in particolare:
Verifica della configurazione
Nella computer host aprire il proprio browser web preferito e digitare, nella barra degli indirizzi, l'indirizzo inet della macchina virtuale. In questo caso
http://192.168.56.101
Se la configurazione è avvenuta con successo sarà possibile visualizzare il testo
It works! This is the default web page for this server. The web server software is running but no content has been added, yet.
Configurazione statica della rete
Se viene saltato questo passaggio, sarà necessario, ad ogni avvio della macchina virtuale, ripetere i passi contenuti nel paragrafo Configurazione della rete
Aprire, nella macchina virtuale e con privilegi di amministratore, il file /etc/network/interfaces con il comando
sudo nano /etc/netork/interfaces
Aggiungere, alla fine del file, le seguenti righe
# Scheda solo-host auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255
I valori sono i medesimi reperibili nel punto 4. del paragrafo Configurazione della rete.
Salvare le modifiche attraverso la sequenza di tasti Ctrl+X sovrascrivendo il file.
Il contenuto del file dovrà essere simile a:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 # The primary network interface auto eth0 iface eth0 inet dhcp # Scheda solo-host auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255
Installazione e configurazione del server FTP
Il demone FTP sarà configurato per garantire l'accesso solamente agli utenti della macchina virtuale. Per configurazioni differenti o per opzioni specifiche, fare riferimento alla relativa guida.
Installare il pacchetto vsftpd ;
Aprire, nella macchina virtuale e con privilegi di amministratore, il file /etc/vsftpd.conf con il comando
sudo nano /etc/vsftpd.conf
Eliminare, se presente, il # dalla riga
#local_enable=YES
In questo modo tutti e solo gli utenti presenti nella mecchina virtuale potranno accedere via FTP con le proprie credenziali di accesso;Salvare le modifiche apportate e chiudere il file con la combinazione di tasti Ctrl+X ;
Riavviare il demone vsftpd con il comando
sudo service vsftpd restart
- Configurare il proprio client FTP, nel sistema host, con le credenziali:
Indirizzo: 192.168.56.101 (coincide con l'indirizzo inet della macchina virtuale);
- Nome utente: uguale a quello utilizzato per accedere alla macchina virtuale;
- Password: uguale a quella utilizzata per accedere alla macchina virtuale.
Spegnere la macchina virtuale
Digitare il comando
sudo shutdown -h now
Configurazione della macchina host
È possibile assegnare un nome al proprio server virtuale e raggiungerlo attraverso tale nome senza doversi ricordare l'indirizzo inet. Procedere come segue:
Nel sistema host aprire con un editor di testo e con i privilegi di amministratore il file /etc/hosts
Aggiungere la riga
192.168.56.101 virtual.host
192.168.56.101: è l'indirizzo inet della macchina virtuale;
virtual.host: è il mone da assegnare alla macchina virtuale.
È ora possibile accedere al proprio server virtuale digitando nella barra degli indirizzi del browser il collegamento http://virtual.host
Scegliere nomi che non siano presenti nel web. Se si sceglie come nome, ad esempio google.com, ogni qualvolta nel proprio browser si digiterà un indirizzo che termini con google.com si verrà reindirizzati al proprio server virtuale invece che all'indirizzo del sito internet.
Ulteriori risorse
CategoryServer CategoryVirtualizzazione CategoryDaRevisionare