Virtual Host: www.empresalibre.org, wiki.empresalibre.org, blog.empresalibre.org

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció

He comprat el domini www.empresalibre.org, i ja el tinc accessible i apuntant a l'ordinador 192.168.1.130, a través del meu router Jazztel i una IP dinàmica, gràcies a Dyndns.org.

És a dir, en la configuració de DNS d'Arsys apunto www.empresalibre.org a wikijoan.dyndns.org, i en tot moment wikijoan.dyndns.org sap quina és la meva IP dinàmica. A més a més, el NAT del meu router el tinc configurat per tal que les peticions del port 80 es redirigeixin a la màquina 192.168.1.130, on hi ha un Apache configurat.

Amb aquest sistema he estat funcionant una bona temporada i accedint al blog i a la wiki en les direccions:

Virtual Host

El procediment és el següent:

DNS d'Arsys

Ara vull poder accedir a la wiki i al blog mitjançant virtual hosts, des de les direccions:

afegeixo dos DNS: wiki.empresalibre.org i blog.empresalibre.org que apunten a wikijoan.dyndns.org

El canvi és quasi instantani, i puc comprovar-ho fent ping wiki.empresalibre.org i ping wikijoan.dyndns.org i veure que es resol la mateixa IP

fitxer /etc/hosts

afegeixo les següents línies:

127.0.0.2       www.empresalibre.org
127.0.0.3       wiki.empresalibre.org
127.0.0.4       blog.empresalibre.org
127.0.0.5       www.joanillo.org

A més, en el portàtil també edito la següent línia del /etc/hosts

192.168.1.130   www.joanillo.org

i d'aquesa manera tracto la pàgina com si fos una pàgina remota i no tinc tots aquells problemes que tenia.

això és necessari per tal que internament aquests noms DNS no siguin desconeguts. A més a més, abans si feia localment http://www.empresalibre.org el router no sabia resoldre-ho, però ara, com que aquesta informació està a /etc/hosts/, la petició es resol localment i no s'envia al router.

Tocant el /etc/hosts no s'ha de reiniciar cap servei (no cal tenir instal.lat un servidor de DNS)

/etc/apache2/sites-available

creo el fitxer wikijoan.empresalibre.org i blog.empresalibre.org que contenen la següent informació:

<VirtualHost>
        ServerName wiki.empresalibre.org
        ServerAdmin joan_quintana@yahoo.com
        DocumentRoot /home/joan/wiki
        <Directory />
        Options FollowSymLinks
        AllowOverride All
        </Directory>
        <Directory /home/joan/wiki>
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

<VirtualHost>
        ServerName blog.empresalibre.org
        ServerAdmin joan_quintana@yahoo.com
        DocumentRoot /home/joan/blog
        <Directory />
        Options FollowSymLinks
        AllowOverride All
        </Directory>
        <Directory /home/joan/blog>
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

/etc/apache2/sites-enabled

per tal d'habilitar aquests dos virtual hosts s'ha de copiar l'arxius a sites-enabled. Millor que copiar, es fa un enllaç simbòlic que es pot fer de dues maneres.

 $sudo a2ensite wiki.empresalibre.org
 o bé
 $ cd /etc/apache2/sites-enabled
 $sudo ln -s /etc/apache2/sites-available/wiki.empresalibre.org wiki.empresalibre.org

Per tal de fer efectius els canvis:

$ sudo /etc/init.d/apache2 reload

Comprovació

Amb això n'hi ha prou. Ho he comprovat fent que http://wikijoan.dyndns.org apunti a una web bàsica com ara langtrainer. Ara bé, en el cas específic de la wiki de mediawiki i del blog de wordpress, les coses no són tan fàcils,sinó que no es carreguen bé les plantilles i els CSS, cosa que s'ha solucionat com s'explica ara mateix.

Configuració MediaWiki

Quan faig http://wiki.empresalibre.org, es redirigeix automàticament a http://wiki.empresalibre.org/wiki/... i no funciona la pàgina.

Al fitxer LocalSettings.php hi ha la variable $wgScriptPath que s'ha de canviar:

#$wgScriptPath       = "/wiki";
$wgScriptPath       = "";

ara funciona bé, però quan faig http://wikijoan.dyndns.org/wiki, ara no funciona. Com que vull que funcioni amb les dues possibilitats, la solució que he trobat és substituir l'assignació de la variable per aquest petit codi que s'explica tot sol:

<?php
if ($_SERVER['SERVER_NAME']=="wiki.empresalibre.org"){
$wgScriptPath="";
} elseif ($_SERVER['SERVER_NAME']=="wikijoan.dyndns.org"){
$wgScriptPath="/wiki";
} else { //localhost, 192.168.1.130
$wgScriptPath="/wiki";
}
?>

Molt de compte amb la cache del mediawiki! que juga molt males passades. Mediawiki utilitza tant la cache en la banda del client (la de l'explorador web), com una cache en la banda del servidor, que es guarda a la base de dades. Veure més informació en l'apartat de mediawiki.

La solució que he adoptat és afegir, en el fitxer LocalSettings.php, les línies:

$wgEnableParserCache = false;
$wgCachePages = false;

i aquí s'han acabat els problemes.

Configuració Wordpress

En el cas del wordpress ja vaig estudiar els problemes que tenia entre les diferències de treballar en local i en remot. Ara aquests problemes s'hauran acabat perqu+e sempre puc treballar com si estigués en remot (fitxer /etc/hosts), i els canvis que s'han de fer a la base de dades són els següents:

update wp_options set option_value='http://blog.empresalibre.org' where option_name='home';
update wp_options set option_value='http://blog.empresalibre.org' where option_name='siteurl';

Si no funcionen les imatges, una comanda d'aquestes tres:

update wp_posts set post_content=REPLACE(post_content, 'http://blog.empresalibre.org/wp-content/uploads', 'http://www.empresalibre.org/blog/wp-content/uploads'); 
update wp_posts set post_content=REPLACE(post_content, 'http://blog.empresalibre.org/wp-content/uploads', 'http://192.168.1.130/blog/wp-content/uploads'); 
update wp_posts set post_content=REPLACE(post_content, 'http://blog.empresalibre.org/wp-content/uploads', 'http://localhost/blog/wp-content/uploads'); 

Ara ja tinc funcionant

en un servidor Ubuntu-Apache funcionant en una ADSL normal i corrent amb IP dinàmica.

Ara ja estic en condicions d'afrontar el hosting d'altres dominis com www.indicerural.com o un domini per a langtrainer.

Nota: en comptes de fer fitxers separats, també hi ha la possibilitat de tenir-ho tot definit a sites-available/default, però fent-ho amb fitxers separats puc habilitar o deshabilitar qualsevol dels dominis tallant el softlink.


creat per Joan Quintana Compte, febrer 2009

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines