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
Last revisionBoth sides next revision
doc:appunti:linux:sa:wordpress [2014/11/21 12:01] – [Configurazione] niccolodoc:appunti:linux:sa:wordpress [2023/09/11 09:15] – [Permessi per installazione plugin da pannello web] 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 =====
  
Line 165: Line 220:
 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. 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.
  
 +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 171: Line 227:
 In alternativa si scarica l'archivio e lo si scompatta sostituendo al vecchia directory in **''wp-content/themes/''**, settando opportunamente il proprietario e i permessi. In alternativa si scarica l'archivio e lo si scompatta sostituendo al vecchia directory in **''wp-content/themes/''**, settando opportunamente il proprietario e i permessi.
  
 +Esiste un repository di temi scaricabili: [[https://wordpress.org/themes/]]
 ===== 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 188: Line 245:
   - 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.txt · Last modified: 2024/02/07 15:51 by niccolo