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