Archivio

Posts Tagged ‘wordpress’

WordPress password dimenticata

wordpress.org Se si è dimenticata la password di amministratore di wordpress e il servizio di posta non è disponibile, per  recuperare l’accesso e l’installazione è possibile:

1) accedere al file wp-config.php
2) generare una nuova password inserendola direttamente nel database mysql.

1 ) accedere al file wp-config.php nella directory principale di wordpress. Il file wp-config contiene le informazioni di accesso al database grazie alle quali è possibile accedere alla tabella  _users con i dati e le password degli utenti

// ** MySQL settings - You can get this info from your web host ** //
 /** The name of the database for WordPress */
 define('DB_NAME', 'wpblog');
/** MySQL database username */
 define('DB_USER', 'wpdbadmin');
/** MySQL database password */
 define('DB_PASSWORD', 'miapassword');
/** MySQL hostname */
 # define('DB_HOST', 'localhost');
 define('DB_HOST', '192.168.1.100:3306');

WordPress passwords basate sul php password hashing.

Le password in word press sono memorizzate nella tabella xx_users

wp_passwd_adminer_1

2) Se si dispone dell’accesso al database mysql via phpMyAdmin o Adminer è possibile recuperare l’accesso a wordpress sostituendo la vecchia password ( dimenticata ) con una nuova password. Per la “crittografia” delle password wordpress utilizza il Portable PHP password hashing framework  ( le prime versioni utilizzavano invece MD5 ).

Il formato di una password che utilizza il php password hashing è facilmente distinguibile dal formato MD5.

php password hashing:   $P$BEMeAQICR602UR9RGRYtzzGz9SNKVA.
MD5 :  551583c11e1e3c9d8e6aeea9a84fe143

La classe con l’algoritmo per la gestione delle password è contenuta nel file ./wp-includes/class-phpass.php. Quindi per generare ad esempio la password di “MyPassword” è sufficiente disporre del file class-phpass.php e includerlo ad esempio nel file passwd_wp.php contenente uno script del tipo:

<!–?php

/** We want to hash password using the current DEFAULT algorithm. */
require(‘./class-phpass.php’);

/** Simple  instruction to generate password and/or to check password. */
$wp_hasher = new PasswordHash( 8, TRUE );
$password = ‘MyPassword‘;
$hashed_password = $wp_hasher->HashPassword( $password );

$checkpass = $wp_hasher->CheckPassword($password, $hashed_password) ;

echo “check result = “ . $checkpass ;
echo “\n”;
echo “password = “ . $password . “\n” ;
echo “hashed_password = “ . $hashed_password ;
echo “\n”;

?>

ll file può essere eseguito da terminale con

$ php passwd_wp.php

oppure può essere reso disponibile via webserver .

La password dimenticata può essere sostituita da una nuova password generata utilizzando lo script soprariportato e adminer o phpMyAdmin

wp_passwd_adminer_2

 

Risorse:
Annunci

Trasferire o copiare un blog wordpress 3.5 in altro server

marzo 27, 2013 8 commenti

wordpress-logo-sObiettivo: trasferire e/o copiare  un blog wordpress  da un server in altro server.  Il trasferimento può far comodo anche per avere una copia in locale del blog.  Per poter effettuare l’operazione  è necessario l’accesso ai MySQL e alle cartelle delle web application nei  servers conivolti nel trasferimento. Se non si dispongono dei dati di accesso non resta che far ricorso al plugin per l’esportazione con i limiti del caso.  La versione di WordPress presa in considerazione è la 3.5.1. I servers utilizzati possono essere sia Linux che Windows. Per quanto riguarda i databases MySQL è sufficiente che la versione sia 5.0 o successive. Un’articolata discussione di tutte le situazioni che si possono presentare quando si deve spostare un blog wordpress si trova nel seguente post Moving WordPress « WordPress Codex.

Di seguito l’esemplificazione, talvolta anche passo passo, delle operazioni da compiere per copiare ad esempio il blog maurizio.siagri.net su server locale ubuntu 12.04 virtuale ip 192.168.7.162.

1) Accedere alla cartella contenente l’applicazione WordPress da trasferire e copiarla nel nuovo server. A seconda delle connessioni da remoto supportate dal server sorgente si possono utilizzare una molteplicità di modalità di accesso per il trasferimento:  ftp, webdav, sftp. smb, vpn …

Nel caso specifico copiamo la cartella di wordpress del server di origine da

/maurizio  (server origine )  
in ---->  
/var/www/maurizio  ( server target locale ubuntu )

2) Sistemare i  permessi delle cartelle per l’esecuzione dell’applicazione da parte del web server apache2 presente nella macchina ubuntu locale.

chown www-data:www-data -R /www/var/maurizio

3)  Effettuata la copia delle cartelle si deve copiare il database.

Per ottenere le informazioni relative al database  visualizzare il file wp-config.php  si potranno visualizzare il nome del database, DB_NAME,  il nome del proprietario del database, DB_USER,  la password usata dal DB_USER,  DB_PASSWORD .

 
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'dbwp_name');

/** MySQL database username */
define('DB_USER', 'user_dbwp');

/** MySQL database password */
define('DB_PASSWORD', 'pass_user_dbwp');

/** MySQL hostname */
define('DB_HOST', 'hostname');

4) Effettuare il dump del database MySQL, del blog da trasferire, utilizzando i dati di accesso del file wp-config.php  con un comando dle tipo .

$ mysqldump -u user_dbwp --password=pass_user_dbwp -h host_wp_remoto dbwp_name > dbwp_name.sql

5) Caricare il dump del database nel nuovo server MySQL della macchina ubuntu locale:

Accedere al nuovo server Mysql con:

$ mysql -u root -h host -p

creare il nuovo database e lo user_dbwp con:

mysql> CREATE DATABASE dbwp_name;
mysql> GRANT ALL PRIVILEGES ON dbwp_name.* TO 'user_dbwp'@'localhost'
mysql> IDENTIFIED BY 'pass_user_dbwp' ;
mysql> FLUSH PRIVILEGES ;

caricare il database con :

$ mysql -u user_dbwp --password=pass_user_dbwp  -h host dbwp_name < dbwp_name.sql

6) Adesso è possbile avviare però i risultati saranno “stravaganti “e non sarà possbile navigare. Infatti si rende necessario sostituire almeno i nomi di dominio ed eventualmente gli urls.

Sostituzione del nome di dominio
In questo caso è necessario procedere alla ricerca dei vecchi valori,  sostituendoli con i nuovi. Per fare questo la soluzione ottimale consiste nell’utilizzare lo script scaricabile al seguente indirzzo Search and Replace for WordPress Databases Script. Lo script consente una sostituzioni sicura dei dati preservando l’integrità della lunghezza delle stringhe serializzate. Il codice funziona per qualsiasi piattaforma che memorizza array PHP serializzati in un database MySQL: Drupal Joomla. ATTENZIONE Lo script rappesenta un punto di vulnerabilità. Pertanto é bene usarlo rinominato e rimuoverlo dopo il suo utilizzo.

Possiamo anche scaricare e rendere disponibile lo script Download Search Replace DB v 2.1.0 con:

$ wget http://www.interconnectit.com/wp-content/uploads/2011/05/searchreplacedb21.zip
$ unzip searchreplacedb21.zip
$ cp    searchreplacedb21.php  /var/www/maurizio/_sr21.php 
$ chown www-data:www-data maurizio

Avviare  lo scripts facendo puntare il browser allo scipt stesso 192.168.66.162/maurizio/_sr2.php e seguire le indicazioni a video. Procedere con attenzione e cautela. Nel caso si compiano errori si può ricaricare il dump originale del database e ripetere l’operazione.

wordpress db search e replace

wordpress db search e replace start page

Sostituzione nome dominio maurizio.siagri.net con l’indirizzo locale 192.168.7.162/maurizio

wordpress db sostituzione nome dominio

wordpress db sostituzione nome dominio

Esito del search e replace nel database

wordpress db search and replace results

wordpress dbsearch and replace results

Adesso è possibile avviare il blog in locale http://192.168.7.162/maurizio

wp_blog_copiato

Risorse:

Installazione veloce di WordPress 3.5 in Centos 5.8 da zero

wordpress.org

Obiettivo: Installare WordPress 3.5 in debian da zero in pochi minuti, va bene anche per ubuntu. Lo schema proposto, uno volta installati apache e mysql, consente di effettuare ulteriori installazioni completamente autonome di wordpress in poco più di un minuto WordPress seconda e successive installazioni.

yum install mysql-server httpd 

per procedere più velocemente al momento non impostiamo la password per il mysql-server-5.5.

Alla richiesta lasciamo in bianco la password e selezioniamo OK

WordPress 3.5 necessita di una  versione di php uguale o superiore alla 5.2. Nei repository di centos 5  php è disponibilie  nella versione  5.1.6 pertanto bisogna ricorrere al repository EPEL  ( Extra Packages for Enterprise Linux repository  Centos 5 – RedHat 5 ).

Se il repository EPEL non è installato si può abilitare seguendo le indicazioni in questo post   Centos 5 upgrade di php 5.1 a 5.3 – EPEL repository

Quindi installare la versione php 5.3 con

yum –enablerepo=epel install php53 php53-mysql php53-mcrypt

Controllare la nuova versione di php installata con:

[root@Centos5 src]# php -v
PHP 5.3.3 (cli) (built: Jun 27 2012 12:25:37) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Controllo dei servizi mysql e httpd apache

Controllare ora che all’accensione i servizi mysql e http apache si avvino automaticamente

 sudo su -

possiamo controllare l’avvio automatico di httpd con

root@Centos5:# chkconfig --list | grep "mysqld"
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off

se mancasse o fossero a off i vari livelli attivare l’ avvio automatico con

sudo chkconfig mysqld on

controlliamo che il servizo mysqld sia attiato con

root@Centos5:~# service mysqld status  
mysqld (pid 9463) running...

il servizio mysqld può essere avviato con

/etc/init.d/mysql start

mysql si controlla con

Usage: /etc/init.d/mysqld start|stop|restart|reload|force-reload|status
chkconfig mysqld on

Controlliamo il riavvio automatico di apache httpd

root@Centos5:~# chkconfig -list | grep "httpd"
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Se non si ottiene questo risultato il riavvio automatico di httpd può essere impostato con

chkconfig httpd on

controlliamo che apache2 sia avviato con

root@Centos5: # service httpd status
httpd ( pid 8049 )  is running ...

httpd può essere avviato con

 service httpd start

possiamo controlare httpd con

root@Centos5:# /etc/init.d/httpd
Usage: service httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}.
Riavviare httpd
sudo service httpd restart

Generiamo il database per wordpress

Diventiamo root per creare il database in mysql da usare con wordpress.

Creiamo il database “wordpress” ( wordpress è considerato  un buon nome ) in mysql

 echo 'CREATE DATABASE wordpress;' | mysql

Impostiamo lo user per il database wordpress scegliamo “wordpress” (è considerato un buon nome) come password viene scelta “wordpress” ma andrebbe sostituita con una password robusta.
Il comando da usare avrà il seguente schema:
echo “GRANT ALL PRIVILEGES ON wordpress.* TO ‘user’@’localhost’ IDENTIFIED BY ‘password’;” | mysql

Cambiare il comando a seconda delle variazioni apportate a database e/o user e/o password

echo "GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';"|mysql
echo "FLUSH PRIVILEGES;" | mysql

Installiamo la versione 3.5 di wordpress

Scarichiamo l’ultima versione di wordpress disponibile al momento la 3.5.   La directory base di apache in Centos 5 è /var/www/html  quindi;


cd /var/www/html/
wget http://wordpress.org/latest.tar.gz 
tar -zxvf latest.tar.gz

Adesso bisogna settare alcune directory con il permesso di scrittura da parte del webserver

cd wordpress
mkdir wp-content/uploads wp-content/cache 
chown apache:apache wp-content/uploads wp-content/cache

copiamo la configurazione di default e la modifichiamo via terminale

cp wp-config-sample.php wp-config.php

Inseriamo, via terminale, nel file di configurazione di wordpress il nome del database, lo username e la password che abbia utilizzato prima. Qulaora siano stati modificati i dati adeguare i comandi seguenti:

sed -i -e 's@database_name_here@wordpress@' wp-config.php 
sed -i -e 's@username_here@wordpress@' wp-config.php 
sed -i -e 's@password_here@wordpress@' wp-config.php

usciamo da root

 exit

Compilare la pagina di installazione wordpress indicando:

  • nome del blog
  • credenziali dell’amministratore del blog: username e password

per la compilazione lanciamo in un browser il seguente url

http://numero-ip/wordpress/wp-admin/install.php

terminata l’installazione  possiamo effettuare il login alla pagine

http://numero-ip/wordpress/wp-admin/
wordpress 3.5 start
 Chiarito il meccanismo possiamo effettuare una nuova installare di wordpress completamente autonoma in poco più di 1 minuto sarà sufficiente definire la directory e la password per il nuovo database e utilizzare in successione i comandi che abbiamo visto.

WordPress seconda e successive installazioni

Scegliamo la nuova directory, di conseguenza il nuovo database e il suo user principale con password. Ad esempio:
possiamo usare una nuova dir
– wp_342
quindi il database potrebbe essere
– wp_342
– il suo user principale
– wp_342 con password %9Wp-342

Installiamo eseguendo in sequenza

sudo su -

echo 'CREATE DATABASE wp_342;' | mysql

echo "GRANT ALL PRIVILEGES ON wp_342.* TO 'wp_342'@'localhost' IDENTIFIED BY '%9Wp_342';"|mysql
echo "FLUSH PRIVILEGES;" | mysql

cd /var/www/html/
mkdir tmp
tar -zxvf latest.tar.gz -C tmp
mv tmp/wordpress wp_342

cd wp_342
mkdir wp-content/uploads wp-content/cache 
chown apache:apache wp-content/uploads wp-content/cache

cp wp-config-sample.php wp-config.php

sed -i -e 's@database_name_here@wp_342@' wp-config.php 
sed -i -e 's@username_here@wp_342@' wp-config.php 
sed -i -e 's@password_here@%9Wp_342@' wp-config.php

completiamo l’installazione via web con

http://numero-ip/wp_342/wp-admin/install.php

per il login

http://numero-ip/wp_342/wp-admin/

Completata l’installazione è opportuno impostare la password di root di mysql.

Valutare anche l’installazione di phpmyadmin.

Risorse nel blog

Installazione veloce di WordPress 3.4.2 in debian squeeze da zero

Obiettivo: Installare WordPress 3.4.2 in debian da zero in pochi minuti, va bene anche per ubuntu. Lo schema proposto, uno volta installati apache e mysql, consente di effettuare ulteriori installazioni completamente autonome di wordpress in poco più di un minuto WordPress seconda e successive installazioni.

sudo aptitude install mysql-server apache2 php5 php5-mysql php5-mcrypt

per procedere più velocemente al momento non impostiamo la password per il mysql-server-5.5.
Alla richiesta lasciamo in bianco la password e selezioniamo OK

Controllare che all’accensione i servizi mysql e http apache si avvino automaticamente

Controllo dei servizi mysql e apache ( opzionale )

I seguenti comandi non dovrebbero essere necessari

possiamo controllare l’avvio automatico di apache con

root@deb632pv:# sysv-rc-conf -list | grep "mysql"
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

se mancasse o fossero a off i vari livelli attivare l’ avvio automatico con

sudo sysv-rc-conf mysql on

controlliamo che il servizo mysql sia attiato con

root@deb632pv:~# sudo service mysql status
/usr/bin/mysqladmin Ver 8.42 Distrib 5.1.63, for debian-linux-gnu on i486
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version 5.1.63-0+squeeze1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 4 min 46 sec

Threads: 1 Questions: 318 Slow queries: 0 Opens: 264 Flush tables: 2 Open tables: 0 Queries per second avg: 1.111.

il servizio mysql può essere avviato con

/etc/init.d/mysql start

mysql si controlla con

Usage: /etc/init.d/mysql start|stop|restart|reload|force-reload|status
sudo sysv-rc-conf mysql on

Controlliamo il riavvio automatico di apache

root@deb632pv:~# sysv-rc-conf -list | grep "apache2"
apache2 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Se non si ottiene questo risultato il riavvio automatico di apache2 può essere impostato con

sudo sysv-rc-conf apache on

controlliamo che apache2 sia avviato con

root@deb632pv:/var/www# /etc/init.d/apache2 status
Apache2 is running (pid 7772).

Apache2 può essere avviato con

/etc/init.d/apache2 start

possiamo controlare apache2 con

root@deb632pv:# /etc/init.d/apache2
Usage: /etc/init.d/apache2 {start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean|status}.
Riavviare apache
sudo service apache2 restart

Generiamo il database per wordpress

Diventiamo root per creare il database in mysql da usare con wordpress.

 sudo su -

Creiamo il database “wordpress” ( wordpress è considerato  un buon nome ) in mysql

 echo 'CREATE DATABASE wordpress;' | mysql

Impostiamo lo user per il database wordpress scegliamo “wordpress” (è considerato un buon nome) come password viene scelta “wordpress” ma andrebbe sostituita con una password robusta.
Il comando da usare avrà il seguente schema:
echo “GRANT ALL PRIVILEGES ON wordpress.* TO ‘user’@’localhost’ IDENTIFIED BY ‘password’;” | mysql

Cambiare il comando a seconda delle variazioni apportate a database e/o user e/o password

echo "GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';"|mysql
echo "FLUSH PRIVILEGES;" | mysql

Installiamo la versione 3.4.2 i wordpress

Scarichiamo l’ultima versione di wordpress disponibile al momento la 3.4.2

cd /var/www/
wget http://wordpress.org/latest.tar.gz 
tar -zxvf latest.tar.gz

Adesso bisogna settare alcune directory con il permesso di scrittura da parte del webserver

cd wordpress
mkdir wp-content/uploads wp-content/cache 
chown www-data:www-data wp-content/uploads wp-content/cache

copiamo la configurazione di default e la modifichiamo via terminale

cp wp-config-sample.php wp-config.php

Inseriamo, via terminale, nel file di configurazione di wordpress il nome del database, lo username e la password che abbia utilizzato prima. Qulaora siano stati modificati i dati adeguare i comandi seguenti:

sed -i -e 's@database_name_here@wordpress@' wp-config.php 
sed -i -e 's@username_here@wordpress@' wp-config.php 
sed -i -e 's@password_here@wordpress@' wp-config.php

usciamo da root

 exit

Compilare la pagina di installazione wordpress indicando:

  • nome del blog
  • credenziali dell’amministratore del blog: username e password

per la compilazione lanciamo in un browser il seguente url

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

terminata l’installazione  possiamo effettuare il login alla pagine

http://127.0.0.1/wordpress/wp-admin/

Chiarito il meccanismo possiamo effettuare una nuova installare di wordpress completamente autonoma in poco più di 1 minuto sarà sufficiente definire la directory e la password per il nuovo database e utilizzare in successione i comandi che abbiamo visto.

WordPress seconda e successive installazioni

Scegliamo la nuova directory, di conseguenza il nuovo database e il suo user principale con password. Ad esempio:
possiamo usare una nuova dir
– wp_342
quindi il database potrebbe essere
– wp_342
– il suo user principale
– wp_342 con password %9Wp-342

Installiamo eseguendo in sequenza

sudo su -

echo 'CREATE DATABASE wp_342;' | mysql

echo "GRANT ALL PRIVILEGES ON wp_342.* TO 'wp_342'@'localhost' IDENTIFIED BY '%9Wp_342';"|mysql
echo "FLUSH PRIVILEGES;" | mysql

cd /var/www/
mkdir tmp
tar -zxvf latest.tar.gz -C tmp
mv tmp/wordpress wp_342

cd wp_342
mkdir wp-content/uploads wp-content/cache 
chown www-data:www-data wp-content/uploads wp-content/cache

cp wp-config-sample.php wp-config.php

sed -i -e 's@database_name_here@wp_342@' wp-config.php 
sed -i -e 's@username_here@wp_342@' wp-config.php 
sed -i -e 's@password_here@%9Wp_342@' wp-config.php

completiamo l’installazione via web con

http://127.0.0.1/wp_342/wp-admin/install.php

per il login

http://127.0.0.1/wp_342/wp-admin/

Completata l’installazione è opportuno impostare la password di root di mysql.

Valutare anche l’installazione di phpmyadmin.

wordpress.com

Risorse Utili

Non è possibile installare google anayltics in wordpress.com
per ragioni di sicurezza ( javascript ).
La sezione statistiche appare comunque ben strutturata.

Statistiche
Le visite degli user che sono loggati ( logged-in) non vengono conteggiate.

my-stat:statistiche del proprio blog

wordpress.org
attuale versione disponibile 3.3.2
WordPress necessità di:
– PHP version 5.2.4 or greater
– MySQL version 5.0 or greater

e possibile comunque utilizzare anche altri databases quali postgresql
PostgreSQL wordpress plugin version 1.2.2