Wordpress

Installazione

http://www.wordpress-it.it/wiki/Main/InstallazioneDettagliata
http://www.wordpress-it.it/wiki/Main/InstallazioneRapida

Configuraizone con .htaccess

Dentro i file di conf di apache

<VirtualHost *:80>
    ServerName miodominio.it
    DocumentRoot /www/directory
</VirtualHost>

Mentre dentro il .htaccess nella dir principale di wordpress

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Controllare questo link http://www.whiletrue.it/it/blog/wordpress/19-wordpress-un-nuovo-htaccess-per-migliori-prestazioni-e-rispetto-modslotlimit.html

Cambiare il nome del sito

Wordpress cambla gli url in tutto il db e cambiarli manualmente con un str replace crea dei problemi come suggerisce il sito

the length of the string changes but the indexes for the serialized strings does not. Consequently settings are lost and widgets disappear. Not good.
This script can now also handle multiply nested serializations, which can happen in transient values in WP at times, and it can also handle multi-byte Unicode changes safely

. Per poter trasportare per esempio un sito da un dominio locale/privato e uno pubblico si può usare questo script

http://interconnectit.com/124/search-and-replace-for-wordpress-databases/

Qui c'è un link in italiano che spiega il problema http://infoblog.miglio.it/2011/06/cambiare-lurl-di-un-sito-in-wordpress.html

Steps

  1. fare backup db e files
  2. riportare tutto dentro la destinazione definitiva
  3. modificare dentro il db nella tabella wp-options i parametri "site_url" e "home" mettendo l'url che si vuole ottenere. Fare commit
  4. se non si è accesso il web server farlo
  5. mettere il file php dentro la root del sito tipo /var/www/miosito/
  6. rinominarla per evitare problemi di accessi non autorizzati in modo diverso "mv searchreplacedb2.php mioscript.php"
  7. lanciare lo script chiederà i parametri conessione al db che bisogna esserci procurati precedentemente
  8. verificare che è tutto a posto
  9. cancellare lo script

Compatibilità

Ho fatto girare lo script sempre su apache, su una centos ho avuto problemi a fare funzionare lo script perchè alcuni path nelle librerie php non mi andavano mentre su ubuntu ha funzionato immediatamente. Dato che è solo uno script php che modifica il db si può fare in modo che venga eseguito anche su una macchina diversa da quella dove risiede il db/sito l'importante è la raggiungibilità del mysql con le credenziali che si possiedono.

Url camblati

Lo script cambia solo gli url nel db che sono stati impostati da wordpress se l'utilizzatore ha cablato manualmente degli url dentro i temi o javascript potrebbe essere necessario modificarli manualmente.
Per identificare gli url nei file

cd /var/www/nomeprogetto
grep -r http://url.orgiinale.it *

Mentre per modificarli basta
find ./ -type f -exec sed -i 's/http:\/\/url.originale.it/http:\/\/url.da.sostituire.com/g' '{}' \;

Notare l'annullamento del metacarattere / tramite \ , operazione tipica degli shell script

Gli url camblati nei temi possono essere anche nel db li bisogna agire manualmente o con script sql perchè non è lo standard quindi non vengono toccati dallo script di modifica.

Password persa

Sulla doc di wordpress ci sono molti modi di recover della password ma nessuno mi ha funzionato nella versione che avevo io. Quindi ho preso un'altra installazione con un utente di cui conoscevo la password e ho fatto copia e incolla dell'hash nel campo password della tabella dei wp-users

Installazione plugin

Mi chiedeva l'accesso fpt per installare un plugin da aggiungi plugin. Da questa pagina http://stackoverflow.com/questions/640409/can-i-install-update-wordpress-plugins-without-providing-ftp-access
ho trovato questo

    In wp-config.php add define('FS_METHOD', 'direct');
    chmod 777 wp-content/
    chmod 777 wp-content/plugins/
    Install the plugin.

Worked on version 3.2.1

Moduli php base e aggiuntivi ubuntu

Una mia installazione di wordpress aveva bisogno di usare il gd per alcune operazioni sulle immagini e il curl per richiamare un web service si installano così su ubuntu

apt-get install apache2 mysql-server php5-mysql php5 php5-gd php5-curl libapache2-mod-php5
a2enmod rewrite
service apache2 restart

Elenco moduli redhat

yum install php53.i386 php53-common.i386 php53-gd.i386 php53-ldap.i386 php53-mysql.i386

Per controllare se i moduli sono stati caricati basta mettere nella home di wordpress un file
cat phpinfo.php
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

se aprendo la pagina risultante si trovano con una ricerca gd e curl vuol dire che funzionano.

Mail da wordpress

Bisogna configurare questo file /etc/mail/sendmail.mc
e il php.ini

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License