post

MySQL in plesk, ottimizzazione o optimize e come trovare la password

per PLESK 12 o precedenti potete usare:
(in alcuni casi il comando successivo può comunicare la versione CRITTOGRAFATA della password presente in .psa.shadow)
cat /etc/psa/.psa.shadow

altrimenti potete usare:
/usr/local/psa/bin/admin –show-password

Ottimizzazione di tutte le tabelle nel server
mysqlcheck -uadmin -p`cat /etc/psa/.psa.shadow` --optimize --all-databases

post

L’aggiornamento non può essere installato perchè non è stato possibile copiare alcuni file … : wp-admin/includes/update-core.php

PRIMO) tieni bene a mente: un’installazione di WordPress NON sicura è una falla alla sicurezza del sistema;

SECONDO) spesso è più semplice effettuare l’installazione via FTP, i parametri di sicurezza dei files vengono assegnati più facilmente ed in automatico, il proprietario del file è l’accesso l’utente dell’accesso FTP ed è tutto pronto (tranne il DB)

TERZO) perché lo vuoi installare così? Per fare una prova originale? Beh…allora continua.

 

Quando in WordPress (installazione su server personale/vps/hosting) ci sono dei problemi di permessi o di parametri sui file, si possono verificare degli errori negli aggiornamenti.

Ultimamente mi è capitato un problema anomalo:

Durante un aggiornamento di routine a WordPress 4.2.2 ho ricevuto il seguente messaggio di errore:

L'aggiornamento non può essere installato perchè non è stato possibile copiare alcuni file. Ciò è solitamente dovuto ad una inconsistenza sui permessi dei file.: wp-admin/includes/update-core.php

Ho provato a cambiare il proprietario del file, ho provato a riavviare il server, ho provato a riassegnare i permessi di scrittura standard… ma niente. Non è andato a buon fine nulla.

Alla fine ho impostato il famoso 777 su tutti i files dell’installazione wordpress e ho risolto.

Qua i comandi per impostare il 777 solo ai file:

find httpdocs/ -type f -exec chmod 777 -R {} \;

e qua i comandi per ripristinare la situazione alla “normalità”.

chmod 750 ./httpdocs/ -R
find httpdocs/ -type d -exec chmod 775 -R {} \;
find httpdocs/ -type f -exec chmod 644 -R {} \;

Per altre info leggi l’articolo INSTALLARE WORDPRESS TRAMITE SSH

post

Ridimensionare un disco su Aruba Cloud con CentOs 5/6 tramite SSH

services_ssh_puttyUna volta preso un server con disco dinamico, espanderlo non è poi così semplice e la procedura non è ne immediata ne sicura. AVVERTO QUINDI TUTTI DI FARE UN BACKUP SU UN REPOSITORY ESTERNO, NON SUL SERVER STESSO, in quanto bloccandosi si perderebbe TUTTO.

Piccole informazioni che potrebbero essere utili:
Visualizzare lo spazio occupato su un server o pc con linux
SSH e installazione Yum su CentOs – Plesk Server

Il disco non si ridimensiona da solo e durante questa procedura, che riporto di seguito solo per scopo educativo ed escludendo qualsiasi responsabilità per perdita di dati, fermo macchine o danni diretti o indiretti. Utilizzate questa guida solo per scopo istruttivo e su macchine di test.

Punto 1.

Verificare lo stato dei propri dischi e partizioni con:

# fdisk -l

_______________

Punto 2.

Formattare il nuovo disco con:

# cfdisk /dev/sda

selezionare la partizione all’interno dell’utility (probabilmente è l’ultima e si potrebbe chiamare /sda3 e creare la partizione per il disco nuovo con il codice filesystem:

8e

che equivale a:

Linux LVM

salvare il lavoro [WRITE] e poi uscire [QUIT].

_______________

Punto 3.

Lanciare di nuovo il comando per verificare la partizione correttamente salvata

# fdisk -l

e ora RIAVVIARE il server

# reboot
_______________

Punto 4.

Controllare lo stato del gruppo LVM con

# lvm vgdisplay

_______________

Punto 5.

Aggiungere la partizione al gruppo LVM in uso con il comando:

# lvm vgextend "vg" /dev/sda3

ipotizzando che il gruppo è vg e la partizione è /sda3

_______________

Punto 6.

Ricontrollare lo stato del gruppo LVM

# lvm vgdisplay

dovremmo trovare una riga con qualcosa come

Free PE / Size 2559 / 10.00 GiB
con un disco aggiuntivo di 10GB

_______________

Punto 7.

Ora lanciamo il comando:

# df -h

e otteniamo il percorso del nostro LVM.

Nel nostro caso:

/dev/mapper/vg-lv_root

_______________

Punto 8.

Ora lanciamo il comando:

# lvm lvdisplay /dev/mapper/vg-lv_root

dovremmo trovare una riga con qualcosa come

Current LE 1930
con un disco originale di circa 7GB

_______________

Punto 9.

Ora sommiamo i blocchi liberi visti precedentemente (Free PE 2559) a quelli attuali (Current LE 1930) e otteniamo 4489.

_______________

Punto 10.

Adesso possiamo aggiungere lo spazio al nostro gruppo LVM con questo comando:

# lvm lvresize -l 4489 /dev/mapper/vg-lv_root

dovremmo quindi ottenere un messaggio come questo:

Extending logical volume lv_root to 17.54 GiB
Logical volume lv_root successfully resized

_______________

Punto 11.

Ultimo passaggio è il ridimensionamento del FileSystem, quindi utilizziamo il comando:

# resize2fs /dev/mapper/vg-lv_root

e otteniamo il seguente messaggio:

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/vg-lv_root to 4596736 (4k) blocks.
The filesystem on /dev/mapper/vg-lv_root is now 4596736 blocks long.

_______________

Punto 12.

Ora analizziamo lo spazio libero:

# df -h

e vediamo che la partizione è stata aggiornata.

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-lv_root
18G 3.7G 13G 23% /
tmpfs 503M 0 503M 0% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot

post

Come rimuovere i vecchi backup di Plesk se non vengono cancellati

services_ssh_puttyI server con PLESK, per il mio utilizzo, hanno un grande problema, non rimuovono in automatico i vecchi backup.

Potrebbe essere solo un problema di configurazione, un impostazione dei permessi, ma se si vuole aggirare il problema (come ho fatto io) la soluzione più efficace è sicuramente quella di andare a cancellare i file… a mano può essere un’operazione “gravosa” e lunga. Ogni ambiente Plesk gestisce un numero X di domini, e ogni dominio può essere suddiviso nuovamente tra file, database, snapshot… etc

 

La soluzione più semplice, per me, è stata quella di entrare da terminale e lanciare il seguente comando:

 

find /var/lib/psa/dumps/* -mtime +30 -exec rm {} \;

 

Il 30 indica che cancellerà i file più vecchi di 30 giorni e ovviamente si può personalizzare.

Quindi potremmo anche andare a mettere la stessa riga su un’operazione schedulata e poi andarla a far eseguire regolarmente subito dopo il backup, ma se avete modo di entrare ogni 3-4 mesi direttamente da terminale, è consigliato farlo a mano.

post

Aggiornare SSH (openssh, ssh-server, openssh-server) su CENTOS, testato su VPS Aruba

AVVISO IMPORTANTE: QUESTA GUIDA NON E’ PER UTENTI SENZA ALCUNA CONOSCENZA DI BASE, l’uso scorretto può portare al blocco del sito web, alla perdita di dati, alla necessità di un reset del server, alla non continuità del funzionamento del sito/server. Si consiglia l’uso in un ambiente di test, si consiglia di effettuare sempre un BACKUP completo (file-impostazioni-database) dell’ambiente di lavoro, si sconsiglia l’uso in un ambiente di lavoro senza alcun test preventivo.

innanzitutto verificare la versione presente nel sistema

ssh -v

poi dal sito

http://www.openssh.com/portable.html

Identificare il file più adatto e il mirror, ad esempio prendere quello francese della versione 6.1

wget http://ftp.arcane-networks.fr/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz

poi decomprimere il tutto

tar -xvzf openssh-6.1p1.tar.gz

e copiare il file informativo nella directory di sistema

cp ./openssh-6.1p1/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/

copiare il file sorgente completo nella directory di sistema

cp openssh-6.1p1.tar.gz /usr/src/redhat/SOURCES/

andare nella directory di sistema

cd /usr/src/redhat/SPECS

compilare i file

perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec

creare la struttura del file rpm “finale”

rpmbuild -bb openssh.spec

ASSICURARSI che tra le righe finali ci sia qualcosa del genere:

Wrote: /usr/src/redhat/RPMS/i386/openssh-6.1p1-1.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/openssh-clients-6.1p1-1.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/openssh-server-6.1p1-1.i386.rpm

andare nel percorso finale dove sono stati generati i file

cd /usr/src/redhat/RPMS/i386/

installare il risultato

rpm -Uvh *.rpm

lanciare nuovamente il comando

ssh -v

per verificare quale versione è attualmente installata.

Se è la stessa versione originale, non è andata a buon fine l’installazione, eseguire nuovamente i passaggi con cura e verificare se ci sono output con errori.

post

Installare WordPress tramite SSH con pochi comandi su VPS

PRIMO) tieni bene a mente: un’installazione di WordPress NON sicura è una falla alla sicurezza del sistema;

SECONDO) spesso è più semplice effettuare l’installazione via FTP, i parametri di sicurezza dei files vengono assegnati più facilmente ed in automatico, il proprietario del file è l’accesso l’utente dell’accesso FTP ed è tutto pronto (tranne il DB)

TERZO) perché lo vuoi installare così? Per fare una prova originale? Beh…allora continua.

AVVISO IMPORTANTE: QUESTA GUIDA NON E’ PER UTENTI SENZA ALCUNA CONOSCENZA DI BASE, l’uso scorretto può portare al blocco del sito web, alla perdita di dati, alla necessità di un reset del server, alla non continuità del funzionamento del sito/server. Si consiglia l’uso in un ambiente di test, si consiglia di effettuare sempre un BACKUP completo (file-impostazioni-database) dell’ambiente di lavoro, si sconsiglia l’uso in un ambiente di lavoro senza alcun test preventivo.
L’uso è indicato per una valutazione ed uno studio di funzionamento del CMS Word Press.
Si declina ogni responsabilità per danni diretti o indiretti.

1-
entrare tramite SSH, vai alla directory pubblica del webserver (su plesk ad esempio /var/www/vhost/NOMEDOMINIO.EXT/httpdocs/ ) ed elimina i file non necessari se già c’è qualcosa di pre-caricato.
Se non sai come entrare con SSH allora non hai bisogno di questa guida.

2-
lanciare il semplice comando:
wget http://wordpress.org/latest.tar.gz

3-
verificare il file scaricato e il numero di versione:
ls

dovrebbe dar come risultato, tra i file e le directory presenti sul server, anche un file tipo:
latest.tar.gz

4-
decomprimere il file scaricato
tar xfvz latest.tar.gz
(sostituendo “latest.tar.gz” con l’eventuale nome di file differente)

5-
rimuovere il file scaricato
rm latest.tar.gz

6-
spostare il contenuto della nostra installazione di wordpress nella directory scelta (o nella root)
cp -rf ./wordpress/* ./

7-
rimuovere la directory temporanea
rm -rf wordpress/


SALTARE IL PUNTO 8 e 9 se già conoscete i dati del vostro database o se avete accesso tramite pannello web.

8-
Effettuare l’accesso amministrativo a MySQL
mysql -uadmin -p`cat /etc/psa/.psa.shadow`

La sintassi `cat /etc/psa/.psa.shadow` serve ad effettuare l’accessi senza digitare la password di amministrazione per MYSQL (maggiori informazioni su password e ottimizzazione di MySQL)


se invece avete la password potete effettuare l’accesso con la seguente sintassi
mysql -uadmin -p

create database dbname;
create user new-username@localhost identified by 'new-password';
grant usage on *.* to username@localhost identified by 'password';
grant all privileges on dbname.* to username@localhost;


Uscire dalla connessione con MySql con il comando:
CTRL+C

9-
Testare la connnessione, se funziona con i nuovi dati non dovrebbe dare alcun errore.
mysql -uuser -p dbname

Uscire dalla connessione con MySql con il comando:
CTRL+C

10-
Posizioniamo il cursore sulla directory superiore ( su plesk ad esempio /var/www/vhost/NOMEDOMINIO.EXT/ ) e assegnamo alle directory i proprietari corretti ((userftp) è il nostro utente FTP)
chown (userftp):psacln ./httpdocs/ -R
Ora proteggiamo il sistema con questi comandi che sistemeranno i permessi:
chmod 750 ./httpdocs/ -R
find httpdocs/ -type d -exec chmod 775 -R {} \;
find httpdocs/ -type f -exec chmod 644 -R {} \;

oppure per alcune configurazione è bene usare
chmod 750 ./httpdocs/ -R
find httpdocs/ -type d -exec chmod 775 -R {} \;
find httpdocs/ -type f -exec chmod 664 -R {} \;


Facciamo ripartire il server APACHE da SSH per convalidare le modifiche:
service httpd restart

Ora apriamo il nostro sito web con il browser preferito e confermiamo la nostra nuova installazione.

Se desideriamo impostare una lingua diversa da quella predefinita (inglese) dobbiamo cambiare il file da scaricare (al passaggio numero 2) oppure installare un plugin che effettuerà il cambio per noi, come ad esempio il plugin “WPTB Language”

11- Consigli
Tra i passaggi che faccio di solito c’è il cambio del file wp-config.php aggiungendo le seguenti righe:

define ('WPLANG', 'it_IT');
define('FS_METHOD', 'direct');

Se poi ci sono problemi con i file, con la scrittura automatica e con l’upload, consiglio di modificare il permesso dei file assegnando i permessi all’utente APACHE
chown apache:apache ./httpdocs/ -R
oppure, in maniera ancora migliore, cambiando il valore di UMASK nel file /etc/proftpd.conf

Umask 002

Verificate la migliore configurazione con il vostro server e poi commentate di seguito.

 

A questo punto non ti resta che installare il tuo TEMA preferito, i migliori che vi posso consigliare sono i temi Premium, che occorre pagare solo 1 volta e non richiedono abbonamenti, di Cyberchimps

 

I migliori temi responsive di WordPress sono qui.

 

Per quanto riguarda i PLUGIN, invece, ce ne sono alcuni indispensabili (per me) e qui sono riepilogati:

  • Akismet
  • XCloner di Liuta Ovidiu (indispensabile per il backup)
  • Google XML Sitemaps di Arne Brachhold
  • Facebook Comments di ALEX MOSS
  • SEO Ultimate di SEO Design Solutions

Per la gestione dei click sulle immagini potete utilizzare (a volte non sono necessari perché inclusi nel tema):

  • Lightbox 2 di Rupert Morris
  • wp-jquery-lightbox di Ulf Benjaminsson

Poi per la gestione delle statistiche c’è la possibilità di installare vari plugin, vi consiglio uno di questi due:

 

  • Ultimate Google Analytics di Wilfred van der Deijl
  • Google Analyticator di Video User Manuals Pty Ltd

 

 

Altre informazioni a queste pagine:
http://www.thesourcelounge.com/wordpress/installing-wordpress-using-ssh
http://faq.1and1.co.uk/web_space__access/ssh/8.html
http://www.binarymoon.co.uk/2010/07/easy-wordpress-updates-store-ftp-info-wpconfigphp/

http://jonathankressaty.com/2011/11/02/plesk-permissions-wordpress-ftp/

Mini FAQ:

I comandi sopra riportati non funzionano sul mio server?
Ovviamente tutti i campi dove c’è scritto USERNAME, PASSWORD o simili sono da sistemare secondo la propria situazione.
Se il problema non è questo allora tieni presente che la guida è stata scritta basandosi su un PLESK Parallels 8-9 di Aruba, quindi la situazione può essere leggermente differente in altri casi, può cambiare l’utente APACHE o potrebbe non essere necessario aggiungerlo agli utenti del gruppo locale.
Ricevi un messaggio di ERRORE tipo questo:
Forbidden
You don’t have permission to access … on this server.
quando visiti la pagina del tuo blog?

Le cause possono essere date da vari fattori:
– assegnamento errato dei permessi con CHMOD;
– assegnamento errato dell’utente o del gruppo con CHOWN;
– non è stato aggiunto l’utente corretto (apache o simile) al gruppo locale;
– non è stato riavviato il servizio APACHE dopo le modifiche dei permessi e proprietari;

Ad esempio, in alcune configurazioni particolari, potrebbe essere necessario aggiungere l’utente che gestisce le visite (server Apache) agli utenti del gruppo locale
usermod -a -G psacln apache

E quindi poi assegnare ai file e alle directory i proprietari corretti (APACHE è il nostro utente per il server WEB)
chown apache:psacln ./httpdocs/ -R

(questo qui sopra non serve aggiungerlo in quanto APACHE non viene usato direttamente su Plesk salvo configurazioni particolari, più avanti impostiamo WP-CONFIG con i nostri dati FTP così da bypassare eventuali problemi di upload)

Se durante l’installazione non si è creata la directory “wp-content/upgrade” è bene crearla a mano, evitando così piccoli problemi
mkdir /httpdocs/wp-content/upgrade

Se il sistema crea problemi con i file MEDIA o gli aggiornamenti possiamo andare a modificare il file wp-config.php aggiungendo alla fine i seguenti dati:
/** Sets up WordPress FTP info. */
define('FS_METHOD', 'ftpext');
define('FTP_BASE', '/httpdocs/');
define('FTP_USER', 'xxxx');
define('FTP_PASS', 'xxxx');
define('FTP_HOST', 'nomedominio.it');
define('FTP_SSL', false);


Facciamo ripartire il server APACHE da SSH per convalidare le modifiche:
service httpd restart

Se desideriamo aggiornare le nostre cartelle direttamente, senza passare per il protocollo FTP aggiungiamo questi dati al nostro wp-config.php (alternativi ai dati sopra riportati del metodo tramite FTP)
define('FS_METHOD', 'direct');

Si blocca un aggiornamento di un plugin o della nuova versione di WordPress?
Se hai messo i parametri tramite FTP e i permessi dei file sono corretti (proprietario = utente FTP) allora controlla se hai impostato PHP in modalità ‘safe_mode’, in alcuni casi può bloccare alcune funzioni e non dare errori a schermo.
Ultima spiaggia, non risolutiva, ma per escludere problemi di permessi, nel caso in cui il sito non apra file o salvi file, possiamo lanciare il comando che APRIRA’ le porte a tutto, anche a virus e attacchi web: potrà danneggiere tutto!
Passiamo alla directory di livello superiore, e cambiamo i permessi in maniera da far accedere al nostro .HTACCESS e a tutti i file:
cd ..
chmod 777 httpdocs -R

Altri problemi con WordPress? Controlla queste mini-guide
Problemi di directory e permessi

Problemi dopo un aggiornamento

 

_______________________
La guida è stata utile? Hai avuto problemi?
Lascia un commento qua sotto.

Come vedere la grandezza delle sotto cartelle (directory) in linux

Accedendo ad un terminale linux può capitare di trovarsi il disco pieno. Non avendo la possibilità di vedere tramite interfaccia grafica quale sia la directory che occupa tutto lo spazio (o gran parte di esso) occorre individuare manualmente quale è la causa del “FULL DISK”.

Non sono un espertone di linux ma navigando non ho trovato che informazioni su come vedere tutte le sottocartelle o fare un sunto generale della cartella in cui ci si trova, questo comando, invece, permette di analizzare al volo TUTTE le sottodirectory della posizione attuale.

du -h --max-dept=1 .

Lanciando questo comando dalla posizione /home/ (per esempio) ci dice quale utente sta utilizzando la maggior parte del disco e/o quali sono le dimensioni occupate da tutte le cartelle.

Se la situazione è molto complicata e ci sono molte directory, potete analizzare più rapidamente i risultati con il comando seguente, che mette in ordine decrescente i risultati.

du -ks * | sort -nr | cut -f2 | xargs -d '\n' du -sh

A quel punto occorre fare un po’ di spazio e, se trovate una directory piena, la soluzione più veloce è eliminarla da terminale (l’eliminazione provocherà la perdita COMPLETA di tutti i dati in essa contenuti)

rm -r ./emanuele -f

Cancellerà la directory emanuele e tutti i file e cartelle in essa contenuti SENZA richiedere alcuna conferma.

ATTENZIONE, usare con cautela.