giovedì 12 aprile 2012

EasyPHP e Workbench: Apache e MySQL come servizi - Creare l'istanza DBA in Workbench

Workbench non crea l'istanza di
Server Administration se
MySQL non è un servizio
Per poter utilizzare MySQL Workbench come DBA (DB Administration) occorre che il server MySQL sia avviato come servizio, altrimenti Workbench non potrà creare una istanza dedicata a tale scopo. EasyPHP di default avvia il server MySQL come applicativo sul PC e non come servizio.

Anche Apache è avviato come semplice applicativo e ciò provoca alcuni problemi.
Abilitazione estensione PHP

Ad esempio, tentando di abilitare in PHP l'estensione php_ldap.ddl (estensione per consentire l'interrogazione di server LDAP), rimuovendo il punto e virgola (simbolo di commento) dal file php.in alla relativa riga, al momento del salvataggio e del riavvio automatico del server Apache saltano fuori una sequela di errori. Avviando Apache come servizio questi errori non si verificano.

Errore al riavvio di Apache domo l'abilitazione
della estensione nel php.ini
Esecuzione una tantum
come Amministratore
Esiste la possibilità di richiedere a EasyPHP di rendere servizi i server Apache e MySQL. Per farlo però è necessario che EasyPHP sia eseguito come Amministratore. Vediamo quindi come procedere. Se vuoi fare una esecuzione una tantum come amministratore, magari solo per attivare l'esecuzione dei server come servizi, procedi come segue:

  1. Menu Start|Tutti i programmi|EasyPHP 5.3.9
  2. Clic con il tasto destro sul'icona del programma EasyPHP 5.3.9
  3. Dal menu contestuale clic su Esegui come amministratore
Se invece desideri rendere permanente la modifica ed eseguire sempre EasyPHP come amministratore, fai:
  1. Menu Start|Tutti i programmi|EasyPHP 5.3.9
  2. Clic con il tasto destro sull'icona del programma EasyPHP 5.3.9
  3. Dal menu contestuale clic su Proprietà
    La finestra Proprietà della
    scorciatoia ad EasyPHP

  4. Nella scheda Collegamento fai cli sul pulsante Apri percorso file
  5. Clic con il tasto destro sul file EasyPHP-5.3.0.exe
  6. Dal menu contestuale clic su Proprietà
  7. Nella scheda Compatibilità inserire la spunta nella check box Esegui questo programma come amministratore
  8. Clic sul pulsante Ok, quindi chiudere la finestra contenente l'exe e la finestra di proprietà della scorciatoia al programma

Chiudi EasyPHP se ancora aperto ed riavviarlo (Start|Tutti i programmi|EasyPHP 5.3.9|EasyPHP 5.3.9). Se è attivo il controllo utente apparirà la richiesta per autorizzare EasyPHP ad essere eseguito come amministratore (ovviamente clicchiamo su Si). 

Modificare la configurazione di EasyPHP
Rendiamo ora i server Apache e MySQL dei servizi:
  1. Nella finestra di EasyPHP, scegliamo e|Configuration|EasyPHP
  2. Aggiungi una spunta nella check box Start Apache e MySQL as Services
  3. Clic su Ok
La configurazione di EasyPHP
La modifica è immediata e i server sono riavviati come servizi.

Ora che MySQL è avviato come servizio possiamo configurare una istanza server per il DBA in Workbench. Procedi quindi come indicato:
  1. Avvia Workbench (vedi il post dedicato alla sua installazione)
  2. Se sono presenti delle configurazioni nelle sezioni Server Administration rimuovile:
    Rimozione Istanza Server
    1. Clic con il tasto destro sulla istanza da rimuovere
    2. Dal menu contestuale scegli Delete Server Istance...
    3. Clic sul pulsante Delete
    4. Ripetere i tre passi precedenti per eliminare eventuali Istanza SQL Development non create da noi. Ne sarà creata una al termine della procedura automaticamente
  3. Clic sulla voce New Server Istance sottostante l'area Server Administration (vedi immagine precedente)
  4. Parte il wizard in cui, nella prima schermata, possiamo scegliere se accedere ad un Server MySQL installato sulla macchina in uso (localhost) o su altra macchina disponibile in rete (Remote Host). Nel nostro caso scegliamo localhost e clic su Next
    Specify Host Machine
  5. Nella schermata relativa a Database Connection lasciamo tutto com'è. Se abbiamo cambiato lo username dell'amministratore correggiamo il relativo valore. Volendo, se abbiamo impostato una password per l'utente amministratore del DB, possiamo cliccare su Store in Vault e memorizzare la password nel programma. Facciamo quindi clic su Next.
    Database Connection
  6. Viene eseguita una prova di connessione con esito positivo. Clic su Next
    Test DB Connection
  7. Adesso il Wizard individua il servizio di MySQL (appare in un menu a tendina perché possono esistere più servizi MySQL in esecuzione con nomi diversi) ed avendo noi solo il server MySQL di EasyPHP non possiamo che selezionare l'unico disponibile. Per quel che riguarda il file di configurazione my.ini che deve utilizzare Workbench, deve essere modificato come segue:
    1. Fai clic sul pulsante ... 
    2. Vai nella cartella di installazione di EasyPHP ed apri la cartella conf_files
    3. Clic sul file my.ini quindi clic su Apri 
      Selezione del file my.ini presente
      nella cartella conf_files 
      Nota: In questo modo, quando modifichiamo il file di configurazione my.ini tramite una istanza DBA di Workbench, EasyPHP rileva le modifiche e riavvia il server per noi. Quando MySQL è riavviato, le istanze aperte in Workbench potrebbero non funzionare correttamente. Basta chiudere la scheda dell'istanza e riaprirla (vedi più avanti come chiudere e aprire un'istanza). 
  8. Clic su Next
    Windows Management correttamente configurato
  9. E' eseguito un altro test, fai clic su Next
  10. E' chiesto se desideri rivedere i parametri impostati. Fai cli su Continue
  11. E' richiesto di assegnare un nome all'istanza. Lascia pure quello proposto e fai clic su Finish
La nuova istanza appare nell'elenco dei Server Administration e contestualmente viene creata anche una istanza per SQL Development. 
Finestra di Workbench con due istanze aperte
Per avviare una istanza fare doppio clic su di essa. Sarà aperta sotto forma di scheda. Chiudendo la scheda tramite la x posta sul'etichetta della scheda stessa, viene chiusa anche l'istanza.