LAMP (Linux Apache MySQL PHP) no Ubuntu

Sou estudante de programação e meu interesse é em sistemas para Internet. Tenho estudado bastante HTML, CSS, MySQL, Javascript e PHP e, para ver os resultados dos meus estudos, preciso de um servidor web.

É padrão um desenvolvedor rodar seus sistemas localmente em um ambiente chamado de desenvolvimento. Assim que ele entende que o sistema está pronto, ele o lança em um ambiente de produção, ou seja, o servidor web real, disponível para acesso na Internet.

Para criar o ambiente de desenvolvimento localmente, é necessário instalar alguns programas. Como meu interesse é em Open Source, vou mostrar como instalar o LAMP no seu computador. LAMP = Linux (sistema operacional) Apache (servidor web – o mais usado no mundo) MySQL (sistema de banco de dados) PhP (linguagem de programação). Com isso, você consegue desenvolver sistemas completos em sua própria máquina antes de publicar na Internet.

A seguir, segue o tutorial para instalar LAMP em Ubuntu 9.10 ou 10.04.

01) Abra o terminal e digite sudo apt-get install lamp-server^

ATENÇÃO: o sinal ^ ao final da linha não é um erro de digitação e não deve ser esquecido.

02) Informe uma senha para o usuário root do MySQL (não a esqueça pois você vai precisar digitá-la novamente).

Pronto, o ambiente LAMP está instalado.

Agora, vamos testar e configurar.

Apache é o servidor que tem a função de disponibilizar as aplicações web então usamos um browser para testá-lo. Abra o seu e digite http://localhost/ ou http://127.0.0.1. Localhost ou 127.0.0.1 é sua própria máquina e, eventualmente, pode não funcionar o nome então você usa o IP. Ao clicar em Enter deverá aparecer uma mensagem na tela dizendo It works! ou Apache works!. Pronto, Apache está ok.

Lembrando que a instalação do Apache vai criar a pasta www dentro de /var e é lá onde você vai armazenar os sites que desenvolver. Quando recebe uma requisição, o Apache vai procurar nessa pasta os arquivos solicitados então é necessário que ela tenha permissão de leitura e execução para qualquer usuário.

Após o término da instalação, digite cd /var/, depois sudo chown user -R www/ e depois sudo chgrp user -R www/; troque o nome user pelo seu nome de usuário em ambos os casos. Com isso, o diretório www passou a ser seu, do seu usuário.

Atualização: Descobri que é possível alterar o usuário e o grupo de uma só vez. No caso acima, ficaria sudo chown user:group -R www/; atenção: tem que ser chown e não chgroup.

Depois, altere as permissões para permitir acesso total para você e os usuários do seu grupo (775) ou somente para você (755) e acesso aos outros usuários com leitura e execução.

Ficaria assim: chmod 775 -R www/. O resultado seria drwxrwxr-x  2 fabio fabio 4096 2010-06-28 22:12 www.

Não esqueça do -R pois ele indica que o comando deve ser recursivo, ou seja, afeta as pastas filhas bem como seus arquivos.

Para testar o PhP, precisamos criar o famoso phpinfo e você pode usar qualquer editor de texto para isso. Abra o editor e escreva os comandos abaixo:

<?php

phpinfo();

?>

Somente isso e nada mais, salve como /var/www/phpinfo.php.

Em seguida, restarte o Apache pela linha de comando digitando sudo /etc/init.d/apache2 restart. Abra novamente o navegador e digite http://localhost/phpinfo.php. Será mostrada uma página com informações sobre o PhP instalado em sua máquina.

Agora, vamos verificar a configuração do MySQL. Primeiro, vamos confirmar se a base do MySQL está vinculada ao localhost (127.0.0.1) já que vamos usá-lo localmente.

No terminal digite cat /etc/hosts |grep localhost e a resposta deve ser como abaixo:

user@computer:~$ cat /etc/hosts |grep localhost
127.0.0.1    localhost
::1     localhost ip6-localhost ip6-loopback

Para confirmar se o bind-address está configurado corretamente, digite:

user@computer:~$ cat /etc/mysql/my.cnf | grep bind-address
bind-address        = 127.0.0.1

Tudo certo até agora? Ok, falta pouco para acabar.

Agora vamos instalar o phpMyAdmin, uma ferramenta para administrar o MySQL. Para quem não sabe usar linha de comando no MySQL, é recomendável usar essa interface. É simples e roda no navegador diretamente. Para instalar, digite sudo apt-get install libapache2-mod-auth-mysql phpmyadmin; será necessário escolher alguns dados, conforme seguem:

1) Escolher o servidor web:

– Virá selecionado em vermelho o apache2 (é o que queremos). Apenas pressione a barra de espaço e clique Enter.

2) Configurar base de dados para phpmyadmin com dbconfig-common:

– Virá selecionado em vermelho Sim. Somente clique Enter.

3) Será solicitada uma senha para o administrador da interface e uma senha para o usuário root do MySQL. Você pode utilizar quaisquer senhas que quiser mas é recomendável que sejam iguais para você não se perder.

Após finaização do processo, digite http://localhost/phpmyadmin/ no seu navegador e será aberta uma tela de login. Basta digitar root no campo usuário e a senha que você definiu para acessar a interface. Caso precise, dentro da interface você encontra manual.

Pronto, tudo instalado. Agora, é só escolher uma IDE (Integrated Development Environment) de seu agrado e começar a programar.

Dica: tenho usado o NetBeans pois tem dado suporte a todas as linguagens mais utilizadas hoje em dia. Ele, nativamente, é voltado para o Java mas o suporte para PHP (com HTML, CSS e Javascript embutido) é perfeito.

É isso aí. Abraços.

(Testado em Ubuntu 9.10, 10.04 e 10.10)

ATUALIZAÇÃO (24Maio2013):

Faz tempo que esqueço de atualizar este post com uma informação bem simples.

A instalação padrão do PHP não traz três libraries bastante úteis para quem trabalha com desenvolvimento de sistemas Web:

1) GD: para visualização de imagens;

2) MCrypt: para encriptação de dados;

3) Curl: para acessar / comunicar com outras páginas (entre outros usos).

Para instalar, basta digitar sudo apt-get install php5-gd php5-mcrypt php5-curl.

Pronto. Para confirmar que está instalado, ver a versão, etc, acesse sua página phpinfo.

Anúncios

24 Respostas para “LAMP (Linux Apache MySQL PHP) no Ubuntu

  1. Olá!
    Acabei substituindo meu S.O. win7 pelo Ubuntu. Instalei o PHP5, Apache2, Mysql e o phpmyadmin.
    Acessei meu banco de dados normalmente. Quando executo http://localhost/sindicato/login.php (abre a página normalmente) mas não aceita meu user e password(referente ao projeto-Sindicato). Sei que tem algum arquivo para editar, para dai sim, funcionar, mas não estou conseguindo encontrar qual é. Alguém poderia me dar uma dica?
    OBS.: No Win7 o mesmo projeto rodava.

    • Carla
      Parece que você está tentando logar em um sistema. Se é isso, muito provavelmente, você deve ter cadastrado as credenciais em banco de dados. Você pode comparar por lá diretamente.
      Ou você tem um local para cadastrar/alterar essas credenciais?
      De qualquer maneira, parece-me que é um procedimento do seu própro projeto. Sem conhecê-lo, fica inviável lhe dar uma resposta concreta.
      Abraço.

  2. Apos a confirmação da instalação do LAMP eu digitei sudo chown user:group -R www/ pediu senha coloquei a do root e n funcionou.
    agoro coloco e dar :

    digitado: sudo chown user:group -R www/

    resposta : chown: usuário inválido: “user:group”

    • Danyela

      O usuário pode ser o da sessão, o nome que aparece primeiro na linha de comando, antes do sinal de @; exemplo: em danyela@minhamaquina:~$ o usuário é danyela.

      Veja que o grupo tem que existir então, se quiser que qualquer usuário tenha acesso, utilize users, se não, digite o mesmo, ou seja, danyela.

      É claro que você pode alterar esse usuário para qualquer outro, ok? Por exemplo: danyela2.

      Resumindo:

      Alternativa 1: sudo chown danyela:users -R /var/www
      Alternativa 2: sudo chown danyela:danyela -R /var/www

      Abraço.

  3. Eu já havia instalado o lamp + wordpress, porem percebi que ele instalou o WP em /usr/share/wordpress e um link em /var/www/wordpress

    Porem as permissoes ficaram com root e mesmo tendo feito chmod -R nesse local eu nao tive sucesso. Até a linguagem do wordpress continua em ingles, mesmo eu tendo definido o (‘WPLANG’, ‘pt_BR’) no arquivo config.

    Da mesma forma se eu inserir um tema na pasta eu nao visualizo no admin do wordpress no navegador.

    Sabe o que tenho que fazer?

    • Cassio

      Nunca usei o WordPress então desconheço a situação que me apresentou.

      Entretanto, penso que você pode tentar alterar dono/grupo do diretório com sudo chown usuario:users -R /var/www/wordpress. Lembre-se de trocar usuario pelo seu nome de usuário no sistema, isso vai torná-lo dono do diretório e suas ramificações e vai permitir o acesso a todos os usuários do sistema (grupo users).

      Vou instalar o WordPress para tentar entender melhor o problema. Se encontrar algo mais que possa ajudar, eu te informo, ok?

      Abraço.

  4. Pingback: Erro de Instalação do PHP MyAdmin no Ubuntu | Keep on Hacking in a Free World

  5. Pingback: Configurar Apache no Ubuntu 12.04 | Keep on Hacking in a Free World

  6. Tinha seguido o tutorial para instalar no Ubuntu 12.04 nesse link abaixo
    http://www.vivaolinux.com.br/dica/PHP-+-Apache-+-MySQL-no-Ubuntu-1204-Instalacao-rapida

    Mas estava dando erro na hora de entrar no phpmyadmin daí segui a sua sugestão nos comentários dos dois passos abaixo e funcionou beleza.
    1) sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
    2) sudo /etc/init.d/apache2 restart

    Agora vou testar o web2py
    Muito da hora o vídeo abaixo para aprendê-lo

  7. Pingback: Certificados Digitais – Instalar Open SSL no Apache2 sob Ubuntu | Rafael de Meira Teixeira

  8. Olá amigo, tudo bem?
    Quero parabenizá-lo e agradecê-lo pelo post, que me foi de grande utilidade.. quebrou um galhão! Mas amig, estou com um problema no phpmyadmin, segui os passos que você informou, mas quando digito: http://localhost/phpmyadmin, a resposta é:
    No Found
    The requested URL /phpmyadmin/ was not found on this server.

    O que poderia estar gerando este erro?

    Agradeceria muito se você pudesse me ajudar com esta duvida.

    Obrigado!

    • Willian
      Não sei por que sistema não abre, é possível que tenha ocorrido algum erro durante a instalação.
      O PHPMyAdmin fica instalado em /usr/share então faça o seguinte, no terminal:

      1) sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
      2) sudo /etc/init.d/apache2 restart

      O procedimento deve criar um link simbólico (SymLink) em /var/www que, penso, será o suficiente. É só executar e tentar abrir no navegador.

      Se ainda houver algum problema, fico à disposição.

      Abraço,

      Fábio

  9. Boas.
    Muito obrigado! Já tinha conseguido instalar o LAMP e trabalhar com o php, mas ainda não tinha conseguido aceder à base de dados, nem fazia idéia de como o fazer. Este tutorial é muito simples e fácil de seguir.
    Parabéns. =)

  10. Obrigado pela postagem, testei e deu certo, mas pensando bem… estou usando ubuntu a alguns meses. – Uso o wamp, (no windows…novidade né?) e lá tem algumas funcionalidades via icones que quebram um galão (como startar o servidor). Hoje foi a primeira vez que tive que startar o servidor do PHP via linha de comando! O q a gente faz mais eé escrever quando se programa, mas, seria muito em ambiente de desenvolvimento poupar algumas coisas tão tediosas (tá sei que posso deixar aberto o shell so pra reiniciar o servidor)mas não eu gostaria de ter que startar/ desligar o servidor e etc…. coisas simples e corriqueiras, via comandos . Há alguma coisa no mundo do ubuntu que facilita minha vida, como um simples ícone existente no Wamp?

    obrigado

    • Sergio

      O Wamp só roda em Windows mas sugiro duas alternativas:

      1) XAMPP: igual ao Wamp mas mais estável e rápido. Não tem acesso à linha de comando para o MySQL (gosto dessa funcionalidade no Wamp)*, para isso, você terá que usar algo como o PHPMyadmin. Para download e instruções de uso, acesse http://www.apachefriends.org/en/xampp-linux.html#379.

      *Atualização – 06/04/2011: o XAMPP tem, sim, o acesso via shell ao MySQL. Falha minha por não ter localizado antes!

      2) Webmin: uma poderosa interface que você acessa por browser. Permite controlar email, dns, ips, etc, e, inclusive, restartar o Apache como você sugere. Acesse http://webmin-demo.virtualmin.com/ (Login: root, Senha: demo) para testar a interface. Você pode mexer em tudo para ver como funciona. Na tela inicial, clique em System e Status e lá você terá a opção para parar e startar o Apache.
      Resumindo, o Webmin é uma GUI que permite integração com seu servidor Web. O site oficial é http://www.webmin.com/ onde você encontrará link para download e tutoriais.

      É isso aí, abraço.

      Fábio

  11. Tudo certo, só tem um porém na hora de escolher o Apache2 como servidor, pressionei o enter e não o espaço como deveria, por isso acho que está errado, não mostra a pagina quando coloco
    http://localhost/phpinfo.php no navegador.
    Tem como consertar isso ???
    Já tentei reinstalar e desinstalar e instalar de novo, mas da 2° vez ele já não pede pra você escolher o servidor.

    • Romário

      Qual é a mensagem de erro que aparece? Not Found?

      O Apache pode estar instalado mas não estar startado. A mensagem de erro ajudaria para saber.

      Mesmo assim, abra um terminal e digite ps aux |grep apache.

      Isso vai mostrar uma de duas opções, conforme abaixo:

      1) APACHE STARTADO E OPERANDO:

      user@host:~$ ps aux |grep apache
      root 1074 0.0 0.8 36080 4532 ? Ss 21:13 0:00 /usr/sbin/apache2 -k start
      www-data 1099 0.0 0.6 36080 3232 ? S 21:13 0:00 /usr/sbin/apache2 -k start
      www-data 1100 0.0 0.6 36080 3252 ? S 21:13 0:00 /usr/sbin/apache2 -k start
      www-data 1101 0.0 0.6 36080 3256 ? S 21:13 0:00 /usr/sbin/apache2 -k start
      www-data 1102 0.0 0.6 36080 3256 ? S 21:13 0:00 /usr/sbin/apache2 -k start
      www-data 1103 0.0 0.6 36080 3244 ? S 21:13 0:00 /usr/sbin/apache2 -k start
      user 1778 0.0 0.1 3336 876 pts/0 S+ 21:29 0:00 grep –color=auto apache

      As linhas que contém www-data indicam o funcionamento do Apache.

      2) APACHE PARADO

      user@host:~$ ps aux |grep apache
      user 1832 0.0 0.1 3332 804 pts/0 S+ 21:30 0:00 grep –color=auto apache

      A única linha resultante é sua própria solicitação (ps aux).

      Antes de mexer em qualquer coisa, é melhor fazer essa verificação. Tentar consertar sem saber o que é problemático.

      Poste seu resultado para sabermos o que fazer a partir daí, ok?

      Abraço,
      Fábio

      • Not Found

        The requested URL /phpinfo.php was not found on this server.
        Apache/2.2.14 (Ubuntu) Server at localhost Port 80

        1-Apache OK

        root 1115 0.0 0.3 37744 7744 ? Ss 13:35 0:00 /usr/sbin/apache2 -k start
        www-data 1195 0.0 0.1 37744 4040 ? S 13:35 0:00 /usr/sbin/apache2 -k start
        www-data 1196 0.0 0.1 37744 4040 ? S 13:35 0:00 /usr/sbin/apache2 -k start
        www-data 1197 0.0 0.1 37744 4040 ? S 13:35 0:00 /usr/sbin/apache2 -k start
        www-data 1198 0.0 0.1 37744 4040 ? S 13:35 0:00 /usr/sbin/apache2 -k start
        www-data 1199 0.0 0.1 37744 4040 ? S 13:35 0:00 /usr/sbin/apache2 -k start
        roma 3178 0.0 0.0 3340 888 pts/0 S+ 15:34 0:00 grep –color=auto apache.

        Bom parece tudo ok. Foi só um descuido meu.
        Valeu pela força.

      • Romario

        Instalado, o Apache está. O que está faltando é o arquivo phpinfo.php.

        Abra o terminal e digite:

        user@host:~$ cd /var/www
        user@host:~$ gksudo gedit phpinfo.php
        user@host:~$ sudo /etc/init.d/apache2 restart

        obs: crie o arquivo conforme instrução anterior, veja o artigo.

        É possível, também, usar uma linha de comando só para o procedimento acima que é como eu prefiro fazer: gksudo gedit /var/www/phpinfo.php. Isso é padrão em Unix e ajuda bastante para ganhar tempo. De qualquer forma, ambas as maneiras te levarão ao mesmo resultado.

        Também é possível abrir o editor de texto gedit pela interface gráfica (Aplicativos / Acessórios / Editor de texto gedit), criar o arquivo e salvar em /var/www mas o Apache teria que ser reinicializado pela linha de comando.

        Ou você pode usar o método ruindous e reiniciar o computador o que seria um retrocesso, na minha humilde opinião.

        Pronto. Abra seu navegador e digite http://localhost/phpinfo.php que já vai funcionar.

        É isso ai. Abraço.

        Fábio

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s