(Parte 5) Configurando servidor WEB (Apache, MySQL e PHP) no Ubuntu Server

Visite nosso blog parceiro Ubuntu para Programadores

ubunut-server-lampFinalizando a série, mostrarei como realizar a configuração de um servidor com Ubuntu Server, para isso vamos instalar e configurar um servidor WEB com Apache, MySQL e PHP. Existem diversos artigos na internet demonstrando como instalar cada uns dos programas (Apache, MySQL e PHP) individualmente, pessoalmente prefiro instalar o pacote LAMP que realiza a instalação de todos os programas sem nenhuma complexidade, pedindo apenas para informar durante a instalação a senha do usuário root do MySQL. Utilizo o LAMP no Ubuntu a algum tempo e nunca tive problemas com ele, infelizmente o Fedora não possui esse pacote, nesse caso temos que instalar individualmente Apache, MySQL e PHP. 
 

Definição de Servidor WEB

Um servidor WEB consiste em um programa de computador responsável por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos (imagens, etc.); 
 
Ambiente de teste

Servidor – Ubuntu Server 12.04 (Máquina virtual, placa de rede em modo Bridge)
Cliente 1 – Windows Seven (Máquina virtual, placa de rede em modo Bridge)
Cliente 2 – Fedora 18 (Máquina física)
Observação: Meu roteador está configurado como servidor DHCP e fornece endereços IP automaticamente para todas as máquinas.
 
Instalação do pacote LAMP
1 – Vamos instalar o pacote LAMP com o seguinte comando, (não esqueça no final coloque o ‘^’):

 
Durante a instalação será solicitado o cadastro de uma senha para o usuário root do MySQL, digite e confirme a senha na próxima tela:

Ao final da instalação teremos o Apache, MySQL e o PHP instalado, sem a necessidade de digitar linhas e linhas de comando no terminal.

Post relacionado:  Configurando Virtual Host no Ubuntu em 10 passos

2 – Testando se o serviço do Apache e do MySQL estão rodando com os seguinte comandos:

 

Configuração da pasta /www

Agora vamos efetuar alguns ajustes com permissões para a pasta /www onde são gravados os projetos em PHP, vamos criar um grupo no servidor chamado webdeveloper, dentro desse grupo vamos adicionar os usuários que são programadores e somente esse grupo terá permissão de leitura, escrita na pasta /www.

Adicionando um grupo no servidor:

 

Criando os usuários que são programadores:

 

Adicionando os usuários ao grupo webdeveloper:

 

Para finalizar essa parte, vamos alterar o grupo proprietário da pasta /www para webdeveloper e alterar as permissões:

 

A partir de agora somente os usuários do grupo webdeveloper tem permissão para leitura/escrita/execução de scripts na pasta /www, outros usuários tem permissão de leitura/execução de scripts sendo negada permissão de escrita. Isso ainda pode ser melhorado com um compartilhamento de arquivos no Samba, mas deixo para o leitor essa parte.

Sempre que instalo o pacote LAMP efetuo 2 testes ao mesmo tempo (Apache e configurações do PHP), crio um arquivo com qualquer nome (pode ser teste.php) no diretório /www e visualizo no navegador com http://ip_servidor/teste.php. Coloco nesse arquivo um comando PHP muito simples para exibir todas as configurações do PHP, principalmente porque uso muito o PDO então confirmo se o mesmo está habilitado:

Post relacionado:  (Parte 1) Instalação do Ubuntu Server 12.04 LTS

 

Agora vamos testar na acessando via browser no Windows Seven e também pelo Fedora com endereço http://192.168.1.52/teste.php (IP do meu servidor):

Windows Serven:

















 

Fedora:

















 

 

Configuração do acesso remoto ao MySQL
Como exemplo de um cenário vou criar um banco de dados no MySQL chamado DB_BLOG e também um usuário programador que só terá acesso a esse banco de dados, posteriormente vou liberar o acesso remoto desse usuário, por padrão nenhum usuário pode acessar o MySQL remotamente. Como sempre vamos trabalhar no prompt de comando com os seguintes comandos:

Vamos acessar o MySQL como root, informe a senha que foi cadastrada durante a instalação:

 

Criando um banco de dados:

 

Criando um usuário e liberando o acesso remoto colocando ‘%’ no lugar do IP:

 

Concedendo privilégios e alterando permissões do usuário programador, ele poderá acessar somente o banco de dados DB_BLOG:

 

Recarregando os privilégios com o comando:

 
Saindo do prompt MySQL:

 

Último passo e talvez o mais importante, temos que alterar um parâmetro no arquivo /etc/mysql/my.cnf:

 
Na linha bind-address trocamos 127.0.0.1 por 0.0.0.0 (todos os IPs), esse parâmetro defini quem o servidor MySQL vai escutar, por padrão ele escuta somente conexões locais 127.0.0.1 (localhost) mas vamos alterar para 0.0.0.0 que significa qualquer host.
Pronto, agora nosso usuário programador tem permissão de acesso remoto ao MySQL mas somente terá acesso ao banco de dados DB_BLOG.
 
Vamos utilizar a ferramenta de gerenciamento MySQL Workbench 6.0 para testar o acesso remoto pela rede, como essa ferramenta é multiplataforma podemos usá-la no Windows Seven e Fedora.
 
Windows Seven:

 

Fedora:

Post relacionado:  Monitorando seu Ubuntu

 

 

 

 

 

 

 

 

 

Bom pessoal, nesse artigo demonstrei como instalar e configurar o pacote LAMP no Ubuntu Server, ainda montamos um mini ambiente de desenvolvimento com alteração de permissões de acesso a pasta /www e liberação do acesso remoto para um determinado usuário e o banco de dados ao qual ele tem permissão. Esse tipo de ambiente (Apache, MySQL e PHP) é muito comum quando estamos desenvolvendo localmente, mas quando precisamos de algo maior com estrutura de rede, permissões variadas e etc., acredito que o Ubuntu Server pode atender tranquilamente as necessidades de um servidor WEB.

 
Até a próxima …
Tags:
Show Buttons
Hide Buttons