Mi è capitato di recente di dover installare in tempi diversi 3 wordpress (edizione in italiano, versione 2.2.1) sullo stesso server un Windows 2003 Web Edition ed avere strani problemi, per qusto motivo ho deciso di scrivere un articolo che vi possa essere d’aiuto. Per l’installazione ho seguito sempre la stessa procedura, ovvero:
1) Scarico i sorgenti di WordPress da qui e li estraggo in una nuova cartella.
2) Creo un nuovo DB vuoto su mysql, un nuovo utente con la password, assegno i privilegi all’utente di gestione completa solo su questo nuovo DB.
3) Configuro IIS facendo puntare il nuovo sito alla directory dove ho appena estratto i files.
4) Edito il file wp-config-sample.php ed inserisco i dati relativi alla connessione con il mysql ovvero il nome del DB appena creato, l’user la pass e l’indirizzo ip del server Mysql. Salvo il file con il nome wp-config.php.
5) Richiamo il file www.miowordpress.com/wp-admin/install.php via browser ed esegui i passi indicati, esso provvedera a creare la giusta struttura del DB e i settaggi iniziali del WordPress, e mi fornirà la password generata per l’utente admin.
6) Importante: elimino il file /wp-admin/install.php.
Stranamente mi succede una cosa che ha dell’incredibile, qualsiasi blog (hostati su siti diversi, ma sempre sullo stesso server) io richiami via browser mi compare sempre il contenuto del blog più vecchio (che è anche quello che ha più visite).
Convinto che abbia sbagliato qualche configurazione passo a setaccio tutte le possibili soluzioni:
Forse avrò sbagliato a configurare IIS facendolo puntare per tutti e 3 i siti sulla stessa home directory? Controllo: no, non è questo, dal controllo risulta che i 3 siti hanno ogniuno la sua home directory.
Forse allora avrò sbagliato a configurare il file wp-config.php facendo puntare tutti e tre i blog sullo stesso db? Controllo: no, non è nemmeno questo, i 3 files contengono ogniuno i dati di accesso al proprio database.
Anche se non ha nessuna logica potrebbe darsi che sarà qualche configurazione sbagliata del php.ini? Controllo: sembra che il file sia apposto non vedo anomalie.
A questo punto decido di loggarmi e vedere se anche le aree riservate vanno in conflitto tra di loro e mostrano lo stesso contenuto o no, entro su ogni blog e stranamente noto che per tutti e 3 il contenuto esterno e il tema è uguale per tutti (e stranamente questo tema è installato solo sul blog più vecchio), mentre le aree riservate per l’amministrazione riportano correttamente ogniuna i suoi settaggi e i suoi contenuti.
Uhm al di fuori tutti uguali e nelle aree di amministrazione tutti diversi?
Ad un certo punto decido di tornare in IIS e tento di controllare anche gli altri parametri. Noto che non hanno nessuna cosa in comune tranne l’ application pool!
Su Windows 2003 server gira IIS 6, a differenza delle precedenti versioni dalla 6 viene introdotto il concetto di Application Pool, praticamente quando IIS è in esecuzione ogni application pool gira come un processo a sè, se ad esempio in IIS configuriamo 3 diversi application pool nelle elenco dei processi in task manager vedremo comparire 3 volte il processo “w3wp.exe“. In questo modo se un processo crasha gli altri siti continuano a girare.
Soluzione
A questo punto la cosa ovvia da provare è quella di creare un Application Pool diverso per ogni sito con WordPress che ho sulla macchina. Come effettuo questi cambiamenti noto che finalmente i 3 siti sono indipendenti, ogniuno mostra il suo contenuto ed il suo template grafico! Certo il dubbio di cosa sia effettivamente che manda in conflitto i 3 blog (solo nella loro facciata esteriore poi!!) quando usano lo stesso Application pool rimane, ma almeno ora ho trovato la soluzione al problema. Invito qualsiasi lettore che sappia il preciso perchè ad illuminarmi.