Poche settimane fa, The Rocket Yard ha pubblicato un articolo che descriveva in dettaglio i molti servizi che saranno rimossi da macOS Server nel prossimo futuro. Oggi, parlerò di come riportare uno di questi servizi – l’hosting web – usando sia il server web Apache che è integrato in macOS che la suite MAMP completa.
Apache Web Server
La maggior parte degli utenti Mac non se ne rendono conto, ma macOS è dotato di un proprio server web integrato. Apache è un server web open-source che è disponibile dal 1995, e nel 2016, era il motore dietro il 46% di tutti i siti web e il 43% dei primi milioni di siti web in termini di traffico.
Avere un server web integrato in macOS è perfetto per coloro che vogliono condividere informazioni in un piccolo gruppo di lavoro o impostare e testare siti su un server web di sviluppo prima di distribuirli su un server internet. Queste istruzioni mostrano come impostare il server Apache in macOS High Sierra. È necessario avere una certa conoscenza dell’applicazione Terminale e di come eseguire programmi a riga di comando, una comprensione dei server web e una familiarità con l’editor vi.
Per iniziare, modifichiamo il file di configurazione di Apache come root:
sudo vi /etc/apache2/httpd.conf
Un server web è relativamente inutile senza un linguaggio di scripting lato server con cui gestire le interazioni; i linguaggi più popolari sono PHP, Perl e Python. In questo esempio, abiliteremo PHP e Perl. Per farlo, è necessario decommentare la riga 176 del file di configurazione. Nell’editor vi, puoi farlo facilmente digitando 176G per andare direttamente alla riga 176. Poi, scrivi una x sopra il # all’inizio della linea seguente per cancellare il marcatore di commento #:
#LoadModule php7_module libexec/apache2/libphp7.so
Vogliamo fare lo stesso per essere in grado di eseguire gli script Perl, che è nella linea 177 del file di configurazione. Usate il tasto freccia per andare all’inizio della prossima linea, poi digitate la x sopra il # per cancellare il marcatore di commento. Il file di configurazione dovrebbe quindi assomigliare a questo intorno alla linea 176 (vedi lo screenshot qui sotto):
Per salvare le tue modifiche nell’editor, digita :w!
Abbiamo ancora bisogno di abilitare i siti web personali decommentando la linea 173, quindi scrivi 173G e premi return, poi scrivi una x sopra il # per cancellarlo. Lo stesso deve essere fatto con la linea 513 del file – digitate 513G e premete return, poi digitate una x sopra il # per cancellarla. Ora salveremo queste due modifiche finali e usciremo dall’editor digitando ZZ.
L’ultimo comando ha appena attivato un file chiamato http-userdir.conf, e ora dobbiamo modificarlo: Nel Terminale, inserire:
sudo vi /etc/apache2/extra/httpd-userdir.conf
In questo file di configurazione, dobbiamo decommentare la linea 16. Digitate 16G e premete return, poi digitate una x sopra il # per cancellarlo. Salvate e uscite digitando 16G.
Fino a Mac OS X Lion, era possibile condividere siti web con un gruppo di lavoro locale e creare siti personali con un clic; per pubblicare pagine web, bastava mettere i file html in una cartella Sites. Ora dobbiamo fare molto più lavoro. Creiamo manualmente una cartella Sites nel Terminale e facciamo un piccolo file di prova così sappiamo che il nostro server web funziona.
Entrare i seguenti comandi:
mkdir ~/Sites
echo “<html><body><h1>Benvenuti nel mio sito</h1></body></html>” > ~/Sites/index.html.it
In seguito, dobbiamo assicurarci di avere un file di configurazione utente. Per crearne uno, digita
sudo vi /etc/apache2/users/<il tuo nome utente breve>.conf
dove <il tuo nome utente breve> è il tuo nome utente breve Unix. Non sai qual è questo nome? Guarda nella parte superiore della finestra del Terminale e vedrai un nome elencato – quello è il nome utente breve. Nel mio caso, è stevensande, quindi digito
sudo vi/etc/apache2/users/stevensande.conf (non usarlo per il TUO file di configurazione!)
In quel file di configurazione vogliamo inserire quanto segue (tagliare e incollare in vi funziona):
<Directory “/Users/<il tuo nome utente breve>/Sites/”>
AddLanguage en .en
AddHandler perl-script .pl
PerlHandler ModPerl::Registry
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride None
Require host localhost
</Directory>
Di nuovo, ricorda di sostituire <il tuo nome utente breve> con il tuo nome utente breve. Digita ZZ per salvare il nuovo file di configurazione e chiudi l’editor.
Se sei arrivato fin qui… complimenti! Ora controlliamo la nostra configurazione di Apache eseguendo il seguente comando nel terminale:
apachectl configtest
Probabilmente otterrai un messaggio di avviso che dice “http: Could not reliably determine the server’s full qualified domain name” insieme a come risolvere questo problema; poiché questo è solo per un server web locale, ignora questo avviso – quello che vuoi vedere è l’ultima linea: Sintassi OK.
Se tutto va bene fino a questo punto, sei pronto per avviare Apache. Se una qualsiasi sintassi del file di configurazione non è corretta, riceverai degli avvisi su ciò che deve essere corretto.
Finalmente, siamo pronti a lanciare il servizio httpd di Apache:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Per vedere la nostra pagina web di una riga, lancia Safari o il tuo browser preferito e inserisci http://localhost/
Dovresti vedere:
Funziona!
Per vedere la tua home directory utente, inserisci http://localhost/~<il tuo nome utente breve>, ancora una volta sostituendo <il tuo nome utente breve> col tuo nome utente breve Unix. Dovrebbe dire:
Benvenuto sul mio sito
Se decidi di spegnere il servizio Apache, c’è un semplice comando da terminale per farlo:
sudo /usr/sbin/apachectl stop
Rendere la vita più facile con MAMP
È stato un sacco di lavoro per mettere le cose in funzione, vero? C’è un modo molto più semplice per impostare un server di prova locale! Per un bel po’, gli sviluppatori hanno capito che impacchettare Apache, MySQL (un server di database) e PHP/Python/Perl era il modo migliore per ottenere un server web molto potente. Aggiungete “Mac” all’inizio di questo, e avrete MAMP – Mac, Apache, MySQL, e PHP/Python/Perl. Le distribuzioni “AMP” (LAMP per Linux, WAMP per Windows, MAMP per Mac) sono la spina dorsale della popolarissima piattaforma WordPress, quindi se volete un ambiente di sviluppo WordPress molto completo sul vostro Mac, siete venuti nel posto giusto.
MAMP è disponibile in due varietà; la soluzione gratuita MAMP per un server web personale e MAMP Pro ($59), che aggiunge servizi aggiuntivi come e-mail, DNS dinamico, e altro. Per questo post, installeremo e configureremo MAMP gratuito.
1) Scarica MAMP dal sito web di MAMP
2) Apri il file .pkg e segui le istruzioni di installazione per installare MAMP sul tuo Mac
3) Una volta che l’installazione è completa, troverai due cartelle nella tua cartella Applicazioni – una per MAMP, e un’altra che è una prova gratuita di 14 giorni per MAMP Pro. Apri la cartella chiamata MAMP e lancia l’applicazione MAMP. Vedrai qualcosa che assomiglia a questa schermata:
4) Clicca sul pulsante “Start Servers”.
MAMP avvierà entrambi i server Apache e MySQL, poi lancia una pagina web che conferma che la tua installazione di MAMP è completa (vedi lo screenshot qui sotto):
Il link “Il mio sito web” mostra una pagina vuota, ma puoi cambiarla mettendo un file index.html nella cartella htdocs che si trova nella cartella MAMP. È facile cambiare la cartella Document Root andando in MAMP > Preferenze > Web Server.