Como instalar PHP, Apache e Mysql no Mac Os X Snow Leopard (mamp2 no mac)

Como instalar PHP, Apache e Mysql no Mac Os X Snow Leopard (mamp2 no mac)

Este é um artigo daqueles “easy-to-use”, aonde instalaremos o apache 2, o php 5 e o mysql 5 para que possamos programar sossegadamente (fazer um webserver para hospedar nossa aplicação localmente).
O sistema operacional usado aqui foi o Mac Os X Snow Leopard 10.6.7, mas o procedimento é o mesmo para 10.6.8.

Vamos para o fight?
Iremos usar o console do Mac os x, assim como o ports do Mac para gerenciar o trem com velocidade.
Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x
como abrir terminais no mac os x

Clicando lá você fará o seguinte:

Little-oaks-appunixlabs:~ sudo apachectl start

Isto fará com que você chame recursos globais como super usuário e ative o serviço do apache 2 dentro do seu Mac os x, LEMBRANDO que será requisitada a senha de superusuário para que você possa rodar este recurso, pois o sudo te dá poder de root para executar um determinado comando, como neste caso tomtamos o exemplo do apachectl.

Para conferir que o procedimento deu certo abra seu navegador web (no nosso caso curtimos muito o Mozilla Firefox, mas fica ao seu critério o navegador [isto não influenciará em nada neste how to]), conforme imagem abaixo, na barra de endereços digite

Apache ok
Apache ok

HTTP://localhost

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X Snow Leopard está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x
como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)
baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1
passo1

 

Feito isto iremos confirmar se o mysql está rodando com o seguinte comando:

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

Teremos liberadas extensões como PDO (Muito boa para abstração no banco de dados mysql), Mysqli (a versão aprimorada do conector nativo do Mysql [somente disponível a partir do Mysql 5.x])
Pronto, feito isto instalamos o Mysql 5 , Php 5 e Apache 2 em nosso Mac Os X :D.
Abraços a todos e saibam que o AppUnix aprecia sua visita!

  • Pedro

    Olá,

    instalei o Apache, mysql e php pelo pacote mamp, como descrito acima. porém, não consigo testar localmente meus arquivos php porque ele esta abrindo no dreamweaver e nao no navegador.

    existe alguma pasta especifica onde devo jogar meus arquivos php ou, com o servidor instalado localmente posso salvar em qq lugar? qual o diretorio para instalacao no mac x 10.6 ou qual procedimento?

    grato,

    • Se instalou o pacote MAMP os arquivos ficam em MAMP/htdocs …. pode colocar tudo ali que estará instalado para usar localemnte… (exemplo WordPress)… em questão de os arquivos .php estarem sendo abertos pelo DreamWeaver… é só clicar com o botão direito sobre o arquivo, Obter informações…. procure por uma aba chamada abrir com: e mude-a para o navegador de sua preferência…. espero ter ajudado… caso não tenha sido sobre isso sua pergunta é só reportar pra gente explicando melhor um pouco sobre seu problema,… abraço

    • Para documentos Universais (globais) o wwwroot do apache fica em /Library/WebServer/Documents/, logo, todos os arquivos devem ser jogados ali :P

      Outra coisa, você está abrindo seus arquivos, porém existem 2 alternativas para estar apresentando erro:

      1 – ou você não reiniciou o apache (após ter descomentado a linha de módulo do php corretamente),
      2 – siga o passo a passo atentamente, pois sempre testamos TUDO que postamos. (você pode ter pulado algum passo)

      Sem dúvidas foi algum erro de digitação ou você ainda não reiniciou seu apache para validar o php como módulo.
      Se está abrindo o dreamweaver é por que está fazendo download do arquivo php ao invés de interpretar o mesmo.
      Reveja os passos, tenho certeza que dará certo.

  • Ricardo

    Maravilha de post, bem explicado e tudo.

    Uma pena que no meu caso não funcionou corretamente, pois não está interpretando corretamente, e tb não é o caminho dito, pois no meu é “sites”, html funciona corretamente, mas php não.

    • Opa, grande, qual versão do seu Mac Os X?
      O path que informei é universal, a pasta sites não é válida não, a não ser que haja alguma coisa especial nessa versão sua.
      No caso faça o seguinte, entre no conf do apache e procure por document root e veja aonde ele joga os arquivos web e nos informe.
      Se seguir o passo a passo, ainda que o path esteja diferente ali você terá o php sendo interpretado como handler e não como CGI.

      • Ricardo

        Hi rapaz, ai vc me pegou, pois sou iniciante em MAC, mas vamos tentar :

        Nome do Modelo: iMac
        Identificador do Modelo: iMac10,1
        Nome do Processador: Intel Core 2 Duo
        Velocidade do Processador: 3,06 GHz
        Número de Processadores: 1
        Número Total de Núcleos: 2
        Cache de L2: 3 MB
        Memória: 4 GB
        Velocidade do Bus: 1,07 GHz
        Versão da ROM de Inicialização: IM101.00CC.B00
        Versão do SMC (sistema): 1.52f9

        Mac os X 10.6.8, vou tentar procurar no apache e aviso

      • Ricardo

        é o path é esse mesmo, mas não aparece na minha arvore.

        • Ricardo

          Fui um toupeira mesmo, deu certo;

  • Pedro

    Sem palavras para esse tutorial… simplesmente espetacular, queria que todos os autores de tutoriais tivessem a dedicação em querer ensinar desse jeito… muito bom, valeu mesmo.

    • Obrigado pela visita Pedro, nosso intuito é levar informação da melhor forma a nossos leitores….. Aproveite o restante do BLOG….. forte abraço

  • Pedro

    Ficou uma dúvida apenas, quando entro no phpmyadmin pede um login e senha, no config.ini do phpmyadmin achei o login e senha, porem da o erro #1045 Não foi possível se logar no servidor MySQL
    nao faço ideia do que seja, e tambem aperece a msg: The mcrypt extension is missing. Please check your PHP configuration.

  • Opa, pedro, faça o seguinte, se quiser testar o login e senha de forma fácil (literalmente) basta entrar no terminal e em seguida digitar o seguinte:
    mysql -u root -p

    Depois tentar a senha de root. (normalmente é a senha do seu sistema operacional).
    Se mesmo assim nÃo der certo me avise que lhe passo as manhas de recuperar a senha de root do mysql.
    QUanto ao mcrypt, entre no php.ini e localize essa extensão, veja se está comentada (no caso do php.ini existem 2 tipos de comentários, os de # e os de ; , descomente o de ; junto a linha do mcrypt).
    Abraços para ti.

  • GALERA DO APPUNIX – FANTÁSTICO O SEU POST.

    VISITANTES, COMO EU, ACESSEM O GOOGLE E COLABORE COM A APPUNIX – CLIQUE NO MAIS 1 – RECOMENDEM ESTE SITE!!!

    ABRAÇOS, NILO

    • Obrigado, Nilo, valeu mesmo pelo comentário.
      Desejamos-lhe um excelente final de semana.

  • Edmilson ladeia

    Você poderia passar as manhas para recuperar senha
    de root do mysql.. Não consigo conectar o PHPMYadmin

    Valeu

    • Grande!

      ps aux | grep mysql

      Pegue o PID do mysql, logo:

      kill NÚMERO_PID

      Depois:

      mysqld –skip-grant-tables –user=root

      E por fim, já no console do mysql (usando comando mysql):

      UPDATE mysql.user SET Password=PASSWORD(‘NOVASENHA’) WHERE User=’root’;
      FLUSH PRIVILEGES;

      Depois é só dar exit e se quiser reiniciar o serviço basta reiniciar o mysql e curtir muito.

      :P

  • Paulo

    Fiz tudo isso mas quando ponho uma pasta com o meu site em /Library/WebServer/Documents/meu_site e o abro no browser dá o erro forbidden… o que tenho q alterar por favor
    obrigado

    • ls -la na pasta “meusite”. (isto para vermos as permissões)
      Observe que as permissões tem de ser 644 em arquivos e 755 e em pastas.
      chmod 644 index.php
      chmod 755 subpastaX

      Depois disso ablamos para resolver essa parada!
      Abraços e #somosdev também :P

      • Caramba mestre eu ia responder questão de permissões…… \o/
        Você é o cara mestre…..

  • Paulo

    antes de mais obrigado sou macdev newb :)

    Bem alterei as permissoes na pasta e no index.html mas ao que parece todos os outros ficheiros dentro da pasta meu site, scripts, imagens, flash nao estao a aperecer provalvemente pelo mesmo motivo, sera que tenho que fazer isto para todos se for o caso há alguma maneira de o fazer tipo *.* ? :D

    Mais uma vez obrigado

  • Grande Xará, paulo, faça assim chmod -R 755 */ (isso vai mudar para todas as pastas), depois, chmod -r 644 *.
    (tudo minúsculo hein?)
    Abraços xará!

  • Paulo

    bem não foi bem à primeira pois me dava um erro: no such file or directory mas depois lá consegui ainda não percebi bem como :/

    sendo que o * representa a minha pasta… o que interessa é que já está no proximo logo vejo

    obrigado camarada!

  • Cool, man!
    Qualquer coisa dê as ordens :P

  • Everton

    Paulo, mudei meu documentroot para uma pasta chamada www. Soh que tambem estou tendo erros de PERMISSÃO. ja coloquei a pasta com 777 e nada , nem mesmo um arquivo php eu to conseguindo acessar. pode me ajudar?

  • www só roda se no conf do apache estiver apontado para www.
    Mude o diretório raíz no conf do apache e o problema estará sando.

  • jbdj

    Pessoal, comigo funcionou de primeira. gostaria de agradecer aos responsáveis, pois o material é de primeira classe. Restou apenas uma dúvida: no meu mac não tem esse diretório “sites”, existe o caminho /Library/WebServer/documents, o qual é apontado pelo localhost, estou certo ou existe algo de errado?

    • Qual seu mac os x? Lion ou Mountain Lion?

Comments are closed.