grafagrafa.it · materiale e immateriale grafico

sito alieno di comunicazione visiva
ed umanismi contemporanei

torna su  

applicazioni – server web

MAMP – installazione e aggiornamento

Server web locale. Installazione e aggiornamento per neofiti


descrizione breve
MAMP: si tratta di un’applicazione gratuita che compone e gestisce un server web e le funzionalità fondamentali ad esso correlate: database, supporti alle principali librerie e linguaggi di sviluppo, e interfacce utente per la gestione delle componenti integrate. Lo schema base, classico per Mac e sistemi Unix in genere, è Apache+MySQL+PHP (+Perl, Python, ecc.), da cui l’acronimo del nome.

Alla stessa tipologia appartengono altri «installatori» similari, orientati a vari ambienti operativi. Lo stesso MAMP, tradizionalmente dedicato a Mac è ora disponibile anche per Windows. Qui la pagina principale del sito di riferimento: https://www.mamp.info/en/.

 


considerazioni d’utilità
Questo ambiente coordinato è di solito utilizzato in locale per lo sviluppo e il controllo di applicazioni, siti e pagine web dinamiche. A suo tempo avevamo provato diverse soluzioni alternative, MAMP si era dimostrata complessivamente quella di maggior soddisfazione: per sintesi, completezza ed affidabilità. Con un tempo ed una difficoltà di installazione minimali, rispetto alla composizione manuale delle singole funzionalità che vi troviamo già perfettamente integrate, si riesce ad avere a disposizione un ambiente di sviluppo locale ben aggiornato e sufficientemente adattabile a quello eventuale di produzione.

In contesti orientati esclusivamente a produzione web si utilizzano, con maggior vantaggio e flessibilità, configurazioni software/hardware dedicate, minutamente composte. Spesso però vi è l’esigenza, in particolare in sviluppo e controllo, di operare in contesti misti. Vale a dire di avere  a disposizione agilmente, come fosse una normale applicazione nel nostro computer personale, una piattaforma web locale più o meno sintetica.

Da precisare che OSX/macOS integra autonomamente un proprio server web. Tuttavia il suo utilizzo pratico comporta talune installazioni di contorno e, soprattutto, l’attivazione nel sistema della «condivisione web», opzione non sempre desiderabile. MAMP, viceversa, costituisce un ambiente già completo nonché maggiormente isolato, sia dalla rete internet sia dalle componenti del sistema stesso. Il processo di sviluppo, ma anche eventuali configurazioni, esperimenti, modifiche, test, ecc., avverranno discretamente all’interno di MAMP. Nondimeno, in caso di problemi, si potrà risolvere in breve, rimuovendo/reinstallando semplicemente, come per una qualsiasi applicazione esterna ed unica. Infine, conclusa la sessione di sviluppo, risulterà immediato arrestare/sospendere l’attività del server, con risparmio di risorse. 

 


questa piccola guida
Nel corso degli anni, la nostra positiva esperienza di questa soluzione non ha potuto che trovare conferma. Tuttavia non di rado ci è capitato di dover dare conforto ed assistenza a situazioni «disperate»,  frutto in genere di approssimazione o di pasticci originati ben più a monte, nonostante le possenti spalle di OSX/macOS.

In rete si possono leggere, fra altre, alcune buone pagine che già da tempo illustrano con chiarezza la procedura di installazione di MAMP. Abbiamo ritenuto non inutile aggiungere anche la nostra, dedicata specialmente agli sviluppatori neofiti di lingua italiana, in cui dettagliamo ragioni, opportunità ed alcune fattispecie classiche.

Anche a noi è successo di avvicinarci ai server web per «la prima volta»!

 


installazione standard (mamp, versione gratuita) su mac osx
1. prerequisiti: l’attuale versione 5.1 richiede OSX 10.10 o successivi, e processore Intel 64 bit. Restano comunque disponibili alcune versioni precedenti, per specifiche necessità.
2. procedura di installazione: con doppio click sul file di installazione si avvia una procedura classica di installazione: verifica di compatibilità, accettazione licenza, selezione delle opzioni...
3. opzioni di installazione–nome/collocazione: non modificare l’installazione predefinita. L’installazione standard inserisce tutti i componenti in una cartella «MAMP» collocata all’interno della cartella «Applicazioni» (Applicazioni/MAMP). L’esperienza suggerisce che non sia conveniente forzare variazioni di collocazione e nome rispetto a quanto predefinito, per ragioni generali di compatibilità con eventuali versioni precedenti/future di MAMP e con le funzionalità articolate internamente.
4. opzioni di installazione–versione: installare solo MAMP (attraverso installazione «ad hoc»). L’installazione standard comprende MAMP (gratuito) + MAMP Pro (versione commerciale in prova). La versione «Pro» incorpora alcune funzionalità aggiuntive quali, ad esempio,  la gestione simultanea di più domini, il server di posta, e una nutrita quantità di altre ottime facilitazioni di configurazione e gestione. Nell’uso comune tuttavia, come server locale per il controllo/sviluppo di semplici pagine/applicazioni web, la versione gratuita risulta ampiamente sufficiente. Dunque, salvo diversa maggiore esigenza che potrete sempre valutare in seguito, è consigliabile cliccare sul pulsante «installazione ad hoc» e lasciare la spunta solo sulla casella riferita a MAMP (base, gratuito).
5. conclusione dell’installazione: procedendo verrà richiesta la password utente, quindi il server web e le funzionalità integrate saranno installate e subito funzionanti senza bisogno di riavvio sistema. Nella configurazione predefinita, digitando un percorso con base «localhost:8888/» si accederà alle pagine presenti nel web locale (vedi più sotto: «configurazione-radice dei documenti web» ).

 


configurazione e gestione del server web
1. interfaccia di gestione: collocarne opportuno collegamento rapido. Attraverso l’applicazione «MAMP.app» (Applicazioni/MAMP/MAMP.app) si accede all’interfaccia utente principale, per la gestione del server web e delle funzionalità ad esso connesse. In schermata d’apertura si vede visualizzato lo stato di attività di server, database e delle eventuali risorse Cloud. Quest’ultima funzionalità (di attivazione opzionale) è stata appunto implementata dalla versione 4.4.1, unitamente all’integrazione di alcuni comandi in «Touch Bar» per i dispositivi che la possiedono. La release 4.4.1 ha anche introdotto una modifica nell’accessibilità del pannello «Preferenze», il quale cede alla gestione «Cloud» il collegamento rapido, tradizionalmente condiviso nella schermata d’apertura con il link «start page» e di «avvio/arresto» manuale del server. Il fondamentale pannello di configurazione è ora richiamabile attraverso la classica barra dei menù di OSX/macOS: MAMP > Preferenze...  Si articola in sei sezioni, dedicate in ordine: alle impostazioni estese di avvio/arresto, alla specificazione delle porte server e database, alla gestione di php, alla configurazione del server web propriamente detto (scelta del motore server e della radice dei documenti web da elaborare), alla visualizzazione della versione MySQL attiva, alla configurazione Cloud. Alcune modifiche eseguite attraverso questi pannelli potrebbero determinare, a seguire, una richiesta di conferma con inserimento di password utente. La configurazione standard non richiede di norma particolari modifiche.
2. configurazione–avvio/arresto: utile coordinare stato attivo di server e interfaccia. Nell’uso risulta opportuno utilizzare l’applicazione di interfaccia (MAMP.app) per dare avvio/conclusione automatica alle sessioni su web locale. In altre parole, per avere stati attivi contemporanei del server e dell’interfaccia di gestione. Ciò, nella routine, limita il rischio di dimenticare attivo il server anche quando non lo si sta più utilizzando, con inutile impegno di risorse. La presenza dell’interfaccia indicherà l’eventuale stato operativo del server. Resteranno sempre possibili sospensioni/riavvii ad hoc. Nelle preferenze di avvio/chiusura, impostare dunque avvio/chiusura del server all’apertura/chiusura dell’interfaccia MAMP. Utile associarvi l’apertura automatica della Web Start Page, la quale dà verifica della funzionalità del server e reca rapidi accessi a strumenti di gestione del database, guide, esemplificazioni, schemi informativi, link locale preferito.
3. configurazione–radice dei documenti web: è possibile modificare la radice del server. Di default la collocazione dei siti, o comunque delle pagine web da elaborare, è prevista nella cartella «htdocs» (Applicazioni/MAMP/htdocs), che costituisce la cosiddetta «radice» del server (o «root»); vale a dire la posizione apice, nella ramificazione delle cartelle, dalla quale il server procederà a cercare/elaborare i documenti web. Corrisponde più o meno alla cartella che nei server di produzione viene comunemente denominata «public_html»: il punto del server da cui i documenti sono direttamente accessibili/interrogabili via web. Talora la denominazione predefinita («htdocs») può rivelarsi in contrasto con l’esigenza pratica di uniformare la «mappa del sito» e l’onomastica tra server locale (di sviluppo) e server ordinariamente attivo sul web (di produzione). Ciò si concretizza, in particolare, se si opera su più siti diversi e/o con configurazioni, in produzione, distinte/indipendenti/non modificabili. MAMP Pro (la versione a pagamento) ovvia con facilità al problema attraverso virtual host multipli, ma anche la versione free consente strategie di risoluzione sufficientemente pratiche.

Attraverso il pannello «Web Server», della gestione preferenze, è infatti possibile modificare la «radice dei documenti web», specificando la posizione desiderata. Con la buona accortezza di rispettare una omogenea gerarchia di collocazione (MAMP/ radicediversa) è possibile generare nuove molteplici cartelle radice per sostituire alternativamente quella predifinita («htdocs»). Si potranno scegliere nomi secondo necessità, e al loro interno articolarvi le gerarchie/pagine d’occorrenza.

In MAMP free, installazione standard, non è previsto di poter operare simultaneamente con più radici attive. Ma appunto, in ragione di distinte necessità, con rapida configurazione delle preferenze «radice» si potrà di volta in volta far puntare il web server a cartelle specifiche. Sono invero possibili ulteriori interventi di configurazione host, l’illustrazione dei quali esula però l’ambito della presente guida. 

 


modifica della password di mysql
Anche se con MAMP si opera in locale, dunque teoricamente in condizioni di piena sicurezza, per varie ragioni potrebbe essere utile personalizzare le credenziali di accesso al database MySQL, modificandole rispetto alla valorizzazione assegnata di default nel corso della prima installazione standard. Tale valore predefinito, identico per username e password, corrisponde a «root».


Sarà più che sufficiente personalizzare la sola password, la cui variazione richiede di eseguire con precisione la seguente procedura:

- una prima parte, agendo globalmente da terminale;
- poi, operando sostituzioni puntuali nel codice di alcuni file specifici.


1. avviare MAMP.

a terminale...
2. avviare «Terminale» (Applicazioni/Utility/Terminale.app).
3. alla riga di comando digitare il comando nella forma seguente:

/Applications/MAMP/Library/bin/mysqladmin -u root -p password nuovapassword.


Dove password si scrive tal quale (è un comando) e nuovapassword è invece la nuova password, da scegliersi con valore opportunamente arbitrario. Vale a dire, se la nuova password scelta fosse TroMBettA, in «Terminale» dovrei esattamente scrivere:

/Applications/MAMP/Library/bin/mysqladmin -u root -p password TroMBettA.


4. seguirà una richiesta di conferma del tipo: «Enter Password».
Richiesta cui si assolverà digitando la password che si sta sostituendo:
- nel caso standard sarà ovviamente root (quindi si digiterà: root)
- qualora invece si stesse modificando una password già precedentemente personalizzata, si digiterà quest’ultimo precedente valore che si vuole appunto ulteriormente sostituire.
Si noti che questa digitazione della vecchia password, a conferma, non produrrà alcun effetto a schermo, nemmeno di cursore!!!

sostituzioni manuali...
5. operare sostituzioni puntuali nel codice dei file sotto elencati:
aprire i file con programmi tipo TextEdit, TextWrangler, o similari. Sostituire, nel codice, la password precedente (root) con quella modificata. La si troverà nella forma -proot cui si dovrà sostituire -pnuovapassword; (continuando con l’esempio precedente -pTroMBettA).  Viceversa si riscontrerà un errore del tipo: «/Applications/MAMP/Library/bin/mysqlcheck: Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect».

- i file su cui è necessario operare si trovano sotto MAMP:

1 /Applicazioni/MAMP/bin/checkMysql.sh

2 /Applicazioni/MAMP/bin/quickCheckMysqlUpgrade.sh

3 /Applicazioni/MAMP/bin/repairMysql.sh

4 /Applicazioni/MAMP/bin/stopMysql.sh

5 /Applicazioni/MAMP/bin/upgradeMysql.sh

6 /Applicazioni/MAMP/bin/phpMyAdmin/config.inc.php

7 /Applicazioni/MAMP/bin/phpMyAdmin5/config.inc.php

  
- in MAMP 4.4.1 le restanti configurazioni avvengono di conseguenza per cascata dinamica; in alcune versioni datate è invece necessario effettuare manualmente le modifiche anche nei file:

7 /Applicazioni/MAMP/bin/phpMyAdmin-X.X.X/config.inc.php

8 /Applicazioni/MAMP/bin/mamp/index.php

9 /Applicazioni/MAMP/bin/mamp/Italian/index.php

(negli ultimi due file si interviene esclusivamente «a memorandum», sostituendo, nelle indicazioni esplicative della Web Start Page, il valore della vecchia password con quello nuovo. Similmente si potrà fare per le altre lingue.)

 




aggiornamento standard (di una versione installata)
L’aggiornamento diretto di MAMP procede rinominando la cartella dell’installazione corrente, nella forma «MAMP_yyyy-mm-dd_hh-mm-ss», e successivamente rigenerando una nuova cartella «MAMP», in cui colloca l’applicazione aggiornata. È comunque sempre consigliabile effettuare manualmente un backup preventivo provvisorio.

nota aggiornamento password da terminale:
Qualora la password di connessione MySQL fosse stata precedentemente modificata rispetto al valore di default, tale modifica non verrà sovrascritta e non sarà dunque necessario ripetere la procedura «a terminale».

nota aggiornamento personalizzazioni standard di MySQL:
Le personalizzazioni apportate agendo manualmente nel codice dei singoli file di configurazione dovranno di necessità essere eseguite nuovamente, nelle corrispondenti posizioni (vedi procedura sopra specificata). Spesso i file avranno costituzione invariata: previa opportuna verifica, sarà nel caso sufficiente un copia/incolla da quelli del backup dell’installazione precedente.
 
nota aggiornamento personalizzazioni MySQL avanzate e PHP:
Quanto detto per l’aggiornamento della personalizzazione standard di MySQL vale anche per le modifiche più specifiche eventualmente apportate alla configurazione database (my.cnf) e/o alle versioni PHP (php.ini) – si veda articolo dedicato. Anch’essi andranno riportati manualmente.

nota aggiornamento versione MySQL:
Può accadere che l’aggiornamento di MAMP integri anche una più recente versione del database. In questo caso, al primo avvio del server, compare un messaggio ad invitare l’adeguamento dei database utente creati in precedenza. L’operazione è lasciata ad intervento esplicito, si tratterà comunque di accettare i semplici passaggi proposti, al termine dei quali segue resoconto. È in ogni caso consigliabile eseguire la «rigenerazione» dei database solo dopo aver completato le operazioni di aggiornamento dell’applicazione, compresi gli interventi di personalizzazione puntuale, viceversa la procedura potrebbe non essere possibile o non andare a buon fine.

nota aggiornamento radici server:
L’aggiornamento acquisirà integralmente la composizione dei database preesistenti collocati nella radice predefinita «htdocs»,  sarà viceversa necessario trasferire manualmente, dal backup dell’installazione precedente, eventuali radici server aggiuntive.




reinstallazione o aggiornamento da zero
attenzione!!!
evitare di installare in posizione diversa da /Applicazioni/MAMP/.
evitare di forzare il mantenimento in funzione di più versioni.
installando la versione da zero, quanto si trova in /Application/MAMP/ verrà sovrascritto con perdita di tutto il preesistente.

procedura...
1. rinominare e duplicare la versione precedentemente installata: es. MAMP_old + MAMP_old_copia. Ciò preserverà la possibilità di trasferire successivamente, nella nuova installazione, eventuali materiali preesistenti che si intendono conservare (siti, database, configurazioni). Il mantenimento intonso di una seconda copia «old» può rivelarsi utile come riferimento. A procedure completate (e testate), entrambe le versioni «old» si potranno eliminare.
2. disinstallare completamente MAMP con apposita applicazione: ciò elimina alcuni elementi obsoleti appuntati esternamente a MAMP, nelle librerie di sistema. (Nella disinstallazione fare attenzione a preservare le copie «old» e gli installer).
3. installare la versione scelta.
4. eseguire eventuali configurazioni specifiche (vedi precedenti): es. configurazioni di cambio di password, impostazioni di avvio/arresto applicazione, scelta versione php, cache, ecc.
5. arrestare il server web.
6. trasferire dalla versione «old» i materiali da conservare:

esempio radici web:

/Applicazioni/MAMP/htdocs/

/Applicazioni/MAMP/radiceaggiuntiva1/ cartelle e file...

/Applicazioni/MAMP/radiceaggiuntiva2/ cartelle e file...

… … ...

 

esempioMySQL:

/Applicazioni/MAMP/db/mysql/mysql

/Applicazioni/MAMP/db/mysql/database1

/Applicazioni/MAMP/db/mysql/database2

Qui comprendere anche i file tipo:

«ib_logfile» e/o «ibdata» precedenti, sovrascrivendo i nuovi.

… … …

 

esempio SQLite:

Applicazioni/MAMP/db/sqlite/

… … ...