User Tools

Site Tools


doc:appunti:linux:sa:wordpress

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:wordpress [2015/02/10 10:29] – [Aggiornamento temi] niccolodoc:appunti:linux:sa:wordpress [2024/02/07 15:51] (current) – [Aggiornamento plugin] niccolo
Line 10: Line 10:
 FLUSH PRIVILEGES; FLUSH PRIVILEGES;
 </code> </code>
 +
 +===== Versione nazionalizzata =====
 +
 +Sul sito **[[https://it.wordpress.org/download/releases/]]** sono disponibili gli archivi delle versioni già nazionalizzate in italiano. Rispetto alla versione in inglese (disponibili sul [[https://wordpress.org/download/releases/|repository principale]]), l'archivio italiano contiene la directory **wordpress/wp-content/languages/** e alcuni file accessori hanno piccole diferenze, ma la base del codice è identica.
  
 ===== Installazione ===== ===== Installazione =====
Line 25: Line 29:
  
 Proseguire la procedura di installazione via web puntando il browser su **%%http://myhost/wp/wp-admin/install.php%%**. Proseguire la procedura di installazione via web puntando il browser su **%%http://myhost/wp/wp-admin/install.php%%**.
 +
 +===== URL per login =====
 +
 +Se si nascondo il link per la pagina di login, sarà comunque possibile accedervi digitando direttamente il suffisso **wp-login.php** dopo l'URL base del sito.
 +
  
 ===== Plugin bbPress ===== ===== Plugin bbPress =====
Line 150: Line 159:
  
   * [[http://wordpress.org/plugins/really-simple-facebook-twitter-share-buttons/|Really simple Facebook Twitter share buttons]]   * [[http://wordpress.org/plugins/really-simple-facebook-twitter-share-buttons/|Really simple Facebook Twitter share buttons]]
-  * [[http://wordpress.org/plugins/facebook/|Facebook]] +  * [[http://wordpress.org/plugins/facebook/|Facebook]] FIXME Sembra abbandonato, ultimo aggiornamento del 2014! 
-  * [[http://wordpress.org/plugins/sociable/|Sociable]]+  * [[http://wordpress.org/plugins/sociable/|Sociable]] FIXME Errori con PHP7!
  
 Con il primo compaoiono i classici pulsanti "Mi piace" in fondo ad ogni pagina, per Facebook, Twitter, Google+, e molti altri. Pare che non ci sia la possibilità di fare "condividi" con Facebook, ma solo "mi piace"? Con il primo compaoiono i classici pulsanti "Mi piace" in fondo ad ogni pagina, per Facebook, Twitter, Google+, e molti altri. Pare che non ci sia la possibilità di fare "condividi" con Facebook, ma solo "mi piace"?
Line 157: Line 166:
 Pare che il plugin Facebook (ufficiale) non è compatibile con //Really simple Facebook Twitter share buttons//: si viene avvisati da un warning. FIXME Verificare se possono convivere per avere i pulsanti Twitter, Google+, ecc. Dopo aver attivato il plugin Facebook compare un nuovo menu nella barra di amministrazione a sinistra. Bisogna impostare un **App ID** e un **App secret** che verranno usate per pubblicare sulla timeline di Facebook. Pare che il plugin Facebook (ufficiale) non è compatibile con //Really simple Facebook Twitter share buttons//: si viene avvisati da un warning. FIXME Verificare se possono convivere per avere i pulsanti Twitter, Google+, ecc. Dopo aver attivato il plugin Facebook compare un nuovo menu nella barra di amministrazione a sinistra. Bisogna impostare un **App ID** e un **App secret** che verranno usate per pubblicare sulla timeline di Facebook.
  
-Il terzo plugin pare che sia quello più quotato per la condivisione sui social network. Conviene demandare a lui la visualizzazione dei pulsanti di condivisione (permette il "condividi" su Facebook) e lasciare al plugin Facebook solo la funzione di aggiornamento automatico della timeline.+Il terzo plugin pare che sia quello più quotato per la condivisione sui social network. Conviene demandare a lui la visualizzazione dei pulsanti di condivisione (permette il "condividi" su Facebook) e lasciare al plugin Facebook solo la funzione di aggiornamento automatico della timeline. Purtroppo non viene più aggiornato da diverso tempo e **non è compatibile con PHP7**.
  
 +===== Disabilitare i commenti agli articoli =====
 +
 +Per togliere i commenti a tutti gli articoli già pubblicati: //Articoli//, selezionarli tutti, //Azioni di gruppo//, //Modifica//, //Commenti// => **Non permettere**.
 +
 +Per gli articoli nuovi: //Impostazioni//, //Discussione//, **Consenti la scrittura di commenti per i nuovi articoli**.
 +
 +===== Permalink e Rewrite =====
 +
 +Per far funzionare i permalink del tipo **%%http://www.sito.org/wp/2017/02/24/titolo/%%** è necessario attivare le opportune regole Rewrite del server web. Wordpress fornisce il seguente esempio nel file **.htaccess**:
 +
 +<file>
 +<IfModule mod_rewrite.c>
 +RewriteEngine On
 +RewriteBase /wp/
 +RewriteRule ^index\.php$ - [L]
 +RewriteCond %{REQUEST_FILENAME} !-f
 +RewriteCond %{REQUEST_FILENAME} !-d
 +RewriteRule . /wp/index.php [L]
 +</IfModule>
 +</file>
 +
 +È preferibile mettere tali direttive nel file di configurazione di Apache (per motivi di performance), ad esempio in una sezione **%%<Directory>%%**.
 +
 +Nel caso in cui invece si preferisca usare il file .htaccess, è necessaria comunque una direttiva (almeno per Apache 2.4):
 +
 +<file>
 +<Directory /var/www/html/wp>
 +    AllowOverride FileInfo
 +</Directory>
 +</file>
 +===== Permessi su filesystem e aggiornamenti =====
 +
 +In genere l'installazione iniziale dei file PHP si effettua via FTP/SFTP o similari, anche l'installazione e aggiornamento di plugin e temi può essere fatto con lo stesso metodo.
 +
 +WordPress offre nella sua interfaccia di amministrazione web l'opzione per l'aggiornamento dei plugin e temi, in tal caso il codice PHP deve essere in grado di modificare i file sul filesystem. Per questo WordPress può utilizzare due metodi diveris:
 +
 +  * **direct** Con questo metodo il codice WordPress presuppone di poter modificare direttamente i file, che pertanto dovranno essere scrivibili dal processo che esegue il server web (tipicamente l'utente www-data in un sistema Debian GNU/Linux).
 +  * **FTP/SFTP** Con questo metodo il codice WordPress accederà al filesystem effettuando una sessione FTP o SFTP con le credenziali che verranno fornite in modo interattivo.
 +
 +WordPress tenta entrambi i metodi per vedere se uno dei due funziona. È possibile forzare l'uno o l'altro impostando in **wp-config.php** la seguente direttiva:
 +
 +<code>
 +define('FS_METHOD','direct');
 +</code>
 +
 +Vedere **[[https://www.danielealessandra.com/come-risolvere-il-problema-della-richiesta-delle-credenziali-ftp-da-parte-di-wordpress/2/|Come risolvere il problema della richiesta delle credenziali FTP da parte di WordPress]]**.
 ===== Aggiornamento plugin ===== ===== Aggiornamento plugin =====
  
 Esiste la possibilità di aggiornare i plugin installati direttamente dal menu amministrazione, Plugin. Tuttavia bisogna che i file siano scrivibili dal server web. Esiste la possibilità di aggiornare i plugin installati direttamente dal menu amministrazione, Plugin. Tuttavia bisogna che i file siano scrivibili dal server web.
  
-In alternativa si scarica l'archivio e lo si scompatta sostituendo al vecchia directory in **''wp-content/plugins/''**, settando opportunamente il proprietario e i permessi.+L'alternativa manuale prevede: 
 + 
 +  * Dalla dashboard disattivare il plugin in questione, 
 +  * Scaricare l'archivio e scompattarlo sostituendo al vecchia directory in **''wp-content/plugins/''** (impostare opportunamente il proprietario e i permessi). 
 +  * Riattivare il plugin dalla dashboard.
  
 +A giudicare da questo [[https://wordpress.org/support/topic/how-to-update-a-database-table-during-plugin-update|post]] e [[http://wordpress.stackexchange.com/questions/67345/how-to-implement-wordpress-plugin-update-that-modifies-the-database|quest'altro]] non esiste una procedura standard da eseguire dopo l'upgrade (es. per aggiornare il database), ma dovrebbe provvedere il plugin in automatico, ovviamente se è scritto bene.
 ===== Aggiornamento temi ===== ===== Aggiornamento temi =====
  
Line 174: Line 234:
 ===== Aggiornamento Wordpress ===== ===== Aggiornamento Wordpress =====
  
-Queste le istruzioni per l'aggiornamento manuale. Vedere l'articolo **[[http://codex.wordpress.org/Updating_WordPress|Updating WordPress]]**.+Queste le istruzioni per l'aggiornamento manuale. Vedere l'articolo **[[https://wordpress.org/documentation/article/updating-wordpress/|Updating WordPress]]**.
  
   - Scaricare l'archivio della nuova versione, eventualmente quello già nazionalizzato in italiano da [[http://it.wordpress.org/|it.wordpress.org]].   - Scaricare l'archivio della nuova versione, eventualmente quello già nazionalizzato in italiano da [[http://it.wordpress.org/|it.wordpress.org]].
Line 189: Line 249:
   - Riabilitare i plugin.   - Riabilitare i plugin.
   - Aggiornare (sempre manualmente) i plugin.   - Aggiornare (sempre manualmente) i plugin.
 +
 +===== Cambio URL base =====
 +
 +Se si migra un sito Wordpress su altro server, generalmente cambia l'**URL base**. Anche l'attivazione del protocollo HTTPS cambia la parte iniziale dell'URL da **%%http://%%** a **%%https://%%**. Wordpress non gestisce molto bene questa situazione perché spesso il contenuto di una pagina o di un articolo include il link ad una pagina interna sotto forma di **link assoluto**, non relativo.
 +
 +La prima cosa da fare è accedere in modalità amministratore e modificare le **Impostazioni generali**, in particolare si deve aggiornare **Indirizzo WordPress (URL)** e **Indirizzo sito (URL)**. Dopo aver fatto la modifica si può controllare se il database è stato aggiornato correttamente:
 +
 +<code sql>
 +SELECT * FROM wp_options WHERE option_name = 'siteurl';
 +SELECT * FROM wp_options WHERE option_name = 'home';
 +</code>
 +
 +Questo modifica il modo in cui vengono generati dinamicamente i link, ma non aggiorna il contenuto di pagine e articoli.
 +
 +Per **aggiornare** il contenuto di **pagine** e **articoli** è necessario **modificare il contenuto del database**. Supponiamo che il vecchio URL base fosse **%%http://www.old-domain.tld/%%** e quello nuovo deve essere **%%https://www.new-domain.tld/%%**, anzitutto si può controllare il contenuto del database:
 +
 +<code sql>
 +SELECT post_content FROM wp_posts WHERE post_content LIKE '%www.old-domain.tld%';
 +</code>
 +
 +<code sql>
 +SELECT guid FROM wp_posts WHERE guid LIKE '%www.old-domain.tld%';
 +</code>
 +
 +Quindi si procede all'aggiornamento:
 +
 +<code sql>
 +UPDATE wp_posts SET post_content =
 +    REPLACE(post_content, 'http://www.old-domain.tld/', 'https://www.new-domain.tld/');
 +</code>
 +
 +<code sql>
 +UPDATE wp_posts SET guid =
 +    REPLACE(guid, 'http://www.old-domain.tld/', 'https://www.new-domain.tld/');
 +</code>
 +
 +===== Permessi per installazione plugin da pannello web =====
 +
 +Se si desidera installare componenti aggiuntivi da pannello di controllo web è necessario che il server http abbia i permessi sufficienti per scrivere nella directory **wp-content/upgrade/** e **wp-content/plugins/** (in generale è opportuno che il server web abbia i permessi su tutta la **wp-content/**).
 +
 +Una volta confermato questo, si indica a WordPress di utilizzare il metodo //direct// per accedere al filesystem, in caso contrario WordPress tenterà di fare accesso via FTP chiedendo le credneziali opportune. Per preferire l'accesso //direct// si aggiungono le righe al file **wp-config.php**:
 +
 +<code php>
 +define ('FS_METHOD', 'direct');
 +define ('FS_CHMOD_DIR', 02775);
 +define ('FS_CHMOD_FILE', 0664);
 +</code>
 +
 +In questo modo si possono specificare anche i permessi predefiniti assegnati a file e directory (numero ottale per i permessi Unix).
 +
 +===== Disabilitare gli aggiornamenti automatici =====
 +
 +
 +<code php>
 +# Disabilitare completamente gli aggiornamenti automatici.
 +define('AUTOMATIC_UPDATER_DISABLED', true);
 +
 +# Aggiorna automaticamente le release maggiori o solo le minori (true/false/'minor').
 +define('WP_AUTO_UPDATE_CORE', false);
 +
 +# Aggiornamento automatico dei plugin (__return_true/__return_false).
 +add_filter('auto_update_plugin', '__return_false');
 +
 +# Aggiornamento automatico dei temi (__return_true/__return_false).
 +add_filter('auto_update_theme', '__return_false');
 +</code>
  
doc/appunti/linux/sa/wordpress.1423560583.txt.gz · Last modified: 2015/02/10 10:29 by niccolo