Cerca nel blog

lunedì 3 marzo 2014

Da LAMP a AMP - Installazione di Apache Mysql Php su Mac OSX

Dopo aver per lungo tempo ignorato il mac...ho deciso di acquistarne uno per testarlo e per buttarmi nel mondo delle apps..

Ciò che prima si chiamava LAMP ora ha perso la L e si chiama AMP (Apache Mysql Php)

Sistema operativo utilizzato MacOSX 10.9 (Mavericks). Prima operazione attivare l'utente root con cui devono essere tutte le operazioni di installazione:

  1. preferenze di sistema
  2. utenti e gruppi
  3. lucchetto modifiche disabilitate
  4. immetti password del tuo utente
  5. Opzioni di login
  6. Server account network accedi
  7. apri utlity Directory
  8. lucchetto Modifiche disabilitate
  9. dalla barra del menù in alto la voce composizione
  10. abilita utente root
  11. specificare una password


Installazione Apache
Il webserver risulta già installato ed è necessario semplicemente avviare il server con il comando apachectl start. Ho notato che riavviando il Mac con il servizio attivo questo rimane operativo all'avvio.

Installazione di PHP

Il PHP è già installato è sufficiente editare il file di configurazione di apache dal terminale nano /etc/apache2/httpd.conf e levare il commento dalla riga LoadModule php5_module libexec/apache2/libphp5.so

Installazione di MYSQL
Mysql è un pò meno semplice rispetto ai primi due :-) ma comunque è in stile mac...
E' sufficiente scaricare il pacchetto .dmg dal sito di mysql e il gioco e fatto.
Per evitare di dover avviare ogni volta a mano il server potente installare il pacchetto incluso "MySQLStartupItem.pkg".
Imposta la password con /usr/local/mysql/bin/mysqladmin -u root password 'TUA_PASSWORD'

Installazione di phpmyadmin
E'sufficiente scaricare il pacchetto dal sito ed estrarlo nella home di apache (/Library/WebServer/Documents/) eseguendo lo script di setup http://localhost/phpmyadmin/setup è possibile generare il file di configurazione di phpmyadmin (permessi permettendo!).
Le cose importanti sono 2:

  1. Verificare attraverso la funzione phpinfo() quale sia il path del file socket di mysql (nel mio caso /tmp/mysql.sock) per l'estensione utilizzata da php ( potrebbe essere il parametro mysqli.default_socket oppure mysql.default_socket)
  2. creare il file di configurazione affinche phpmyadmin si colleghi con il sock e non via tcp e attraverso l'estensione appropriata (consiglio mysqli).

Creazione di un VirtualHost
Questa configurazione prescinde dal sistema operativo ma comunque l'ho utilizzata in questo contesto e quindi la riporto :)
In coda al file di configurazione /etc/apache2/httpd.conf ho aggiunto un inclusione attraverso la direttiva Include /private/etc/apache2/extra/*.local.conf in questa maniera verranno inclusi tutti i file presenti nella directory extra che terminano con il suffisso .local.conf.
Il file myvirtualhosts.local.conf contiene le seguenti direttive (ovviamente l'host sito1.local deve essere presente nel file /etc/hosts poichè non risolto da nessun DNS)

NameVirtualHost sito1.local:80
<VirtualHost sito1.local:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Users/utente/lavori/sito1.local/public"
    ServerName comettiabitare.local
    ServerAlias comettiabitare.local
    ErrorLog "/private/var/log/apache2/sito1.local-error_log"
    CustomLog "/private/var/log/apache2/sito1.local-access_log" common
    <directory "/Users/utente/lavori/sito1.local/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </directory>
</VirtualHost>

NameVirtualHost localhost:80
<VirtualHost localhost:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Library/WebServer/Documents"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "/private/var/log/apache2/localhost-error_log"
    CustomLog "/private/var/log/apache2/localhost-access_log" common
    <directory "/Library/WebServer/Documents">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </directory>
</VirtualHost>


Nessun commento:

Posta un commento