0 Condivisioni

stampa questo articolo
Nel precedente articolo ho spiegato i perchè della migrazione da Dblog a wordpress, ora vorrei spiegare il “come” ossia come installare wordpress su server Win Aruba senza dover passare e/o acquistare uno spazio Linux.

Come tutti voi saprete wordpress è scritto in PHP, un linguaggio open source dalle potenzialità incredibili e ben strutturato. Il PHP è un linguaggio nato per ambienti Linux la cui perfetta simbiosi è la triade: Linux/Apache/MySql.

Per chi come me, però, ha già acquistato uno spazio Win su server Aruba (o su un altro provider) passare da Win a Linux non è cosa da poco e siccome PHP funziona (ed anche bene) su server Win Aruba con IIS e MySql allora ho deciso di non “switchare” su Linux ma di provare a configurare il mio nuovo blog su S.O.  Microsoft.

Vediamo allora cosa ci serve per iniziare la nostra installazione

Installazione in locale

1) Dobbiamo scaricare l’ultima release di wordpress, al momento l’ultima release stabile è la 2.7.1

2) Prepararci per una installazione preliminare in locale, quindi è opportuno configurare sul nostro pc: PHP, IIS e MySql; per questo vi consiglio questo ottimo articolo di davidonzo

Installazione su server

1) Dobbiamo acquistare il dbms MySql su aruba, il link è il seguente: MySql Aruba

Appena abbiamo fatto tutto questo possiamo iniziare con la nostra installazione che (come già detto) si comporrà di due fasi distinte ossia Installazione in locale e Installazione su server

Installazione in locale

Sul nostro pc abbiamo appena configurato tutto (PHP, IIS, MySql) grazie all’ottimo articolo di davidonzo siamo quindi pronti per creare un blog wordpress sul nostro pc.

L’installazione sarebbe di per se semplicissima, noi però dobbiamo ricreare in locale una situazione del tutto simile a quella del server Aruba, per cui la nostra installazione dovrà per forza di cose tener conto di tutto questo.

Quali sono queste peculiarità dello spazio web aruba?

1) Sul nostro spazio abbiamo una sola cartella con diritti di “scrittura” ossia la cartella public

2) Tutte le altre cartelle non hanno i permessi di scrittura e non possiamo in alcun modo ovviare a ciò, per cui dobbiamo tenerne conto ed agire di conseguenza.

Quindi procediamo con il configurare il nostro IIS in maniera del tutto speculare a quello di Aruba, per cui accediamo alla cartella:

C:\InetPub\wwwroot\

E creiamo la cartella

public

Ora diamo i diritti di scrittura a questa cartella dal pannello amministrativo di IIS:

iis2 - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

A questo punto siamo pronti per installare il nostro wordpress in locale.

La cartella scaricata ha una forma del tipo:

wp1 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Il cui contenuto è il seguente:

wp2 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Creaimo la cartella wordpress nella nostra web-root ossia in C:\InetPub\wwwroot\

copiamo in:

C:\InetPub\wwwroot\wordpress \

SOLO le cartelle:

  • wp-admin
  • wp-includes
  • TUTTI i file contenuti in wordpress

Mentre la cartella:

  • wp-content

copiamola nella cartella con i diritti di scrittura:

C:\Inetpub\wwwroot\public

Perchè la cartella wp-content l’abbiamo copiata in una cartella diversa dalle altre? Perchè questa è la cartella deputata a gestire:

  • plugin
  • temi
  • lingua

E’ quindi necessario che abbia i diritti di scrittura altrimenti sarà impossibile installare, aggiornare, modificare etc…dal pannello amministrativo di wordpress.

[ad]

Non appena fatto ciò dobbiamo modificare manualmente un file per far capire a wp che la cartella wp-content non si trova insieme alle altre ma sta in una posizione diversa, apriamo quindi con il nostro editor preferito il file:

C:\Inetpub\wwwroot\wordpress\wp-settings.php

Modifichiamo la riga 109:

if ( !defined('WP_CONTENT_DIR') )
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down

con:

if ( !defined('WP_CONTENT_DIR') )
define( 'WP_CONTENT_DIR', 'c:/Inetpub/wwwroot/public/wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down

E la riga 320:

if ( !defined('WP_CONTENT_URL') )
define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); // full url - WP_CONTENT_DIR is defined further up

con:

if ( !defined('WP_CONTENT_URL') )
define( 'WP_CONTENT_URL', preg_replace('/wordpress/', 'public', get_option('siteurl')) . '/wp-content'); // full url - WP_CONTENT_DIR is defined further up

In questo modo le due variabili globali:

WP_CONTENT_DIR

WP_CONTENT_URL

Conterranno i valori corretti ossia :

c:/Inetpub/wwwroot/public/wp-content

http://localhost/public

Un sistemista attento potrebbe notare che nella prima sostituzione ho inserito il path fisico c:/Inetpub/wwwroot/public/wp-content invece che utilizzare la variabile d’ambiente di PHP:

$_SERVER['DOCUMENT_ROOT']

che ritorna proprio il path assoluto della web-root.

Purtroppo ho constatato di persona che inserendo tale variabile nella prima modifica:

if ( !defined('WP_CONTENT_DIR') )
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/public/wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down

il blog funziona benissimo in locale ma ci sono problemi poi sul server di Aruba, purtroppo (e non so il perchè)  la variabile d’ambiente $_SERVER['DOCUMENT_ROOT'] nel mio spazio web non è definita per cui non la si può usare.

Quindi ho preferito utilizzare il path assoluto (manualmente) sia in locale che poi in remoto…

Comunque andiamo avanti con l’installazione, appena fatte queste modifiche in locale procediamo come segue:

1) Creiamo il database wordpress su MySql installato localmente

2) lanciamo dal nostro browser il setup di wordpress al seguente link:

http://localhost/wordpress//wp-admin/install.php

Apparirà la seguente schermata:

wp3 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Clicchiamo su “Crea un file di configurazione”, la schermata successiva sarà la seguente:

wp4 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Clicchiamo su “Partiamo”:

wp5 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Inseriamo i dati del nostro db ed infine clicchiamo su “Prosegui”:

wp6 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Se tutto è andato a buon fine verrà mostrata la seguente immagine, clicchiamo su “Avvia installazione”:

wp7 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Inseriamo il nome del nostro blog e la nostra email poi clicchiamo su “Installa wordpress”, apparirà una schermata con user name e password di default per collegarci al nostro blog:

wp8 thumb - Installare wordpress su server Win Aruba con IIS, MySql e permessi di scrittura alla cartella wp-content

Clicchiamo su “Collegati” ed il gioco è fatto!

A questo punto non ci resta che fare qualche test funzionale in locale, prendere dimestichezza con il pannello amministrativo, provare alcun plugin e scegliere il template che più ci piace…

Abbiamo scelto il template? Siamo sicuri dell’installazione?

Allora possiamo provare ad installare il blog sul nostro server Aruba.

Cosa c’è di diverso tra l’installazione in locale e quella remota?

Solo la prima modifica al file C:\Inetpub\wwwroot\wordpress\wp-settings.php

Infatti la riga 109:

if ( !defined('WP_CONTENT_DIR') )
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down

andrà modificata con il path relativo che Aruba ci ha fornito che di norma è:

D:\inetpub\webs\nomedominioxxx

Dove:

nomedominioxxx e' il nome del suo dominio senza www e senza alcun .

Per cui la sostituzione dovrà essere del tipo:

if ( !defined('WP_CONTENT_DIR') )

define( ‘WP_CONTENT_DIR', ‘D:/inetpub/webs/nomedominioxxx/public/wp-content' ); // no trailing slash, full paths only – WP_CONTENT_URL is defined further down

Per il resto è tutto uguale.

Potete scaricare il file wp-setting al seguente link [download id=”1″]

IMPORTANTE : ricordate di cambiare nomedominioxxx con il vostro nome dominio.

Ultima cosa che si è verificata sempre sul mio spazio! (spero a voi non succeda)

Purtroppo (anche in questo caso non so perchè) la cartella public aveva i diritti di scrittura, ma tutte le sotto cartelle NO, compresa quindi quella che a me più interessava ossia la wp-content!

Ho quindi dovuto aprire un ticket remoto di assistenza all’ottimo servizio

http://assistenza.aruba.it/default.php

con la motivazione seguente:

Buon giorno,

sto cercando di installare la piattaforma wordpress su server Win

Il nome del mio dominio è:

pensando.it

Per far funzionare correttamente wp è necessario installare la directory wp-content ossia la directory nella quale sono presenti i template e plugin, all'interno di una cartella con i permessi di scrittura.

Ho quindi pensato di installare tale cartella nella cartella public dello spazio da voi offerto.

Tuttavia ho notato che nella root della cartella public i permessi sono in scrittura ma nelle sottocartelle sembrerebbe che i permessi non sia di scrittura.

Infatti se provo a modificare un tema di wordpress da web mi ritorna sempre un errore di scrittura sul file php relativo.

Ho provato a lanciare il tool di verifica dei permessi che voi offrite nel pannello amministrativo ma la situazione non è cambiata.

E' possibile sapere e/o verificare se effettivamente la cartella:

public/wp-content

(e relative sottocartelle) abbiano i permessi di scrittura?

Tempo poche ore ed il ticket era chiuso e wp perfettamente funzionante!

I vantaggi dell’installare la cartella wp-content nella directory public sono moltissimi, tra questi:

> Installare  i plug-in via web

> Modificare i template via web

> Installare gli aggiornamenti via web

> Modificare i widget via web

> Modificare i file php del template via web

Insomma, se la cartella wp-content non si trova in una directory con i permessi di scrittura, il vostro blog è decisamente poco configurabile dal pannello amministrativo e siccome dal pannello amministrativo possiamo modificare quasi tutto, perchè rinunciarci?

Se siete infine interessati alla migrazione degli articoli da Dblog a wordpress vi consiglio questo ottimo tutorial di Adriano Amalfi

Buon lavoro

0 Condivisioni

68 Commenti

  1. Ho necessità di rifare il sito della scuola in cui lavoro e pensavo di farlo con wordpress. Il nosto provider è auba, quindi ho acquistato il servizio mysql. Ho avuto le credenziali per l’accesso ( user, password e host). ho provato a creare il file wp-config.php. con i dati a mia disposizione. A questo punto faccio una domanda che sarà sicuramente banale: chi mi fornisce il nome del database

  2. ciao a tutti gli utenti, c’è un modo molto più semplice ora, Aruba ha aggiunto una funzionalità sul “pannello controllo” chiamata appunto gestione permessi dove si possono cambiare i permessi delle cartelle nel database. Il cambiamento richiede qualche minuto d’attesa ma risolve la compatibilita con WordPress.

  3. ciao, ho utilizzato il tuo tutorial (complimenti)un paio di anni fa è andato tutto ok per un po’ di mesi, poi inmprovvisamente qualcosa è cambiato e la console di ammnistrazione ha avuto problemi. non individua ne plug in ne i temi (era in versione italiana ora è in inglese) e se vado nella pagina di impostazione del tema addirittura cancella quello che avevo settato io (non compare più), imposta di sua iniziativa il tema di default.

    cambiando nella tabella option i valori di stylesheet e template il sito ricompare con il tema che avevo deciso di utilizzare. sembrerebbe che l’admin abbia problemi di indirizzamento. hai dei consigli per me? grazie in ogni caso

  4. Questo articolo è stato utilissimo, funziona su Aruba Win (provato con IIS 6).

    Unico aggiornamento che farei, visto che è stato scritto nel lontanissimo 2009 e ora c’è WordPress 3.2:
    la modifica relativa al WP_CONTENT_DIR va fatta non più sul wp-settings.php ma direttamente sul wp-config.php.

    Grazie!

  5. @estrusco
    ciao, quando ho caricato i file in public ho poi controllato i permessi e sono impostati su scrittura, pertanto non capisco a cosa sia dovuto l’errore.
    Proverò a spostare i file come dici nella root, spero di riuscire a risolvere la cosa.
    Però no mi si spiega come mai non mi carica il logo di wordpress fin dalla prima schermata.

  6. @sharon
    ciao, ora l’hosting di aruba ti permette di modificare i permessi sulle cartelle, per cui non è più necessario postare la wp-content dentro la cartella public.

    TI consiglio di mettere tutto sotto la root del tuo sito e poi impostare i permessi in scrittura alla cartella wp-config

    Ciao

  7. Ciao, il tuo articolo sarà datato ma ottimo ed utile, solo che dovendo installare wordpress 3.0 mi sono trovata alcuni ostacoli nel seguire il tuo tutorial, visto che è scritto per la versione 2.8.

    Ti chiedo gentilmente se puoi essermi d’aiuto nel riuscire a completare la mia installazione.

    Visto che sull’hosting win c’è la cartella Public ho caricato via FTP tutte le cartelle e i file di wordpress dentro li, invece di metterli alcuni nella root e altri dentro public come scritto nel tuo tutorial.
    Sono poi andata nel pannello di amministrazione di aruba per verificare i permessi sia dei file che delle cartelle e risultano tutti correttamente impostati sia in lettura che in scrittura.
    A questo punto ho richiamato il file wp-config che avevo già modificato con i dati del DB inserisco i primi dati richiesti clicco su Installa wordpress e compare l’errore

    HTTP Error 404 – File or directory not found.
    Internet Information Services (IIS)

    Penso che sia dovuto al fatto che non ho modificato il file wp-settings come descritto da te, ma visto che il tuo tutorial è per la versione 2.8 e io sto lavorando sulla 3 non riesco a ritrovare il punto da te descritto come da modificare.

    Sai dirmi dove devo modificare il file e come, se mio sbaglio sai darmi qualche utile consiglio.

    Grazie e scusa tanto per il disturbo
    sharon

  8. Ciao, ma hai server Aruba? Perchè se hai il server Aruba ora questa procedura non serve più visto che dal pannello amministrativo puoi settare i permessi a 777

  9. ciao.
    ho seguito per ben 3 volte passo passo le tue indicazioni. tutto ok sino a quando non vado a vedere la pagina del blog. è come se non trovasse gli stili. visualizzo solo testo e link.

  10. Ora…se ricordo bene, i permessi su un sever windows non si possono cambiare.
    Altro non ti saprei dire…io sono su server Linux 🙂
    Magari, scaricati il plugin nel tuo computer, scompattalo e mettilo direttamente nella cartella “plugin” sul tuo server (senza effettuare l’installazione tramite pannello di controllo).

  11. Gentili utenti… nonchè geni, mi servirebbe un aiuto! Sto smanettando da poco con il fantastico mondo di wp… fino ad ora non avevo mai installato l’applicazione, oggi invece mi sono deciso a farlo con un grosso problema il seguente:
    nel momento di installare nuovi plugin o aggiornare i precedenti mi porta alla seguente schermata
    >>Informazioni connessione

    >>Per eseguire l’azione richiesta, sono necessarie >>informazioni per la connessione.
    >>Nome host *******
    >>Nome utente *******
    >>Password *******
    >>Tipo di connessione FTP

    Dopo aver inserito i dati di accesso mi segnala:
    >>Aggiornamento plugin

    >>Impossibile trovare la directory dei Contenuti di >>WordPress (wp-content).

    Ho seguito i vari consigli presenti sul web per i permessi, ma a poco sono serviti il messaggio rimane sempre quello.

    Vi faccio presente che ho il servizio MySql su aruba e uso windows. Inoltre come programma per il trasferimento uso WinSCP, e i permessi li ho portati a 0644 (erano a 0777).
    Vi ringrazio
    Fabio

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here