Web server su OpenVZ

OpenVZ è una buona soluzione per la virtualizzazione a livello di sistema operativo. Quando ci si fida degli applicativi che girano in un sistema, OpenVZ è decisamente un prodotto da considerare.

Viceversa affidando un vps ad un estraneo magari senza capacità in ambito sistemistico, può risultare un problema; poiché l’isolamento non è così robusto come quello fornito da VMware ESX oppure Xen.

La prima cosa da fare è installare OpenVZ sul proprio server fisico, le istruzioni per farlo si possono trovare qui: OpenVZ installazione rapida.

Scaricare dalla pagina http://wiki.openvz.org/Download/template/precreated il template già pronto di Debian 5.0 (quello x86 per sistemi a 32 bit oppure x86_64 per la versione a 64 bit).[ad#midarticlequadr]

Collocare l’archivio scaricato, senza scompattarlo, nella cartella /vz/template/cache del proprio computer.

Per creare un container (un vps) a partire dal modello scaricato, basta eseguire il comando, avendo cura di mettere debian-5.0-x86_64 se sis è scelto un template a 64 bit:

# /usr/sbin/vzctl create 101 –ostemplate debian-5.0-x86

Dopo qualche secondo viene creato un nuovo container, ma per poterlo usare bisogna avviarlo:

# /usr/sbin/vzctl start 101

Per poter utilizzare una connessione di rete e quindi rendere il vps contattabile almeno dalla LAN assegnare un indirizzo ip facente parte della rete (anche mentre l’ambiente è in esecuzione):

# /usr/sbin/vzctl set 101 –ipadd 192.168.1.101

Per potersi collegare al vps basta usare il comando:

# /usr/sbin/vzctl enter 101

Digitando “ps aux” si vedono che solo pochi processi sono in esecuzione. Invece adoperando “free –m” si nota che (nel mio caso) solo 11 megabyte sono adoperati.

Prima di tutto controllare che la rete sia effettivamente funzionante provando con un ping ad un indirizzo della subnet.

Se il ping non mostra alcun pacchetto di risposta può essere necessario disattivare l’interfaccia virtuale nel container creata già con un indirizzo non adeguato alle caratteristiche della propria rete: col comando “ipconfig” vengono mostrate l’interfaccia di loopback, l’interfaccia creata con l’ip personalizzato (come spiegato precedentemente) e una scheda di rete con ip 10.1.1.1 che va eliminata col comando:

vps:/# ifdown venet0:0

Ora è possibile fare un upgrade del sistema con le ultime patch di sicurezza:

vps:/# apt-get update

vps:/# apt-get upgrade

Se ci sono ancora problemi con le connessioni ad Internet, adoperare strumenti come WireShark per capire cosa sta accadendo.

Può darsi che abbia problemi con la risoluzione dei nomi (cioè che sia in grado di raggiungere l’esterno usando un indirizzo ip pubblico ma non sia capace di risolvere ad esempio google.it), in questo caso vedere le regole usate per iptables sul server fisico (disabilitarle temporaneamente).

Per approfondire vedere gli articoli della categoria OpenVZ.

Non c’è sinceramente molto da fare perché Apache è già installato all’interno del container.

Se si vuole usare Apache per creare un VirtualHost si può adoperare questo modello:

<VirtualHost *:80>
ServerAdmin admin@adminsite.com
ServerName www.adminsite.com
ServerAlias adminsite.com
DocumentRoot /var/www/adminsite
<Directory /var/www/adminsite>
Options FollowSymLinks -Indexes
AllowOverride All
</Directory>

ErrorLog /var/log/apache2/adminsite_error.log
CustomLog /var/log/apache2/adminsite_custom.log combined
</VirtualHost>

Se si preferisce sostituire Apache con un web server più leggero come lighttpd o nginx si può disinstallare Apache con:

vps:/# /etc/init.d/apache2 stop

vps:/# apt-get remove apache2

Per installare Nginx dai pacchetti inclusi nei repository Debian:

vps:/# apt-get install nginx

web

Articolo precedente

Alla ricerca di un web hosting
virtual machine

Articolo successivo

Vps o server dedicato?