Lithium: The Digital Republic

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri

PHP, MySQL e phpMyAdmin su Leopard Mac OS X (1.5.x)

Indice
PHP, MySQL e phpMyAdmin su Leopard Mac OS X (1.5.x)
Pagina 2
Pagina 3
Tutte le pagine

Prima di migrare un sito ad un'altra versione di Drupal (dalla 5.9 alla 6.3), ho voluto fare un test in locale per evitare complicazioni durante il passaggio. Inoltre, visto che sono in possesso di un nuovo e fiammante MackBook, ho voluto provare il tutto su Mac OS X per vedere un po' come va.. ma mi sono scontrato da subito con alcune difficoltà che mi sembra siano abbastanza comuni a chi necessita di un installazione ad-hoc di PHP con i moduli più diffusi (fra cui GD), e di MySQL con annesso phpMyAdmin. Il tutto magari installato nella directory Sites dell'utente sfruttando il modulo userdir di Apache che su Leopard è attivato di default ma non funziona proprio come dovrebbe da subito...

Vediamo quindi quali sono i passi necessari per avere un sistema Mac OS X con PHP5, MySQL e phpMyAdmin.

Apache

Mac Os X arriva con una versione di Apache preinstallata ed integrata nel sistema, attivabile dalle preferenze di sistema (Sharing, Web Sharing). Una volta avviato il servizio, Apache di default serve le pagine presenti in /Library/WebServer/Documents/ sulla porta 80 a partire dalla root (raggiungibile quindi dall'indirizzo http://localhost/), inoltre serve anche le pagine personali dell'utente, presenti in /Users/username/Sites/ e raggiungibili dall'indirizzo http://localhost/~username/

Qualcuno noterà, però, che mentre alla web root si accede tranquillamente, le pagine personali non vengono visualizzate per una questione di permessi (se invece siete fortunati e funziona tutto, saltate questa parte). Le cause di questo problema possono essere molteplici, adesso vediamo passo passo cosa va controllato:

  • controllare che l'utente di apache sia www (o l'equivalente _www) nel file di configurazione httpd.config, cerca User e Group e impostarli entrambi a www.

  • controllare che in httpd.config venga caricato il modulo userdir, scommentando la riga

    LoadModule userdir_module libexec/apache2/mod_userdir.so
    e che ci sia la riga
    Include /private/etc/apache2/extra/httpd-userdir.conf
    e che nel file userdir.conf ci sia
    UserDir Sites
    Include /private/etc/apache2/users/*.conf
  • controllare il contenuto di /etc/apache2/users/username.conf:

    <Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>

    Prestare attenzione sopratutto ad AllowOverride All (per far si che apache legga eventuali file .htaccess nella directory) ed Allow from all (per consentire l'accesso a tutti gli host)

  • controllare che non ci sia un file .htaccess in una delle directory precedenti a /Users/username/Sites ed infine che tutte le directory del path /Users/username/Sites abbiano il flag +X per “others”:
    chmod o+x / /Users /Users/username /Users/username/Sites

    questo è necessario per consentire ad Apache di listare il contenuto delle directory e sapere se ci sono file .htaccess

Riavviare Apache e testare puntando il browser su http://localhost/~username/

Posizione dei file di configurazione di Apache:
/etc/apache2/httpd.config
/etc/apache2/users/username.config
eventuali .htaccess nelle directory servite da Apache


Ultimo aggiornamento Lunedì 17 Novembre 2008 13:54  
  • Google Bookmarks
  • Twitter
  • Facebook
  • MySpace
  • deli.cio.us
  • Digg
  • reddit
  • StumbleUpon
  • Yahoo! Bookmarks