Visualizzazione post con etichetta wamp. Mostra tutti i post
Visualizzazione post con etichetta wamp. Mostra tutti i post

venerdì 21 febbraio 2020

Rifiuto persistente del computer di destinazione (Mysql)

L'altro giorno, dopo aver reinstallato da capo wamp su un nuovo computer sono incappato in un problema relativo a mysql che non mi era mai capitato prima.
Praticamente, nonostante la mia app php fosse rimasta invariata e nonostante avessi installato e configurato correttamente il database, il sito a cui cercavo di accedere mi dava il seguente errore:
Warning: mysqli::__construct(): (HY000/2002): Impossibile stabilire la connessione. Rifiuto persistente del computer di destinazione.

Dopo aver cercato un po' online, ho trovato la soluzione a questo errore di connessione a mysql, ed ora lo condividerò in questo breve post per i posteri.
Rifiuto persistente del computer di destinazione (Mysql)


Come risolvere l'errore mysql su wamp "Rifiuto persistente del computer di destinazione"


Per chi non lo sapesse, wamp sta per windows apache mysql e php, ed il problema riscontrato che generava questo fatidico messaggio di impossibilità di connessione al database, era legato proprio ad uno di questi strumenti.

In prima battuta, e lo scrivo per i posteri perchè potrebbe essere un metodo di risoluzione per l'errore mysql "Rifiuto persistente del computer di destinazione", ho provato a seguire la seguente procedura:
  1. Stoppare mysql (banalmente, tasto sinistro del mouse sull'icona di wamp, poi stop all services)
  2. Andare nella cartella C:\wamp64\bin\mysql\mysql8.0.18\data (dove il percorso ovviamente cambia in base a dove avete installato wamp ed alla versione di mysql) e cancellare i file (prima farne un backup di sicurezza): auto.cnf, ib_logfile0 e ib_logfile1.
  3. Riavviare wamp (tasto sinistro restart all services)

Questa soluzione risolve la problematica tipica legata a questo genere d'errore.

Nel mio caso però, il problema era un altro, dato che con phpmyadmin la connessione al db funzionava mentre con il mio script php no.
L'indizio principale lo dava la latenza prima dell'errore, che in questo caso può stare a significare che la porta usata da mysql era bloccata dal firewall (nel mio caso windows firewall).

Quindi, per risolvere il terribile errore "Rifiuto persistente del computer di destinazione" ci sono due strade.
La prima consiste nell'aprire la porta usata da mysql (3306 o 3308) andando ad agire sulle regole del firewall.
La seconda invece è usare una porta aperta, ovvero nel mio caso, cambiare la porta usata da mysql da 3306 a 3308.

Come faccio a sapere che la porta 3308 va e la 3306 no? Semplice, come dicevo poco sopra, phpmyadmin funzionava, mentre il mio script php no, ed andando a vedere le impostazioni del primo strumento ho scoperto che questo usava proprio la 3308, mentre il php usava di default la 3306.

Ora quindi, o si risolve agendo direttamente sui file di configurazione di mysql e del php.ini di wamp, oppure più banalmente tramite script php, con una sintassi del genere:

$mysqli=new mysqli($server.":".$porta,$user,$pwd,$db);

Dove, rispetto al solito, si va ad aggiungere la porta (in questo caso la 3308) dopo l'indirizzo del server, con i canonici due punti davanti.
Tutto qui, fatta questa modifica sono riuscito di nuovo a far funzionare la connessione a mysql dal mio script php sotto windows wamp, e quindi niente più rifiuto persistente.

Qui di seguito un video tutorial di quanto appena spiegato:
https://youtu.be/x4fXhSVxhSU

giovedì 1 agosto 2019

Come disabilitare mysql su wamp

Mysql è il database per definizione usato da wampserver.
Wamp infatti è l'acronimo di windows, apache, mysql e php.
Ecco perchè, fare un tutorial su wamp in cui spiegare come togliere mysql da wamp non ha molto senso.
Ma come si dice, il mondo è bello perchè è vario, e potrebbe anche esserci qualcuno che preferisce utilizzare mariadb.
Quindi, vediamo subito come rimuovere il database mysql dal pannello di controllo di wamp server.


Come disabilitare mysql su wamp


Per disattivare mysql da wamp basta seguire i seguenti passaggi:
  1. Cliccare con il tasto destro sull'icona di wamp
  2. Selezionare wamp settings
  3. Spuntare la voce allow mysql

Come disabilitare mysql su wamp

Tutto qui, come al solito si tratta di pochi e semplici clic.
Wamp si riavvierà da solo, e non appena la sua icona sarà tornata verde, sarete di nuovo online.
Ovviamente se si cambia database occorre prima aver migrato i dati, altrimenti potreste ritrovarvi con dei siti online non aggiornati.

martedì 30 luglio 2019

Come disabilitare Adminer su Wamp

Adminer è uno strumento web che serve per gestire i database prevalentemente di tipo mysql, ma anche PostgreSQL, MS SQL, SQLite and Oracle.
Sulla falsa riga di phpmyadmin quindi, adminer è uno strumento utile per creare database, tabelle, viste, fare query e controllare i dati che poi finiscono sui nostri siti web.

Con le nuove versioni di wamp, adminer è stato incluso tra gli strumenti preinstallati nel sistema.
Se però voi utilizzate sempre e solo phpmyadmin, è bene sapere come fare per togliere adminer da wampserver.

Vediamo subito come fare.


Come disabilitare Adminer su Wamp


Per disattivere adminer da wamp basta in realtà un semplice click, che corrisponderà più o meno ad agire su scomodi file di testo a mano.
Ecco come fare:

  1. Cliccare con il tasto destro del mouse sull'icona di Wamp
  2. Selezionare la voce di menù wamp settings
  3. Deselezionare la voce Show adminer in menù

Come disabilitare Adminer su Wamp

Ecco fatto.
Wamp server si riavvierà da solo, e quando l'icona sarà tornata verde, cliccando con il tasto sinistro del mouse non ci sarà più la voce adminer.

Ovviamente, o forse non così ovvio, questa procedura non disinstalla adminer dal vostro server, ma si limita a nascondere la voce dal menù di wamp in modo tale da ridurre la possibilità che qualcuno faccia qualche click involontario aprendo adminer... non che ci sia nulla di male in effetti, volendo fare i pignoli :p

martedì 23 luglio 2019

Come disattivare MariaDB su Wamp

Da una certa versione in avanti, wampserver ha iniziato a supportare anche il database MariaDB.
Questa è indubbiamente una cosa positiva, infatti ora è possibile scegliere qual è il database che si preferisce usare su wamp da abbinare ai propri siti internet sviluppati in php.
Se però utilizzate sempre e comunque mysql, che è la scelta più standard per l'architettura wamp, è bene sapere come disabilitare MariaDB, in modo tale da far sparire la sua icona dall'interfaccia di gestione di wamp.

Un altro motivo per disattivare MariaDB da wamp è che comunque, al di là che sia disponibile, non è possibile utilizzare sia mysql che mariadb in contemporanea, quindi uno dei due è bene che sia disabilitato, se non altro per ridurre la possibilità di un click involontario.


Come disattivare MariaDB su Wamp


Togliere la possibilità di vedere e lanciare mariadb da wampserver è molto semplice, basta seguire i seguenti passaggi:
  1. Cliccare con il tasto destro sull'icona di wamp
  2. Cliccare su Wamp settings
  3. Infine, cliccare sulla voce con la spunta verde "Allow MariaDB" per disattivare questo db

Come disattivare MariaDB su Wamp

Wamp a questo punto si riavvierà, e se l'icona tornerà verde, allora vorrà dire che sarete di nuovo online senza mariadb.

Cliccando quindi su wamp con il tasto destro, la voce di menù riferita a Maria DB sarà sparita ed avrete solo il vostro amato e fedele mysql.
Direi che questa procedura è a dir poco semplice, ma sempre meglio una spiegazione in più che una in meno :)

martedì 16 luglio 2019

Come aggiornare Wamp su Windows

Come ormai tutti ben sappiamo, Wamp è l'acronimo utilizzato per raggruppare quattro termini, ovvero: windows, apache, mysql e php.
Chi ha un server windows ed utilizza per i suoi siti il php accoppiato al mysql, quasi sicuramente per comodità userà wamp, in modo tale da installare tutto in un colpo solo.

Questa modalità ovviamente ha pro e contro, dato che comunque poi occorre tenere aggiornati tutti i vari servizi, se non altro per motivi di sicurezza e di performance.
Quindi molte persone dopo aver installato wamp si trovano ad aggiornare singolarmente il php, apache ed il mysql.

Quello che però forse non tutti sanno è che anche lo stesso motore wamp è bene che sia aggiornato di tanto in tanto.
Per aggiornare wamp si può agire sostanzialmente in due modi, ed ora vi mostrerò quali sono.

Come aggiornare Wamp su Windows

Come aggiornare Wamp su Windows


Per avere un wamp sempre aggiornato e quindi performante e sicuro da possibili attacchi, si può agire in due modi: il primo è quello di andare sul sito ufficiale è scaricare l'ultima versione di wamp.
Vi basterà infatti collegarvi a questo indirizzo:
http://www.wampserver.com/en/
e fare il download dell'ultima versione di wamp che trovate.

Questa modalità è però un metodo radicale, perchè o sovrascrivete la vecchia istanza di wamp (o wamp64), o lo installate su un'altra cartella.
Ad ogni modo dovrete prima fare il backup di tutti i siti, i dati del database e tutti i file di configurazione dei vari servizi, perchè reinstallando wamp da zero di fatto installerete anche le ultime versioni compatibili di apache, mysql, php.

Se invece volete fare un vero e proprio aggiornamento, senza toccare apache, mysql e php, ma andando ad aggiornare solo il motore wamp, allora vi basterà andare a questo indirizzo:
http://wampserver.aviatechno.net/
E cercare la voce Wampserver update, che al momento di questa guida corrisponde al wamp 3.1.9.
Vi basterà dunque scaricare e lanciare l'eseguibile per aggiornare wamp, che si chiuderà un attimo e dovrà esser rilanciato a mano.

Ovviamente, se avete una versione molto vecchia di wamp o di mysql, apache o php, forse è il caso di compiere prima questa operazione su di una macchina di test... non si sa mai!

lunedì 15 luglio 2019

Leggi il post

Come aggiornare Mysql su Wamp

Se avete installato wamp da un po' di tempo, probabilmente alcuni prodotti risulteranno un po' datati e potrebbe essere necessario un aggiornamento.
Tra le operazioni più delicate da fare in questo caso, c'è proprio l'aggiornamento di mysql, ovvero del database che contiene tutte le tabelle con i dati di tutti i siti web presenti sulla macchina wamp.

Questa delicata operazione però, fortunatamente è abbastanza semplice da fare, a patto che non si esageri troppo nel passaggio da una versione ad un'altra.
Nella mia ultima esperienza ad esempio, sono passato da mysql versione 5.7.14 alla versione 8.0.16, un bel salto in effetti, ma per fortuna fino alla 7.x la cosa risulta ancora fattibile.
Quando si compiono queste operazioni però, è tassativo poi controllare tutto il codice php, le viste e le varie query sql, in modo tale da non trovarsi davanti a qualche funzione o sintassi deprecata.

Vediamo dunque come compiere questo aggiornamento in maniera safe.


Come aggiornare Mysql su Wamp


Per poter aggiornare mysql su wamp bisogna seguire i seguenti passaggi:
  1. Scaricare l'ultima versione di mysql dal sito ufficiale (https://www.mysql.com/it/), in formato zip
  2. Estrarre lo zip appena scaricato nella cartella c:/wamp/bin/mysql/mysqlX.x.x (o wamp64, insomma il percorso dove avete installato wamp)
  3. Rinominare la cartella dell'ultima versione in modo tale che rispetti la sintassi utilizzata nella versione precedente
  4. Stoppare wamp in modo tale che nessuno possa scrivere sul database
  5. Entrare nel prompt di dos ed andando nella cartella bin dove c'è mysql digitare il comando: mysqld.exe --initialize-insecure
    Questo genererà la giusta cartella data nel nuovo mysql
  6. Copiare le cartelle con i nomi dei database che si vuole migrare presenti nella cartella data dell'ultima versione attiva di mysql, nella cartella del nuovo mysql
  7. Copiare il file my.ini presente nell'ultima versione attiva di mysql dentro la cartella del nuovo
  8. Cercare dentro il file my.ini tutte le occorrenze alla vecchia versione e rinominarle con il percorso della nuova, come ad esempio: c:/wamp64/bin/mysql/mysql8.0.16/data
  9. Copiare il file wampserver.conf presente nell'ultima versione attiva di mysql dentro la cartella del nuovo
  10. Verificare che i percorsi che sono presenti dentro il file wampserver.conf siano corretti per il nuovo mysql
  11. Riavviate wamp 
  12. Cliccare con il tasto sinistro sull'icona di wamp, poi cliccare su mysql e poi su version, e selezionare l'ultima versione appena installata

E' tutto.
Se wamp non dovesse ripartire al primo colpo, provate un paio di riavvii, e se finalmente diventerà verde la sua icona, allora avrete aggiornato il mysql correttamente e non vi resterà altro che iniziare a testare tutte le vostre applicazioni.

Nel caso anche a voi venga fuori l'errore "Upgrade after a crash is not supported. This redo log was created with MySQL 5.7.x", che di fatto vi impedirà di far partire il nuovo mysql, dovrete svuotare i file di log presenti nella cartella data di mysql (ib_logfile0 e ib_logfile1).
Potete provare a cancellare questi file a mano, che di fatto vi siete portati dietro dalla precedente versione, e vedere se al rilancio di mysql tutto parte senza alcun problema.

venerdì 6 luglio 2018

Nascondere versione PHP wamp

La suddetta guida su come nascondere le informazioni del php è valida sia per wamp, che per qualsiasi altro tipo di installazione e/o server, dato che si andrà ad agire direttamente sui file di configurazione del php.

Quello che ci interessa poter fare è non fare apparire la versione del php in uso sul server, in modo tale da rendere meno vulnerabili i nostri siti internet da attacchi malevoli.
La logica dietro alla necessità di questa azione è molto semplice: meno cose il nemico sa, e più per lui sarà difficile trovare il modo di attaccarti.

Nascondere versione PHP wamp

Vediamo dunque come fare per aumentare la sicurezza/privacy del nostro sito php.


Come nascondere le informazioni del PHP con wamp (e non)


Per far sparire dal server la versione in uso del php, basta agire sul famoso file di configurazione php.ini.

Se utilizzi wamp, trovi questo file cliccando con il tasto sinistro del mouse sull'icona del programma, poi cliccando su php ed infine su php.ini.

Adesso dovrai cercare e sostituire

expose_php = On

con

expose_php = Off

Ed ovviamente riavviare tutti i servizi di wamp.

Nel file di configurazione del php troverai la seguente spiegazione:
"Decides whether PHP may expose the fact that it is installed on the server (e.g. by adding its signature to the Web server header).  It is no security threat in any way, but it makes it possible to determine whether you use PHP on your server or not."

Questo in pratica vuole anche dire che volendo per far sparire questa informazione, basta agire anche solo sul file di configurazione di apache, come spiegato in questo post.