Server Web · 4 min read · Jan 07, 2026
Crea il tuo server web con BIND e Apache su CentOS 5 (semplificato) - Pagina 2
Saltiamo di nuovo :) Questa volta un po’ più in là fino alla riga 1005 dove dovresti vedere:
NameVirtualHost *:80La direttiva NameVirtualHost dice ad Apache che vogliamo utilizzare l’hosting virtuale basato su nome, o in termini più semplici, un insieme di siti web che utilizzano tutti lo stesso indirizzo IP. Aggiungi un paio di righe vuote sotto ‘#NameVirtualHost *:80’ e sulla riga subito sotto metti NameVirtualHost e il tuo nome host o indirizzo IP seguito da :80. Il ‘:80’ significa che stiamo utilizzando l’hosting virtuale basato su nome per il protocollo HTTP.
Quindi dovresti produrre qualcosa del genere:
NameVirtualHost host.website.com:80Ora siamo quasi a posto con la configurazione del nostro file httpd.conf. L’unica cosa rimasta da configurare è se qualcuno visita il nostro server utilizzando l’IP piuttosto che il nome di dominio, imposteremo il nostro nome host predefinito per essere visibile a quegli utenti. Possiamo inserire questo alla fine del file di configurazione
ServerAdmin [email protected]
DocumentRoot /www
ServerName 77.77.197.69
ErrorLog logs/error_log
CustomLog logs/access_log common
Per mantenere il nostro
httpd.conf
più facile da gestire, dovremmo aggiungere questa riga in fondo al file:
Include conf/vhosts/*.confSignifica che includeremo tutte le voci .conf da /etc/httpd/conf/vhosts dove memorizzeremo gli host virtuali per i nostri siti web man mano che li aggiungiamo. Sarà più facile da capire man mano che procediamo. Ok, siamo quasi a posto, salva httpd.conf e procedi.
Creazione delle directory del sito web
Dobbiamo ora creare la struttura delle directory del sito web per gestire correttamente i nostri siti web. Prima di tutto, creiamo la directory principale:
mkdir /wwwOra stiamo rendendo root il proprietario di /www:
chown root.root /wwwPrima di andare oltre, dobbiamo fare un aggiustamento, dobbiamo aggiungere una zona per host.website.com nel nostro named.conf perché l’abbiamo usato come nome host in httpd.conf e riceveremo un errore se non lo facciamo. Quindi dovremmo aggiungere questo a named.conf
zone "host.website.com" IN {
type master;
file "/var/named/host.website.com.db";
};
E naturalmente qui sotto c’è il contenuto del file:
/var/named/chroot/var/named/host.website.com.db$TTL 14400
@ 86400 IN SOA ns1.website.com. [email protected]. (
2008021501 ; serial, data di oggi+data di oggi
86400 ; refresh, secondi
7200 ; retry, secondi
3600000 ; expire, secondi
86400 ) ; minimum, secondi
host.website.com. 86400 IN NS ns1.website.com.
host.website.com. 86400 IN NS ns2.website.com.
host.website.com. IN A 77.77.197.69
localhost.host.website.com. IN A 127.0.0.1
Puoi aggiungere quanti più record desideri. Prima di riavviare named, crea un link:
ln -s/var/named/chroot/var/named/host.website.com.db /var/named/host.website.com.dbservice named restartOra torniamo alla struttura delle directory. Quindi abbiamo aggiunto una zona per il nostro
website.com
ora abbiamo bisogno di una directory virtuale per esso.
cd /www
mkdir website.com
cd website.com
mkdir html
mkdir html/cgi-bin
mkdir databases
mkdir logs
Poiché abbiamo creato una directory per il nostro sito web, tutto ciò di cui abbiamo bisogno è un utente che sarà in grado di gestire questo nome di dominio. Possiamo farlo con:
useradd -d /www/your-domain/ domain_usero se vuoi limitare l’accesso alla shell all’utente usa questo:
useradd -d /www/your-domain/ -s /sbin/nologin domain_userDopo che l’utente è stato aggiunto, possiamo modificare la sua password con:
passwdQuesto utente non ha ancora il suo “casa” :) posto di cui è proprietario, ora aggiungiamo questo:
cd /www && chown domain_user:domain_user website.comSe crei una directory “databases” allora dovrai cambiare il proprietario all’utente mysql altrimenti MySQL non sarà in grado di scrivere nei file del database. Tutte le directory, sottodirectory e file che trattano i database dovrebbero essere di proprietà dell’utente mysql e possiamo farlo con questo comando:
cd website.com && chown -R mysql:mysql databasesCon questo abbiamo completato la creazione della struttura delle directory del sito web, ora l’unica cosa rimasta da fare è dire ad Apache dove si trova il nostro sito web e abbiamo finito.
Ora torniamo un po’ indietro quando stavamo configurando httpd.conf abbiamo inserito una riga lì:
Include conf/vhosts/*.confOra capirai perché l’abbiamo fatto se non lo hai già fatto. Poiché la cartella non esiste ancora, dobbiamo crearla:
cd /etc/httpd/conf && mkdir vhostsOra entriamo nella directory vhosts:
cd vhostse creiamo un nuovo file per il nostro dominio:
nano website.com.80.confDovremmo inserire quanto segue in questo file:
ServerAdmin [email protected]
ServerName website.com
ServerAlias www.website.com
DocumentRoot /www/website.com/html
ScriptAlias /cgi-bin/ /www/website.com/html/cgi-bin/
ErrorLog /www/website.com/logs/error_log
CustomLog /www/website.com/logs/access_log combined
Siamo finalmente arrivati al punto finale ora quando abbiamo detto ad Apache dove si trova la directory del nostro sito web, ora ogni richiesta dal browser per www.website.com sarà letta da /www/website.com/html; lì dovresti mettere i tuoi file es: index.html. Ora possiamo accendere il nostro httpd, o riavviarlo se era già acceso.
service httpd startoppure
service httpd restartSe stai riscontrando problemi con questo tutorial o con la configurazione di Apache o BIND non esitare a contattarmi. Sono sicuro di aver avuto problemi anche peggiori - sarò felice di aiutarti nel mio tempo libero.
Autore
: Emir Ibrahimbegovic
E:
[email protected]
W:
Grazie a:
Tony Bhimani, Sébastien Wains, Nayyar Ahmad
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.