Quando di parla di WordPress, si intende che il server dove deve essere ospitato sia Linux con MySql. Questo è sicuramente vero, ma è possibile, con qualche accorgimento, farlo girare tranquilli tranquilli anche su un Windows Server (nel mio caso un WS2008 r2).
Fondamentale, ovvio, è il modulo PHP e mySQL. Per installarli ci sono un milione di guide, quindi, io salto questo passaggio. (fortunatamente nel mio server ho Parellels Plesk e tutto è già configurato).
Per procedere all’installazione, i passaggi sono sempre gli stessi che useremmo in un qualsiasi server linux:
- creare un database mySql con un nome utente e una password (meglio che non sia quella amministrativa di mySql)
- trasferire il pacchetto wordpress scompattato nella cartella dell’hosting,
- cambiare i permessi di scrittura in lettura/scrittura per la cartella wp-content
- lanciare l’installazione dal browser.
e fin qui nulla di nuovo ne di complicato, il nostro blog/sito è raggiungibile subito e possiamo incominciare a scrivere le nostre belle cosine.
Windows e i Permalinks?
si, fino a qui tutto è normale, solo che se guardiamo bene l’url, questo è del tipo “https://www.aculine.net/?p=649” anzichè un più leggibile “https://www.aculine.net/2014/01/wordpress-funzionante-su-iis7-5”.
Provate a modificare la pagina dei permalink nelle impostazioni. Funziona? no.
No, perchè manca un modulo tipico di linux/apache: il mod_rewrite. Questo modulo permette proprio di creare delle regole per recuperare il permalink che decidiamo noi e “sostituire” il vero nome del file nell’url del sito.
https://www.aculine.net/?p=649 => https://www.aculine.net/2014/01/wordpress-funzionante-su-iis7-5
Sì, ma per Windows?
Ci hanno messo un po’, ma alla fine ci sono arrivati anche loro., con un modulo da installare nel server, con il modulo chiamato “URL rewrite” che, a modo suo, funziona. Il modulo per la verità lato interfaccia server è un po’ complicato, ma, come esiste il .htaccess per linux, esiste il web.config di IIS7. quindi, creiamo un file nella base-root di wordpress (o nella sottocartella dove è stato installato) chiamato appunto “web.config” e copiamo questi parametri XML:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="wordpress" patternSyntax="Wildcard" stopProcessing="true"> <match url="*"/> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> </conditions> <action type="Rewrite" url="index.php"/> </rule></rules> </rewrite> </system.webServer> </configuration>
Ho trovato diverse guide e tutorial, alla fine ho mischiato un po’ tutto e per me così funziona.