Squid - Autenticação e controle de acesso a base de dados Firebird [Artigo] - página 2
[ Hits: 24.971 ]
Precisaremos, para compilar e utilizar o nosso módulo, dos seguintes itens:
Servidor de banco de dados Firebird;
Servidor proxy Squid;
Front-end para o banco de dados Firebird - FlameRobin;
IDE para Free Pascal - Lazarus.
Estou partindo do princípio que você está utilizando uma máquina sem nada instalado, apenas para testes. Caso você já tenha alguns itens instalados, não é necessário fazer uma nova instalação.
Em relação à segurança, as pastas criadas para o banco de dados e os fontes ficaram com permissões totais para todos os usuários. Isto não é sabidamente uma coisa boa, mas foi feito assim para facilitar para os usuários. Você pode mudar isso de acordo com sua necessidade.
Será necessário digitar alguns comandos no terminal. Para abrir o terminal você pode pressionar as teclas ALT + F2. Na caixa que abrir, digite xterm. Por convenção, sempre que o comando for executado como root, ele será precedido de "#". Caso seja executado como usuário comum, será precedido de "$".
Não é necessário incluir estes caracteres antes do comando. Eles estão aí apenas para informação. Para utilizar o root, você pode digitar no terminal o comando su. Quando for solicitado, digite a senha de root.
Vamos então começar as instalações. Abra um terminal em modo root e digite:
Este comando irá atualizar a lista de pacotes disponíveis. Isto é importante para garantir que você só utilize softwares mais atuais.
Agora, vamos instalar o banco de dados Firebird, digite no terminal:
Depois de concluída a instalação, digite:
# dpkg-reconfigure firebird2.5-super
O sistema irá perguntar se deseja que o banco de dados inicie automaticamente. Escolha sim. Depois ele vai emitir um aviso falando sobre a senha, clique em OK. No próximo passo, será solicitada a criação da senha. Sugiro que utilize a senha padrão masterkey para facilitar nosso teste.
Caso você prefira utilizar uma outra senha, basta digitar no campo de texto, mas na hora das configurações do módulo para o Squid, será necessário modificar esta configuração.
Agora vamos criar um link simbólico da biblioteca do Firebird para a pasta /usr/lib:
# ln /usr/lib/libfbclient.so.2.5.0 /usr/lib/libfbclient.so
Depois do Firebird instalado, vamos partir para a instalação do Squid. Também é muito simples, basta digitar, como root:
Pronto! Mais simples que isso, impossível.
No Debian, existe a opção de instalar o Squid 3, mas observei que ele tem alguns problemas que não existem no Squid 2.7. O problema que ocorre com o Squid 3 é que, em alguns casos, ele fica pedindo o login do usuário para cada elemento da página, o que é muito chato.
Não sei se existe alguma solução para este problema, mas acho que por enquanto, podemos utilizar o Squid 2.7, que funciona perfeitamente.
Agora, vamos instalar o FlameRobin, que é o front-end para o banco de dados Firebird. É nele que nós vamos criar as tabelas para gravar os usuários e páginas permitidas.
Pronto! Muito simples.
Vamos instalar agora o Lazarus, que é um ambiente de desenvolvimento para Free Pascal, a nossa linguagem escolhida para compilar nosso módulo.
Digite, como root, no terminal:
Basta aguardar o download que, conforme sua conexão com a Internet, pode demorar um pouco.
Agora todos os nossos pré-requisitos estão preenchidos. O Squid e o Firebird são executados como serviços e rodam em segundo plano. O FlameRobin e o Lazarus ficam no Menu "Desenvolvimento".
Vamos criar duas pastas para colocar nosso banco de dados e os fontes do módulo para compilar.
# mkdir /fontes
Agora vamos dar permissões totais para as pastas. Digite no terminal, ainda como root:
# chmod 777 /fontes
Pronto, nosso ambiente já está completo para a criação do módulo.
Criando o banco de dados no Firebird
Abra o FlameRobin, que fica no menu Desenvolvimento.
Na primeira execução ele exibe uma mensagem informando que não encontrou a arquivo de configuração. Isto é normal, clique em OK para continuar.
O próximo passo é criar o banco de dados. Clique com o botão direito em "Localhost" e depois em "Crate new database".
Preencha os dados solicitados com a seguinte configuração:
Display name: FB
Database path: /dados/dados.fdb
Depois clique em "Create", o banco será então criado no disco. Dê um duplo clique no item "FB" para abrir o banco de dados criado.
Agora vamos à criação das tabelas. Clique em: Database → Run a query
Cole o código abaixo dentro da tela de comando e clique em "Executar" (é um quadrado roxo com um triangulo deitado).