Per primissima cosa vado a configurare il file /etc/hosts:
# # Indirizzi IPv4. # 127.0.0.1 localhost.localdomain localhost 192.168.x.x myserver.org myserver.local myserver 192.168.x.x myserver.org myserver # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Da notare che in 127.0.0.1 viene messo a fine indirizzamento il nome del server, cosi facendo si possono omettere altre indicazioni che potrebbero creare conflitto ai fini del corretto funzionamento di apache.
Un esempio problematico:
# # Indirizzi IPv4. # 127.0.0.1 localhost 127.0.1.1 localhost 127.0.0.1 localhost.localdomain localhost 192.168.x.x myserver.org localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
In questo caso si avra un errore in /var/log/apache2/error.log seguente:
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
In /etc/apache2/conf.d/virtual.conf devo avere questa configurazione:
# # We're running multiple virtual hosts. # NameVirtualHost *:80
In caso contrario nei log di apache si avrebbe una dicitura che riporta:
VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
riavviamo apache dopo le modifiche
service apache2 reload && service apache2 restart
Fatta questa procedura iniziamo con analizzare il file di log digitando:
less /var/log/apache2/error.log
In passato ho avuto parecchie noie con il virtual host di apache2, per mia ostinazione cercavo di ottenere un server di dominio a cui aggiungendo /pagina/ (myserver/pagina/) si potesse visualizzare delle pagine diverse.
Ho proceduto sempre inserendo in /etc/apache2/sites-avaible una copia di default.conf opportunamente modificata eseguendo poi un ln in sites-enabled.
ServerAdmin webmaster@localhost DocumentRoot /var/www Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined
Cambiando il percorso della cartella la porta da usare e l’ip!
Deciso a porre fine a questo problema ho deciso di usare invece la directory /etc/apache2/conf.d/ interessato ad avere owncloud e pyload utilizzando semplicemente lo “/” ho trovato molto comodo questo tipo di sistema, creando un file con il nome del programma.conf ed aggiungendo come segue:
<IfModule mod_alias.c> Alias /mypafe "/var/www/mypage"
</IfModule>
<Directory /var/www/mypage> Options None Order allow,deny allow from all </Directory> <VirtualHost *:80> ServerAdmin webmaster@localhost
ErrorLog /var/www/logs/error.log CustomLog /var/www/logs/access.log combined </VirtualHost>
In questo modo posso assegnare un alias alla mia pagina web locata nella cartella “/var/www” digitando myserver/mypage o myserver accederò alla stessa pagina, detto ciò proviamo con owncloud:
<IfModule mod_alias.c> Alias /owncloud "/var/www/owncloud" </IfModule> <Directory /var/www/owncloud> Options None Order allow,deny allow from all </Directory> <VirtualHost *:80> ServerAdmin webmaster@localhost
ErrorLog /var/www/owncloud/logs/error.log CustomLog /var/www/owncloud/logs/access.log combined </VirtualHost>
Con questa semplice config posso accedere ad owncloud digitando myserver/owncloud/ bisogna tenere presente che, in questo caso, quando si creano nuove pagine bisogna creare anche le directory logs.