quarta-feira, 4 de setembro de 2013

Mac OS X - Apache e PHP

Em ambientes que utilizem Mac OS X:

Apache

Programa apachectl (rodado em modo super usuário / root) controla o serviço do Apache:
apachectl start - Inicia o serviço
apachectl stop - Para o serviço
apachectl restart - Para e inicia o serviço

Diretório de instalação (normalmente):

/etc/apache2

Diretório de páginas:

/Library/WebServer/Documents - Páginas
/Library/CGI-Executables - Scripts CGI

Arquivo de Configuração:

/etc/apache2/httpd.conf

Atenção: Qualquer alteração feita no arquivo de configuração do Apache (como  por exemplo, ativação do PHP) requer que o serviço Apache seja restartado (sudo apachectl restart)

Acesso ao servidor

http://localhost

Criação de VirtualHosts (Servidores Virtuais)

1) Alterar o arquivo de configuração do Apache (sudo vi /etc/apache2/httpd.conf), retirando o comentário da linha Include /private/etc/apache2/extra/httpd-vhosts.conf

2) Editar o arquivo de VirtualHosts (sudo vi /etc/apache2/extra/httpd-vhosts.conf), incluindo a configuração do novo servidor. 

<VirtualHost *:80>
    DocumentRoot "<caminho/para/o/site>" 
    ServerName <nome do site> 
    ErrorLog "<caminho/arquivo/log/erro>" 
    CustomLog "<caminho/arquivo/log/acesso>" common 
    <Directory "<caminho/para/o/site>" >
        AllowOverride All 
        Order allow,deny 
        Allow from all
    </Directory>
</VirtualHost>


Exemplo:

<VirtualHost *:80>
    DocumentRoot "/Users/eu/Documents/workspace/dev" 
    ServerName eu.local 
    ErrorLog "/private/var/log/apache2/eu.local-error_log" 
    CustomLog "/private/var/log/apache2/eu.local-access_log" common 
    <Directory "/Users/eu/Documents/workspaces/dev">
        AllowOverride All 
        Order allow,deny 
        Allow from all
    </Directory>
</VirtualHost>

3) Incluir a seguinte linha ao arquivo de hosts (sudo vi /etc/hosts):

127.0.0.1     <server_name>

Exemplo:

127.0.0.1     eu.local

4) Restartar o apache e limpar o cache:
sudo apachectl restart
sudo dscacheutil -flushcache

Observação sobre permissão: O usuário do apache (normalmente _www) deve ter permissão no diretório onde se encontram as páginas.

PHP

1) Alterar o arquivo de configuração do Apache (sudo vi /etc/apache2/httpd.conf), retirando o comentário da linha LoadModule php5_module libexec/apache2/libphp5.so

2) Restartar o apache:
sudo apachectl restart


Fonte: http://jason.pureconcepts.net/2012/10/install-apache-php-mysql-mac-os-x/