Purtroppo WordPress supporta solo MySQL.
CREATE DATABASE wp_m5scp; GRANT ALL PRIVILEGES ON wp_m5scp.* TO "wp_m5scp"@"%" IDENTIFIED BY "MySecret"; FLUSH PRIVILEGES;
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 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.
cd /var/www/ tar zxvf /usr/local/download/wordpress/wordpress-3.4.2-it_IT.tar.gz mv wordpress/ wp chown -R niccolo.niccolo wp/ cd wp/ chown www-data wp-content/uploads/ cp -p wp-config-sample.php wp-config.php vi wp-config.php
Proseguire la procedura di installazione via web puntando il browser su http://myhost/wp/wp-admin/install.php.
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.
Installazione del plugin bbPress
cd wp/wp-content/plugins/ unzip /usr/local/download/wordpress/bbpress.2.1.3.zip find bbpress -type d | xargs chmod 755 find bbpress -type f | xargs chmod 644
Collegarsi come Admin, Plugin → bbPress → Attiva.
Nel menu amministrazione compare un nuovo menu Forum in cui è possibile creare nuovi Forum (dibattiti) e nuovi Topic (punti del dibattito).
Per avere la traduzione in italiano del plugin conviene andare sul sito http://translate.wordpress.org/projects/bbpress/ ed utilizzare la funzione Export per scaricare il file aggiornato.
ATTENZIONE! bbPress è anche un programma stand-alone, ma si tratta sostanzialmente di due prodotti differenti! Vari link, repository e istruzioni che si trovano sulla rete si riferiscono al programma stand-alone e non al plugin per WordPress.
Il file deve essere copiato in wp-content/languages/bbpress/bbpress-it_IT.mo
, e compilato (installare il pacchetto gettext) con:
msgfmt -o bbpress-it_IT.mo bbpress-it_IT.po
Per consentire a nuovi utenti di registrarsi: collegarsi come Admin Impostazioni → Generale → Chiunque può registrarsi. Impostare come ruolo predefinito Sottoscrittore, in modo che il nuovo iscritto possa solo leggere e non aggiungere o modificare contenuti.
Sembra impossibile modificare l'autore che ha iniziato un topic. Direttamente sul database si recupera l'ID dell'utente e l'ID del topic e si effettual UPDATE
manuale:
SELECT ID, user_login FROM wp_users WHERE user_login = 'Niccolo'; SELECT ID, post_author, post_status, post_type, post_title FROM wp_posts WHERE post_type = 'topic' AND post_title LIKE '%illuminazione pubblica a LED%'; UPDATE wp_posts SET post_author = "2" WHERE ID = 57;
La ricerca standard di WordPress non agisce sul contenuto del forum, vedere se questo plugin è la soluzione migliore: bbpress-search-widget.
Le voci della barra menu vengono aggiunte automaticamente quando si aggiunge una Pagina. L'ordine viene impostato dal campo Ordinamento della pagina stessa: un valore maggiore sposta il menu più a destra.
Come far comparire un link all'indice dei forum nel menu?
L'indice dei forum viene generato automaticamente all'URL …/forums/
, si potrebbe creare una pagina che ha quell'URL come permalink: un link alla pagina compare nella barra dei menu, ma purtroppo la pagina nasconde l'indice.
Se si usa il tema Ttwenty Ten (del 2010) allora si possono attivare i template di bbPress Twenty Ten nella configurazione del plugin. Infine si crea una pagina usando il template bbPress - Forums (Index). Quella pagina mostrerà l'indice.
Se si usa il tema Twenty Eleven invece si deve ricorrere agli shortcode: si crea una normale pagina e al suo interno si inserisce una stringa del tipo:
[bbp-forum-index] [bbp-single-forum id=2]
Scegliere uno degli shortcode di bbPress disponibili. Il core di WordPress e i vari plugin espongono tali shortcode (sostanzialmente sono delle macro). Esiste un plugin che automaticamente li mostra durante l'editing di una pagina, il plugin si chiama Shortcode Reference.
Vedere Roles and Capabilities in WordPress.
Attività | Sottoscrittore | Collaboratore | Autore |
---|---|---|---|
Aggiungere articolo | No | Moderato | Sì |
Postare commento | Moderato il 1° | Moderato il 1° | Sì |
Aggiungere Forum | No | No | Sì |
Aggiungere Topic | Sì | Sì | Sì |
Commentare Topic | Sì | Sì | Sì |
Upload file | No | No | Sì |
Come mittente viene usato wordpress@dominio dove il dominio è il nome del dominio di installzione di WordPress avendo tolto il www iniziale.
Vedere l'articolo Changing the wp_mail from address in wordpress without a plugin che spiega come modificarlo a livello di tema. In pratica basta aggiungere questo codice al file wp-content/themes/twentyeleven/functions.php
(cioè del tema in uso):
add_filter( 'wp_mail_from', 'my_mail_from' ); function my_mail_from( $email ) { return 'myemail@mydomain.com'; } add_filter( 'wp_mail_from_name', 'my_mail_from_name' ); function my_mail_from_name( $name ) { return 'My Name'; }
Si agisce sul tema, in particolare sui filewp-content/themes/twentyeleven/header.php
e footer.php
.
Provati i seguenti plugin:
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”?
Pare che il plugin Facebook (ufficiale) non è compatibile con Really simple Facebook Twitter share buttons: si viene avvisati da un warning. 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. Purtroppo non viene più aggiornato da diverso tempo e non è compatibile con PHP7.
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.
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:
<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>
È 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):
<Directory /var/www/html/wp> AllowOverride FileInfo </Directory>
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:
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:
define('FS_METHOD','direct');
Vedere Come risolvere il problema della richiesta delle credenziali FTP da parte di WordPress.
Esiste la possibilità di aggiornare i plugin installati direttamente dal menu amministrazione, Plugin. Tuttavia bisogna che i file siano scrivibili dal server web.
L'alternativa manuale prevede:
wp-content/plugins/
(impostare opportunamente il proprietario e i permessi).A giudicare da questo post e 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.
Come per i plugin, esiste la possibilità di aggiornare i temi installati direttamente dal menu amministrazione, Aggiornamenti. 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/themes/
, settando opportunamente il proprietario e i permessi.
Esiste un repository di temi scaricabili: https://wordpress.org/themes/
Queste le istruzioni per l'aggiornamento manuale. Vedere l'articolo Updating WordPress.
tar zcvf wp.tgz /var/www/wp/
mysqldump --host=localhost --user=wp_db --password --add-drop-table wp_db > wp_db.dump
wp-admin/
e wp-includes/
con quelle nuove.wp-content/
, sostituendo i file vecchi (ma lasciando eventuali file in più)./wp-admin
. Se richiesto procedere all'aggiornamento del database.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:
SELECT * FROM wp_options WHERE option_name = 'siteurl'; SELECT * FROM wp_options WHERE option_name = 'home';
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:
SELECT post_content FROM wp_posts WHERE post_content LIKE '%www.old-domain.tld%';
SELECT guid FROM wp_posts WHERE guid LIKE '%www.old-domain.tld%';
Quindi si procede all'aggiornamento:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.old-domain.tld/', 'https://www.new-domain.tld/');
UPDATE wp_posts SET guid = REPLACE(guid, 'http://www.old-domain.tld/', 'https://www.new-domain.tld/');
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:
define ('FS_METHOD', 'direct'); define ('FS_CHMOD_DIR', 02775); define ('FS_CHMOD_FILE', 0664);
In questo modo si possono specificare anche i permessi predefiniti assegnati a file e directory (numero ottale per i permessi Unix).
# 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');