(Parte 5) Configurando servidor WEB (Apache, MySQL e PHP) no Ubuntu Server
Definição de Servidor WEB
Observação: Meu roteador está configurado como servidor DHCP e fornece endereços IP automaticamente para todas as máquinas.
1 – Vamos instalar o pacote LAMP com o seguinte comando, (não esqueça no final coloque o ‘^’):
1 |
# apt-get install lamp-server^ |
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.
2 – Testando se o serviço do Apache e do MySQL estão rodando com os seguinte comandos:
1 2 |
# service apache2 status # service mysql status |
Configuração da pasta /www
Adicionando um grupo no servidor:
1 |
# addgroup webdeveloper |
Criando os usuários que são programadores:
1 2 |
# adduser programador1 # adduser programador2 |
Adicionando os usuários ao grupo webdeveloper:
1 2 |
# adduser programador1 webdeveloper # adduser programador2 webdeveloper |
Para finalizar essa parte, vamos alterar o grupo proprietário da pasta /www para webdeveloper e alterar as permissões:
1 2 |
# chgrp webdeveloper /var/www # chmod 775 -R /var/www |
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:
1 2 3 |
<?php echo phpinfo(); ?> |
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:
1 |
# mysql -u root -p |
Criando um banco de dados:
1 |
mysql> CREATE DATABASE DB_BLOG; |
Criando um usuário e liberando o acesso remoto colocando ‘%’ no lugar do IP:
1 |
mysql> CREATE USER 'programador'@'%' IDENTIFIED BY '123456'; |
Concedendo privilégios e alterando permissões do usuário programador, ele poderá acessar somente o banco de dados DB_BLOG:
1 |
mysql> GRANT ALL PRIVILEGES ON DB_BLOG.* TO 'programador'@'%' WITH GRANT OPTION; |
Recarregando os privilégios com o comando:
1 |
mysql> FLUSH PRIVILEGES; |
1 |
mysql> exit; |
Último passo e talvez o mais importante, temos que alterar um parâmetro no arquivo /etc/mysql/my.cnf:
1 |
# vi /etc/mysql/my.cnf |
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.