In questo articolo vedremo come installare sulla nostra Linux Box un'infrastruttura server LAMP su una macchina virtuale, allo scopo di poterlo sfruttare per rendere accessibile remotamente il PC o per ospitare un piccolo sito personale. LAMP (Linux Apache MySQL PHP/ Perl/Python) è l'acronimo che indica una delle configurazioni server più diffuse al mondo: Apache per consentire la gestione delle richieste HTTP inviate dai comuni browser, MySQL come database e PHP (talvolta sostituito da Python o Perl) per gestire la logica delle applicazioni (o applicazioni web).
Installeremo il web server utilizzando VirtualBox per la gestione delle macchine virtuali, ed adotteremo Debian 6 nella versione più scarna e minimale, dotata del minimo indispensabile per avviare le applicazioni sopra citate (non avremo la necessità, per esempio, di ambienti desktop). Con poche modifiche, inoltre, è facile utilizzare le istruzioni che seguono per installare un server LAMP su una macchina reale ben distinta.
Per rendere tutto il processo "windows-free" utilizzeremo come host di virtualizzazione OS X.Non entreremo, sarebbe al di fuori dell'argomento di questo articolo, nella procedura di configurazione di PHP o MySQL. Per questo potete fare riferimento alla Guida PHP su Linux o alla Guida MySQL.
Installare VirtualBox e creare la macchina virtuale
La prima cosa che dovremo fare sarà scaricare, dal sito ufficiale, l'ultima versione di VirtualBox, un programma di virtualizzazione in grado di fornire le risorse virtuali ad un sistema operativo (detto virtualizzato) di architettura x86, e che quindi ne consente l'esecuzione all'interno di un altro sistema operativo principale.
L'installazione di questo programma è molto semplice ed intuitiva e non richiede precisazioni. Una volta installato, potremo avviarlo e decidere se montare o no le immagini di uno o più sistemi operativi, eventualmente su più periferiche virtuali.
Figura 1: VirtualBox su OS X Lion
(clic per ingrandire)
Prima di procedere, però, scarichiamo Debian 6. Esistono diverse possibilità per l'installazione: Debian, infatti, può essere installato appoggiandosi ad una connessione ad internet, per poi selezionare tutti e soli i pacchetti utili. Ovviamente esiste anche l'opzione tradizionale, ma in tal caso il download richiede più tempo, dal momento che le immagini da scaricare dovranno contenere molti più pacchetti. Nel prosieguo, seguiremo il processo di installazione tramite internet, avendo scelto di scaricare l'immagine per un CD ridotto.
Una volta scaricata l'immagine, apriamo VirtualBox ed aggiungiamo una nuova macchina virtuale, cliccando sul pulsante New. Seguiamo i passi della procedura guidata, inserendo come nome "Debian 6" ed assegnando una RAM virtuale di circa 400 MB (va bene anche lasciare il valore consigliato). A questo punto ci verrà chiesto di creare un nuovo disco fisso virtuale, dove sarà installato il sistema operativo virtualizzato. Senza addentrarci troppo in questi dettagli, andiamo avanti lasciando tutte le impostazioni così come sono predefinite (vi verrà chiesto di dare un nome al vostro disco, ma questo è abbastanza irrilevante per i nostri scopi).
Alla fine della procedura guidata, avremo creato la macchina virtuale.
Figura 2: La macchina virtuale (ancora vuota) è pronta per essere utilizzata
(clic per ingrandire)
Installare Debian 6 tramite internet
A questo punto, non ci resta che montare, su una periferica virtuale accessibile dalla virtual machine appena creata, l'immagine del sistema operativo che abbiamo scaricato. Per farlo, clicchiamo con il tasto destro sul nome della macchina virtuale, e selezioniamo la voce Settings…. Qui andiamo alla scheda Archiviazione e, alla voce Controller IDE, clicchiamo sull'icona a forma di CD e selezioniamo un file dal disco. Per semplicità, la schermata di riferimento è mostrata in figura 3.
Figura 3: Montare l'immagine del sistema operativo sulla periferica virtuale
(clic per ingrandire)
Una volta selezionata l'immagine, clicchiamo su OK ed avviamo la macchina virtuale, selezionando il pulsante Start. In questo modo si avvierà la procedura di installazione di Debian, che per nostra fortuna è abbastanza semplice. L'unica cosa cui dobbiamo prestare attenzione è la scelta dei pacchetti che ci interessa installare per il nostro server LAMP.
Dopo l'installazione del sistema di base, ci verrà chiesto di scegliere il mirror da cui scaricare i pacchetti aggiuntivi. Scegliamo la voce Italia, ed uno a scelta tra i mirror disponibili (noi abbiamo scelto ftp.it.debian.org, ma in linea di massima uno vale l'altro). A questo punto, dopo lo scaricamento di alcuni pacchetti di default, ed altre operazione che l'installar gestisce automaticamente, verrà visualizzata una lista di configurazioni predefinite (che è un'opzione decisamente preferibile alla selezione manuale dei singoli pacchetti). La configurazione che fa esattamente al caso nostro è Server web. Selezioniamola, premendo la barra spaziatrice dopo esserci posizionati sulla voce corrispondente, e scegliamo con essa anche l'opzione Utilità di sistema standard (che può sempre essere utile, come mostrato in figura:
Figura 4: Installazione di Debian 6: selezioniamo solo i pacchetti che ci interessano
(clic per ingrandire)
Selezionate le voci, premiamo il tasto Invio per proseguire con l'installazione. Dopo il download e l'installazione dei pacchetti, non resta che installare le ultime componenti del nostro server virtuale: MySQL e PHP. PHP viene installato automaticamente utilizzando l'impostazione Server Web, ma è sempre bene verificare che ci siano tutti i componenti necessari a gestire un sito con questo linguaggio.
Debian, come tutti i sistemi basati su questa distribuzione, dispone di uno strumento molto utile per l'installazione dei pacchetti presenti sui repository ufficiali: apt. Usiamolo per installare MySQL:
$ su# apt-get install mysql-server
E per installare PHP con tutti i pacchetti aggiuntivi:
$ su# apt-get install libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-domxml php5-gd php5-imap php5-ldap php5-mcal php5-mhash php5-mysql php5-odbc php5-pear php5-xslt
Alla fine, dovremmo avere installato tutto ciò che ci serve per utilizzare il nostro server LAMP. Vediamo adesso come utilizzare praticamente gli strumenti appena installati.
Un mini-sito statico sul server virtuale
Apache risponde alle richieste HTTP riferendosi ad una directory del server in cui vengono salvate tutte le risorse accessibili. Per prima cosa, quindi, dobbiamo rintracciare questa directory all'interno del sistema appena installato. Avendo installato Apache contestualmente all'installazione di Debian, la directory in questione sarà /var/www, e al suo interno troveremo una pagina HTML di test (index.html). Basterà aggiungere file o pagine web a questa directory, per poi potervi accedere tramite un comune browser web.
A questo punto, non resta che rendere accessibile dall'esterno la directory del server appena identificata. Per farlo, chiudiamo momentaneamente la virtual machine e, su VirtualBox, selezioniamo il nostro server virtuale. Apriamo, quindi, nuovamente i Settings ma, questa volta, alla scheda Rete, assicuriamoci che la voce Connessa a: sia valorizzata con l'opzione Scheda con bridge. In questo modo potremo associare alla macchina virtuale un indirizzo IP locale diverso da quello delle altre macchine connesse al router. In altre parole, per il router (e per la rete) il nostro server apparirà come una macchina reale e distinta dal PC su cui, in realtà, è eseguito in modo virtualizzato.
Figura 5: Configurazione della scheda con bridge per il server virtuale
(clic per ingrandire)
Riavviamo, ora, la macchina virtuale. Dopo avere effettuato il login, digitiamo da terminale il comando:
ifconfig
e cerchiamo l'indirizzo IP che il router ha associato al nostro server. Supponiamo, ad esempio, che sia 192.168.1.10. Spostiamoci, a questo punto, su un browser del PC su cui sta girando VirtualBox, e digitiamo sulla barra degli indirizzo la URL:
http://192.168.1.10
Se tutto è andato bene, riusciremo a visualizzare la pagina web index.html, che avevamo precedentemente trovato all'interno di /var/www.
Conclusioni
A questo punto, capiamo quanto sia semplice condividere file con altri computer della rete, ovvero con tutti gli utenti del Web (configurando opportunamente il NAT sul nostro router, in modo da rindirizzare le connessioni in entrata alla porta 80 verso l'indirizzo IP locale del server virtuale). Copiando i file che rappresentano un sito web (o qualsiasi altro documento che si vuole condividere) all'interno di /var/www , sarà sufficiente digitare su un qualsiasi browser una URL simile alla seguente (con riferimento all'indirizzo IP d'esempio usato in precedenza):
http://192.168.1.10/LaMiaDirectory/fileEsempio.jpeg
Figura 6: Un esempio pratico
(clic per ingrandire)
Ovviamente esistono anche metodi alternativi e molto più efficienti per la condivisione dei file. Ma un piccolo server LAMP virtuale potrebbe essere un ottimo compromesso per chi non può (o non vuole) permettersi l'hosting tramite servizi a pagamento, magari accontentandosi delle risorse relativamente limitate che una rete domestica e un PC possono offrire.
FAQs
Can you run a webserver in a virtual machine? ›
In an Azure Virtual Machine, IIS can be installed and configured to host web applications and websites, allowing developers to create and deploy web applications in a Windows-based environment.
How to install Apache Web server in Linux? ›- Step 1: Log in to Linux Server. ...
- Step 2: Run system update. ...
- Step 3: Install Apache on Linux. ...
- Step 4: Enable and check service. ...
- Step 1: Access Terminal. ...
- Step 2: Update Linux. ...
- Step 3: Install Httpd or Apache on Linux. ...
- Step 4: Start and Check the status.
To install the default Debian web server environment under Debian, you should use tasksel, then select Web Server. If you wonder what's the content of that task, run tasksel --task-packages web-server (Of course, you need to have tasksel installed).
How to install LAMP stack in Linux? ›- Step 1: Install Apache.
- Step 2: Install MySQL and Create a Database.
- Step 3: Install PHP. Install PHP Modules (Optional)
- Step 4: Restart Apache.
- Step 5: Test PHP Processing on Web Server.
- Start the Network Control Panel Applet (Start - Settings - Control Panel - Network)
- Select the Protocols tab.
- Select TCP/IP and click Properties.
- On the "IP Address" tab click the Advanced button.
- In the IP Address section click Add.
- Run the following command to install Apache. # apt-get install apache2.
- Run the following command to start the Apache process. # /etc/init.d/apache2 start.
- Verify that the service is running by executing the following command. # /etc/init.d/apache2 status.
- Run the following command to restart Apache.
- Install the Ubuntu operating system.
- Install Apache web server.
- Install MySQL.
- Install PHP.
- Make a directory for your domain name.
- Create a sample web page.
- Create a virtual host file.
- Test the virtual host.
- Open the SSH terminal on your machine and run the following command: ssh your_username@host_ip_address. ...
- Type in your password and hit Enter. ...
- When you are connecting to a server for the very first time, it will ask you if you want to continue connecting.
On Debian systems, Apache Virtual Hosts configuration files are located in /etc/apache2/sites-available directory and can be enabled by creating symbolic links to the /etc/apache2/sites-enabled directory, which is read by Apache during the startup.
How to turn Debian into a server? ›- Step 1: Log in via SSH. ...
- Step 2: Change Logged in User Password. ...
- Step 3: Create a New Sudo User. ...
- Step 4: Logging in as the Newly Created User. ...
- Step 5: Disable Root Login via SSH. ...
- Step 6: Update Your Server. ...
- Step 7: Setting timezone. ...
- Step 8: Set Hostname.
Does Debian have a Web browser? ›
The default web browser in Debian's GNOME environment is Firefox. The default web browser in Debian's KDE environment is Konqueror.
How to setup LAMP on Debian? ›- Step 1: Update and Upgrade Your System. ...
- Step 2: Install Apache Web Server. ...
- Step 3: Install MySQL/MariaDB Database Server. ...
- Step 4: Install PHP. ...
- Step 5: Test PHP Installation. ...
- Step 6: Secure Your LAMP Stack.
LAMP is an acronym for the operating system, Linux; the web server, Apache; the database server, MySQL; and the programming language, PHP. All four of these technologies are open source, which means they are community maintained and freely available for anyone to use.
How to connect Apache and MySQL in Linux? ›- Prerequisites.
- Step 1 — Installing Apache and Updating the Firewall.
- Step 2 — Installing MySQL.
- Step 3 — Installing PHP.
- Step 4 — Creating a Virtual Host for your Website.
- Step 5 — Testing PHP Processing on your Web Server.
- Step 6 — Testing Database Connection from PHP (Optional)
- Conclusion.
- Install Apache http. Copy. sudo yum install httpd -y.
- Start the apache server and configure it to start after system reboots. Copy. ...
- Run a quick check on apache configurations. Copy. ...
- Create firewall rules to allow access to the ports on which the HTTP server listens. Copy.
Hyper-V is a hardware-based hypervisor that lets you run VMs in their own isolated spaces. You can run multiple VMs at the same time, provided you have enough resources like disk space, RAM, and CPU capacity. Hyper-V supports Windows, Windows Server, and Linux guest operating systems.
Does a virtual server require a physical server? ›To set up a virtual server, a hypervisor has to be installed on top of physical hardware. Once installed, the hypervisor can create and manage virtual servers that have their own virtual computing resources.
How to create a web server in VirtualBox? ›- Step 1: Install VirtualBox on your server host. ...
- Step 2: Download Ubuntu Desktop. ...
- Step 3: Create and configure a new VirtualBox virtual machine. ...
- Step 4: Install Ubuntu Server. ...
- Step 5: Update your server. ...
- Step 6: Passwordless sudo. ...
- Step 7: Fix vi. ...
- Step 8: Enable SSH.