Ter um servidor web no OS X Mountain Lion é simples!
Uma das principais características no OS X é o facto de ser um SO preparado para dar aos seus utilizadores todas as funcionalidades que eles necessitam, sejam elas quais forem.
Uma dessas necessidades, muitas vezes questionadas, é a forma de termos disponível uma plataforma de desenvolvimento web fácil de usar.
Como ter um webserver no OS X? A resposta é simples e rápida. Já lá está, só precisamos de o lançar e começar a produzir!
A presença de um servidor web dentro do OS X não é nada de novo para os que estão habituados a usar o sistema operativo da Apple.
No entanto houve uma mudança aquando do lançamento da versão 10.8 (Mountain Lion), e as definições do servidor Web deixaram de estar acessíveis via Preferências do Sistema, sendo agora acessíveis apenas via linha de comando.
Mas esta mudança não será impedimento para que todos possam usar o WebServer Apache que acompanha o OS X Mountain Lion, sendo até possível usar de forma directa o PHP, na versão 5.
Antes de começarmos a explicar como podem fazer essa activação e configuração, deixamos aqui os locais onde podem encontrar os ficheiros que necessitam para fazer configurações mais apuradas, e que requerem mais conhecimentos.
Ficheiros de configuração
- Ficheiros de configuração do Apache - /etc/apache2/httpd.conf
- Ficheiros de configuração do PHP 5 - /etc/php.ini
Localizar pasta dos conteúdos
Antes de configurarmos e lançarmos o servidor web, necessitamos de descobrir a localização da pasta onde poderemos colocar os ficheiros com o site que queremos criar.
Esta pasta pode ser alterada a qualquer altura, mas para todos os que têm menos conhecimentos, recomendamos que não a alterem.
Para determinarem qual esta pasta é devem abrir um terminal e executar o seguinte comando:
grep '^DocumentRoot' /etc/apache2/httpd.conf |
O resultado desse comando será a pasta que procura e onde devem colocar os vossos conteúdos. Tipicamente o resultado será a pasta:
DocumentRoot "/Library/WebServer/Documents" |
Controlar o servidor Web
Tal como muito outro software, o Apache é inicado ou terminado com um simples comando no terminal. Os comandos possíveis que podem dar estão apresentados abaixo:
sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful |
Os dois primeiros comandos são perfeitamente compreensíveis e os dois últimos reiniciam o servidor, com a diferença que o último mantêm as ligações activas.
Se quiserem colocar o servidor Apache a ser iniciado no arranque do vosso sistema operativo devem correr o seguinte comando numa janela terminal:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist |
Iniciar o servidor Web
O primeiro passo para terem o vosso servidor Web a responder a pedidos é executar o comando de arranque. Corram então o comando abaixo numa janela terminal:
sudo apachectl start |
Será pedida a password de adminstração do vosso Mac para que o serviço seja iniciado.
Com o serviço Web a correr, a forma mais simples de o testar é aceder com um browser ao endereço local. Podem fazê-lo colocando no browser um dos seguintes endereços:
A resposta será, como podem ver na imagem anterior, a apresentação de uma página com uma mensagem de sucesso.
Configurar o PHP
Apesar de terem o vosso servidor web a funcionar, este ainda não está preparado para tratar algumas linguagens usadas para programar e criar conteúdos. A mais usada e que devem ter activa é o PHP.
Tal como o Apache, também está disponível com a instalação do OS X. Devem apenas configurá-la no no Apache e fica pronta a ser usada.
Para o fazerem devem aceder à área de carregamento de módulos do Apache e retirar o caracter # que a está a comentar.
Num terminal devem executar o seguintes comando, que vos leva directamente à área pretendida, ou usar um outro qualquer editor de texto (deve ser usado com permissões de root).
sudo vi +/php5_module /etc/apache2/httpd.conf |
Retirem então o comentário que está antes da linha apresentada abaixo e gravem o ficheiro.
LoadModule php5_module libexec/apache2/libphp5.so |
Depois disso devem reiniciar o servidor web para que as alterações que efectuaram sejam assumidas.
sudo apachectl restart |
Testar o PHP
A forma mais simples de testarem se o PHP está correctamente configurado e pronto a ser usado é através da criação de um ficheiro que mostre, por exemplo as informações do sistema. Para isso vamos recorrer à função phpinfo().
Comecem por criar um ficheiro na zona de colocação de conteúdos do Web Server:
sudo vi /Library/WebServer/Documents/phpinfo.php |
Depois coloquem lá dentro o código que apresentamos abaixo:
<!--?php phpinfo(INFO_GENERAL); ?--> |
Para testarem se está tudo como esperado devem apontar o vosso browser para o endereço do ficheiro que criaram. No nosso caso o endereço seria http://localhost/phpinfo.php.
O resultado será a apresentação de informação variada sobre o vosso OS X e o servidor que está a correr nele.
Depois deste último passo, o processo de disponibilização do Apache com PHP no vosso OS X fica terminado e podem de imediato começar a colocar os vossos sites em funcionamento para testes.
Como podem ver não é nada complicado ter acesso a um servidor web dentro do vosso OS X. Não precisam de instalar com configurar nada. Basta alterar uma linha da configuração e lançar o serviço para que este fique de imediato disponível.
Faltam outros componentes para que possam desenvolver mais à séria sites, mas a base está aí, só têm de a usar!
Este artigo tem mais de um ano
Em alternativa, para quem tiver preguiça, basta instalar o MAMP
Obrigado pelo tutorial! É bom saber que este excelente SO já traz todas as ferramentas sem que seja preciso instalar mais nada!
Que tal um post sobre aplicativos “MUST HAVE” no OSX?
Tal como Paragon NTFS, Perian, unrarx, etc, etc.
Depois de ter o Apache a funcionar e de ter habilitado o PHP, a página http://localhost/phpinfo.php não me devolve nada, mesmo depois de reiniciar o Apache.
O ficheiro php foi criado no DocumentRoot.
O que se passará?
PS: o ficheiro de configurações do PHP (/etc/php.ini) não existe. Existe sim um php.ini.default, que é apenas um “About PHP”.
Usa isto no código do ficheiro php, como alternativa, abaixo, e depois já vai devolver.
Não percebi o que usar 🙂
Estranho, eu tinha colado o código para o comentário, mas o pplware deve retirar automáticamente, ou interpretar como código. Procura no Google como ver se o PHP está instalado, vais encontrar outro código semelhante, que já funciona e dá output. Por algum motivo também não consegui com esse código acima.
Aqui encontras a resposta.
http://stackoverflow.com/questions/9486261/php-check-if-installed-on-apache-or-iis-server
Obrigado Answe!
Realmente o problema era nos “hífenes” 🙂
Bom tutorial.
Eu uso o XAMPP for mac, funciona muito bem e é fácil de instalar. Traz de raiz apache2, MySQL, proftpd e phpMyAmin.
Mas é bom saber que este OS já traz WebServer de raiz.
Estou a começar a desenvolver em Mac, iOS e também Web e estou a gostar muito da experiência.
Boas,
Bom tutorial, mas penso que era mais aconselhado a ensinar ativar a UserDir no apache.
Para quem desenvolve em web e se não tiver grandes conhecimentos, esta é bem mais útil.
É relativamente fácil.
1º – criar a pasta Sites na vossa HomeFolder:
Comando: mkdir /Users/`whoami`/Sites
2º – no ficheiro /etc/apache2/httpd.conf localizem as linhas(estão seguidas)
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
3º – A seguir devem criar o ficheiro com o vosso username dentro da pasta /etc/apache2/users/ sendo a extensão deste .conf de modo a ser carregada pelo apache.
Comando criação do ficheiro:
sudo vim /etc/apache2/users/`whoami`.conf
ou então com conteúdo:
echo ‘\n\tAuthType Basic\n\tOptions Indexes MultiViews FollowSymLinks\n\tAllowOverride All\n\tOrder allow,deny\n\tAllow from all\n’ | sudo tee /etc/apache2/users/`whoami`.conf > /dev/null
Isto permite colocar os projectos na pasta Sites que foi criada na home folder e ter um rapido deployment sem grandes alterações do apache.
Há um erro no conteúdo, peço desculpa.
Correção:
echo ‘\n\tAuthType Basic\n\tOptions Indexes MultiViews FollowSymLinks\n\tAllowOverride All\n\tOrder allow,deny\n\tAllow from all\n’ | sudo tee /etc/apache2/users/`whoami`.conf > /dev/null