Archivio

Archivio per la categoria ‘How-to’

Installare lighttpd su Debian, CentOS e Fedora

28 ottobre 2009 Luca Nessun commento

lighttpdAvete intenzione di installare un web server su una macchina dotata di poca memoria RAM o CPU limitata? In questo caso probabilmente Lighttpd (pronunciato lighty) sara’ la vostra scelta vincente! I suoi punti di forza sono: minimo consumo di risorse ed elevate prestazioni. A differenza del web server  Apache dispone di un numero ridotto di moduli ed uno dei maggiori svantaggi e’ che  se dovete installare sul vostro sito un cms, probabilmente sara’ necessario ritoccare qualche regole di rewrite.  Niente paura pero’, in rete trovere molte informazioni a riguardo e a configurazione ultimata la soddisfazione ripaghera’ ogni sforzo.

Ecco come installarlo

In Debian:

apt-get update
apt-get install lighttpd php5-cgi

Con CentOS/Fedora:

yum install zlib pcre php-cli

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

yum install lighttpd lighttpd-fastcgi

/etc/init.d/lighttpd start

Eseguendo “ps ax” vedrete gia’ lighttpd in esecuzione:

www-data 11321  0.0  1.9  53616  1268 ?        S    19:17   0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

e collegandovi al server con un browser web visualizzerete la pagina di benvenuto (in CentOS/Fedora un messaggio di errore perche’ manca il file index del sito ;)
La configurazione di default crea un sito con la document root in

/var/www/ (Debian)

/srv/www/lighttpd/ (CentOS/Fedora)

In CentOS/Fedora dobbiamo eseguire anche questo comando per far eseguire il servizio all’avvio del server

chkconfig –level 345 lighttpd on

Integriamo adesso l’interprete php.
Forziamo il PHP a correggere il percorso del cgi in modo conforme alle specifiche PATH_INFO/PATH_TRANSLATED editando /etc/php5/cgi/php.ini (in Debian)   e decommentando (togliendo il carattere ‘;’ da inizio riga) la direttiva “cgi.fix_pathinfo” ed impostando il suo valore a 1

cgi.fix_pathinfo=1

In CentOS invece apriamo il file /etc/php.ini e scriviamo  cgi.fix_pathinfo=1 come ultima riga

Adesso dobbiamo far caricare il modulo fastcgi a lighttpd.
Questa e’ la procedura Debian

Accediamo nella cartella “conf-enabled”

cd /etc/lighttpd/conf-enabled/

creiamo un link simbolico alla configurazione di mod_fastcgi

ln -s ../conf-available/10-fastcgi.conf

E’ necessario impostare alla direttiva “bin-path” presente nel file 10-fastcgi.conf il corretto percorso del binario php-cgi. Apriamo quindi il file e la riga “bin-path”  in questo modo

“bin-path” => “/usr/bin/php-cgi”,

N.B. Verificate che il file /usr/bin/php-cgi esista

Questa e’ la procedura per CentOS/Fedora

Apriamo il file  lighttpd.conf e decommentiamo il modulo  mod_fastcgi (in pratica dobbiamo togliere il carattere # ad inizio riga)

Poi aggiungiamo queste istruzioni a fine file:

fastcgi.server             = ( “.php” =>
( “localhost” =>
(
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-cgi”
)
)
)

Riavviamo il serizio per convalidare le nuove impostazioni

/etc/init.d/lighttpd restart

Pubblicando questo file

/var/www/info.php (Debian)

/srv/www/lighttpd/info.php (CentOS/Fedora)

con questo contenuto

<?php
phpinfo();
?>

Avremo modo (accedendo con un browser web all’indirizzo www.tuosito.it/info.php) di visualizzare la configurazione del php installato.

Se sul server volessimo ospitare piu’ di un sito dovremo abilitare mod_evhost.

Andiamo a creare le cartelle dei siti

Debian:

mkdir -p /var/www/virtual_hosts/www.sito1.it/htdocs
mkdir -p /var/www/virtual_hosts/www.sito2.it/htdocs

CentOS/Fedora:

mkdir -p /srv/www/virtual_hosts/www.sito1.it/htdocs
mkdir -p /srv/www/virtual_hosts/www.sito2.it/htdocs

Creiamo una pagina di benvenuto per entrambi i domini

Debian:

echo “Benvenuto nel sito1″ > /var/www/virtual_hosts/www.sito1.it/htdocs/index.html
echo “Benvenuto nel sito2″ > /var/www/virtual_hosts/www.sito2.it/htdocs/index.html

CentOS/Fedora:

echo “Benvenuto nel sito1″ > /srv/www/virtual_hosts/www.sito1.it/htdocs/index.html
echo “Benvenuto nel sito2″ > /srv/www/virtual_hosts/www.sito2.it/htdocs/index.html

Ora editiamo la configurazione di lighttpd (/etc/lighttpd/lighttpd.conf).
Abilitiamo “mod_evhost” decommentando il modulo dal gruppo “server.modules”, bastera’ eliminare il carattere # ad inizio riga. In questo modo:

server.modules              = (
“mod_access”,
“mod_alias”,
“mod_accesslog”,
“mod_compress”,
#           “mod_rewrite”,
#           “mod_redirect”,
“mod_evhost”,
#           “mod_usertrack”,

Adesso a fine file possiamo aggiungere queste righe, ed impostare la document root dei siti

$HTTP["host"] == “www.sito1.it” {
evhost.path-pattern = “/var/www/virtual_hosts/www.sito1.it/htdocs/”
}

$HTTP["host"] == “www.sito2.it” {
evhost.path-pattern = “/var/www/virtual_hosts/www.sito2.it/htdocs/”
}

N.B. Adattate path-pattern con il percorso associato ai vostri siti.

Salviamo il file e riavviamo il servizio

/etc/init.d/lighttpd restart

Cliccando QUI accederete alla guida sull’installazione di proftpd in debian per poter aggiornare i siti via ftp

Come creare una VPN punto-punto con OpenVPN

24 ottobre 2009 Luca 1 commento

OpenvpnL’utilizzo di una VPN punto-punto permette di creare un tunnel virtuale cifrato tra due macchine appartenenti a reti differenti. Lo scopo e’ quello di criptare i dati che attraverso internet, evitando cosi’ di essere ‘letti’ dopo essere stati ’sniffati’ in un punto della rete non gestibile da noi. Realizzeremo tutto cio’ utilizzando il software  OpenVPN , da installare su entrambe le macchine dove dovra’ essere stabilito il collegamento.

L’installazione con le distribuzioni linux Debian e Ubuntu si fa eseguendo questo comando

apt-get install openvpn

Con Fedora linux:

yum install openvpn

Il secondo passo da eseguire e’ la creazione della chiave ‘privata’ e condivisa con questo comando:

openvpn –genkey –secret /etc/chiave-privata.key

chmod 600 /etc/chiave-privata.key

Dopo averla generata su una macchina si puo’ spostare sull’altra tramite il protocollo ssh:

scp /etc/chiave-privata.key utente@nome-macchina-o-indirizzo-ip:/etc/chiave-privata.key

(impostare anche qui i permessi a 600 su /etc/chiave-privata.key in modo tale che solamente root puo’ leggere questo file)

Si crea poi una configurazione per il server (chiameremo il file /etc/openvpn-server.conf)

dev tun

ifconfig 10.0.0.1 10.0.0.2

secret /etc/chiave-privata.key

comp-lzo

N.B. comp-lzo attiva la compressione dei dati

Ed una per il client (chiameremo il file /etc/openvpn-client.conf)

remote IndirizzoIPdelServer

dev tun

ifconfig 10.0.0.2 10.0.0.1

secret /etc/chiave-privata.key

comp-lzo

N.B. Inserire l’indirizzo ip corretto o il nome della macchina verso cui dovremmo connetterci nel campo “remote”

Adesso sul server dobbiamo eseguire

openvpn /etc/openvpn-server.conf &

mentre sul client

/etc/openvpn-client.conf &

Dal client adesso possiamo fare questo test per verificare se c’e'  risposta dal server (che sara’ raggiungibile con l’ip 10.0.0.1)

ping 10.0.0.1

Tutti i dati inviati dal client verso l’ip 10.0.0.1 saranno criptati

Spostare IMail su un altro computer

2 ottobre 2009 Pidicci Nessun commento

imailgslogoSe avete l’esigenza di trasferire il server di posta IMail della IPSWITCH  per Windows da un server ad un altro e’ necessario effettuare alcune operazioni che vi permetteranno di copiare tutte le configurazioni degli utenti nonchè i contenuti delle loro caselel di posta.

Premesso che abbiate gia’ installato il sistema operativo sul server di destinazione la procedura da seguire consiste nei seguenti passi:

  1. Nel computer di origine fermare tutti i servizi di IMail ed uscire dal programma IMail Administrator
  2. Effettuare l’export della chiave di IMail dal registro di windows. Per poterlo fare si esegua il comando ‘regedit’,  si clicchi con il tasto destro del mouse sulla chiave HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch e si selezioni la voce ‘esporta’. La stessa cosa deve essere fatta per la chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMTP32
  3. Copiare i file appena esportati e ca cartella di IMail sul server di destinazione. Attenzione: se le cartelle contenenti le caselle di posta degli utenti si trovano su una cartella esterna ad IMail si copino anche loro nel server di destinazione conservando i path.
  4. Disconnettere entrambe i server dalla rete
  5. Installare IMail sul nuovo computer utilizzando se possibile la path di installazione del vecchio server. Se non e’ possibile allora si editi con notepad o qualsiasi editor di testo i due file contenenti le chiavi facendo un find e replace del path
  6. Si faccia lo shutdown di tutti i servizi di IMail e si esca dall’ IMail Administrator sul computer di destinazione
  7. Si aggiorni l’IMail del nuovo server inserendo tutti gil HotFix del vecchio IMail
  8. Si esegua il comando ‘regedit’ anche sul nuiovo server e si elimini la chiave ‘IMail’ all’interno di HKEY_LOCAL_MACHIN\SOFTWARE\Ipswitch
  9. Si importi i file dei registri esportati dal vecchio server
  10. Si copi la cartella di IMail del vecchio server sul nuovo sovrascrivendo i file gia’ esistenti
  11. Si connetta il nuovo server alla rete
  12. Si controlli la configurazione del nuovo IMail e si avviino tutti i servizi necessari

Buon lavoro….

Creare un alias email con plesk

1 ottobre 2009 Luca Nessun commento

pleskQueste sono le operazioni da effettuare per creare un alias email con il pannello amministrativo plesk:

- Selezionare il dominio su cui desiderate attivare il nuovo alias’ nella sezione ‘Domains’;
- Accedere al link ‘mail’ della sezione ’services’;
- Selezionare l’indirizzo di posta (ad esempio webmaster@tuosito.it);
- Accedere nella sezione ‘Add New Mail Alias’,
- Digitare l’alias nel campo ‘Mail alias name’ (digitare ad esempio ‘info’);
- convalidare l’operazione cliccando sul pulsante ‘OK’.