4 069
contributi
(20 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Squeeze|Wheezy|Jessie|Stretch}} | |||
== Introduzione == | == Introduzione == | ||
Riga 10: | Riga 12: | ||
== Prerequisiti == | == Prerequisiti == | ||
* I record DNS dei due domini www.esempio.it e www.esempio.org devono essere configurati per puntare all'indirizzo IP pubblico del nostro server Apache, nel nostro caso 192.168.1.1 | * I record DNS dei due domini www.esempio.it e www.esempio.org devono essere configurati per puntare all'indirizzo IP pubblico del nostro server Apache, nel nostro caso 192.168.1.1 | ||
* Sul server in questione deve essere installato e funzionante un server Apache. Si segua ad esempio | * Sul server in questione deve essere installato e funzionante un server Apache. Si segua ad esempio una di queste guide: [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]] oppure [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5 - Stretch]] | ||
<br/> | |||
{{Warningbox|La guida è compatibile anche con Debian Stretch, basta tener presente che la directory web root di Apache è diventata <tt>/var/www/html</tt>. Questo valore va quindi sostituito, nel resto della guida, al valore presentato: <tt>/var/www</tt>.}} | |||
== Configurazione dei Virtual Hosts == | == Configurazione dei Virtual Hosts == | ||
Riga 28: | Riga 32: | ||
</pre> | </pre> | ||
Secondo questa struttura, le pagine del sito www.esempio.it andranno collocate nella directory <code>/var/www/www.esempio.it/www</code>, mentre quelle relative al dominio www.esempio.org andranno collocate nella directory <code>/var/www/www.esempio.org/www</code>. | Secondo questa struttura, le pagine del sito www.esempio.it andranno collocate nella directory <code>/var/www/www.esempio.it/www</code>, mentre quelle relative al dominio www.esempio.org andranno collocate nella directory <code>/var/www/www.esempio.org/www</code>. | ||
Fatto questo, spostiamoci nella directory dove Apache2 definisce i siti web e creiamo i | Fatto questo, spostiamoci nella directory dove Apache2 definisce i siti web e creiamo i file di configurazione per i due nuovi virtual host: | ||
<pre> | <pre> | ||
# cd /etc/apache2/sites-available | # cd /etc/apache2/sites-available | ||
Riga 39: | Riga 43: | ||
# www.esempio.it | # www.esempio.it | ||
# | # | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin webmaster@esempio.it | ServerAdmin webmaster@esempio.it | ||
ServerName esempio.it | ServerName www.esempio.it | ||
ServerAlias esempio.it | ServerAlias esempio.it | ||
# Indexes + Directory Root. | # Indexes + Directory Root. | ||
DirectoryIndex index.html | DirectoryIndex index.html index.htm index.php | ||
DocumentRoot /var/www/www.esempio.it/www/ | DocumentRoot /var/www/esempio.it/ | ||
Alias /phpmyadmin /usr/share/phpmyadmin | |||
Alias /mailmanager /var/www/mailmanager | |||
<Directory /> | |||
Options FollowSymLinks | |||
AllowOverride All | |||
</Directory> | |||
<Directory /var/www/esempio.it/> | |||
Options -Indexes -FollowSymLinks +MultiViews | |||
AllowOverride All | |||
# Da Stretch | |||
Require all granted | |||
#Require ip 10.0.0.0/24 | |||
#Require local | |||
# Fino a Jessie | |||
Order allow,deny | |||
Allow from all | |||
#Allow from 10.0.0.0/24 | |||
#Allow from 192.168.90.0/24 | |||
############### | |||
# Drupal Conf # | |||
############### | |||
# Da usare se il Virtual Host usa Drupal | |||
#RewriteEngine on | |||
#RewriteBase / | |||
#RewriteCond %{REQUEST_FILENAME} !-f | |||
#RewriteCond %{REQUEST_FILENAME} !-d | |||
#RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] | |||
#<ifModule mod_security2.c> | |||
# SecRuleEngine off | |||
#</ifModule> | |||
################### | |||
# End Drupal Conf # | |||
################### | |||
</Directory> | |||
#################### | |||
# Webalizer Conf ## | |||
#################### | |||
#<Directory /var/www/esempio.it/webalizer/> | |||
#Options Indexes FollowSymLinks MultiViews | |||
#AllowOverride None | |||
#Order allow,deny | |||
#Allow from all | |||
#Allow from 10.0.0.0/24 | |||
#Allow from 192.168.90.0/24 | |||
#Autenticazione | |||
#AuthType Digest | |||
#AuthName "utente" | |||
#AuthUserFile /var/www/esempio.it/www/webalizer/.htpasswd | |||
#require valid-user | |||
#</Directory> | |||
###################### | |||
# End Webalizer Conf # | |||
###################### | |||
# CGI Directory | # CGI Directory | ||
ScriptAlias /cgi-bin/ /var/www/ | #ScriptAlias /cgi-bin/ /var/www/esempio.it/cgi-bin/ | ||
<Location /cgi-bin> | #<Location /cgi-bin> | ||
# Options +ExecCGI | |||
</Location> | #</Location> | ||
# Logfiles | |||
# Ricordarsi di creare la directory | |||
ErrorLog /var/log/apache2/www.esempio.it/error.log | |||
CustomLog /var/log/apache2/www.esempio.it/access.log combined | |||
</VirtualHost> | </VirtualHost> | ||
</pre> | </pre> | ||
Riga 71: | Riga 141: | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin webmaster@esempio.org | ServerAdmin webmaster@esempio.org | ||
ServerName esempio.org | ServerName www.esempio.org | ||
ServerAlias esempio.org | ServerAlias esempio.org | ||
# Indexes + Directory Root. | # Indexes + Directory Root. | ||
DirectoryIndex index.html | DirectoryIndex index.html index.htm index.php | ||
DocumentRoot /var/www/www.esempio.org/www/ | DocumentRoot /var/www/esempio.org/ | ||
Alias /phpmyadmin /usr/share/phpmyadmin | |||
Alias /mailmanager /var/www/mailmanager | |||
<Directory /> | |||
Options FollowSymLinks | |||
AllowOverride All | |||
</Directory> | |||
<Directory /var/www/esempio.org/> | |||
Options -Indexes -FollowSymLinks MultiViews | |||
AllowOverride All | |||
# Da Stretch | |||
Require all granted | |||
#Require ip 10.0.0.0/24 | |||
#Require local | |||
# Fino a Jessie | |||
Order allow,deny | |||
Allow from all | |||
#Allow from 10.0.0.0/24 | |||
#Allow from 192.168.90.0/24 | |||
############### | |||
# Drupal Conf # | |||
############### | |||
# Da usare se il Virtual Host usa Drupal | |||
#RewriteEngine on | |||
#RewriteBase / | |||
#RewriteCond %{REQUEST_FILENAME} !-f | |||
#RewriteCond %{REQUEST_FILENAME} !-d | |||
#RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] | |||
#<ifModule mod_security2.c> | |||
# SecRuleEngine off | |||
#</ifModule> | |||
################### | |||
# End Drupal Conf # | |||
################### | |||
</Directory> | |||
#################### | |||
# Webalizer Conf ## | |||
#################### | |||
#<Directory /var/www/esempio.org/webalizer/> | |||
#Options Indexes FollowSymLinks MultiViews | |||
#AllowOverride None | |||
#Order allow,deny | |||
#Allow from all | |||
#Allow from 10.0.0.0/24 | |||
#Allow from 192.168.90.0/24 | |||
#Autenticazione | |||
#AuthType Digest | |||
#AuthName "utente" | |||
#AuthUserFile /var/www/esempio.org/www/webalizer/.htpasswd | |||
#require valid-user | |||
#</Directory> | |||
###################### | |||
# End Webalizer Conf # | |||
###################### | |||
# CGI Directory | # CGI Directory | ||
ScriptAlias /cgi-bin/ /var/www/ | #ScriptAlias /cgi-bin/ /var/www/esempio.org/cgi-bin/ | ||
<Location /cgi-bin> | #<Location /cgi-bin> | ||
# Options +ExecCGI | |||
</Location> | #</Location> | ||
# Logfiles | |||
# Ricordarsi di creare la directory | |||
ErrorLog /var/log/apache2/www.esempio.org/error.log | |||
CustomLog /var/log/apache2/www.esempio.org/access.log combined | |||
</VirtualHost> | </VirtualHost> | ||
</pre> | </pre> | ||
Riga 113: | Riga 248: | ||
e riavviamo Apache: | e riavviamo Apache: | ||
<pre> | <pre> | ||
# | # service apache2 reload | ||
# | # service apache2 restart | ||
</pre> | </pre> | ||
== Configurazione di PhpMyAdmin == | |||
Giunti fino a qui rimane da fare un’unica cosa: configurare PhpMyAdmin per poter gestire il proprio database MySQL tramite sito Web. Supponendo di avere già un'installazione funzionante di PhpMyAdmin che agisce a livello globale, dobbiamo creare un alias su ogni sito sul quale vogliamo rendere disponibile PhpMyAdmin; l’alias si rende necessario poiché l’installazione di PhpMyAdmin viene effettuata nella directory <code>/usr/share/phpmyadmin</code>, che non è accessibile dai Virtual Host. | |||
Configurare l’alias è molto semplice: aprendo i file di configurazione dei due domini citati precedentemente, basta aggiungere questa riga dopo l’istruzione <code>DocumentRoot</code>: | |||
<pre> | |||
Alias /phpmyadmin /usr/share/phpmyadmin | |||
</pre> | |||
Dopo aver chiuso e salvato i file di configurazione, basta far ripartire Apache per poter utilizzare PhpMyAdmin su ogni Virtual Host. | |||
<br/> | |||
Tenete presente che, se PhpMyAdmin è configurato con un livello di sicurezza ‘cookie’, nome utente e password richiesti per entrare in PhpMyAdmin non sono altro che gli utenti definiti in MySQL, per cui bisogna fare attenzione alle autorizzazioni che si assegnano ai vari database onde evitare che certi utenti possano accedere a database non di loro competenza. | |||
== Verifica == | == Verifica == | ||
Riga 121: | Riga 267: | ||
* www.esempio.it | * www.esempio.it | ||
* www.esempio.org | * www.esempio.org | ||
dovrebbero apparirci i due siti web. | dovrebbero apparirci i due siti web, mentre digitando: | ||
< | * www.esempio.it/phpmyadmin | ||
* www.esempio.org/phpmyadmin | |||
dovrebbe apparirci la schermata di login di phpMyAdmin. | |||
== Amministrazione == | |||
Se avete la necessità di concedere ad ogni proprietario di un dominio la possibilità di accedere via FTP alla propria <code>DocumentRoot</code>, senza lasciarlo uscire da quella e senza permettergli di navigare nelle <code>DocumentRoot</code> degli altri utenti, consiglio di seguire questa guida: [[Installare un server FTP con utenti virtuali su MySQL]]. | |||
{{Autori | |||
|Autore=[[Utente:Ferdybassi|Ferdybassi]] 23:46, 6 nov 2010 (CET) | |||
}} | |||
[[Categoria:Web server]] | [[Categoria:Web server]] |