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:
# apt-get update
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:
# apt-get install firebird2.5-super
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:
# apt-get install squid
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.
Digite no terminal, como root:
# apt-get install flamerobin
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:
# apt-get install lazarus
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.
No terminal, digite como root:
# mkdir /dados
# mkdir /fontes
Agora vamos dar permissões totais para as pastas. Digite no terminal, ainda como root:
# chmod 777 /dados
# 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
- User Name: sysdba
- Password: masterkey
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).
CREATE TABLE USUARIO
(
USUARIO Varchar(10) NOT NULL,
SENHA Varchar(10) NOT NULL,
PRIMARY KEY (USUARIO)
);
CREATE TABLE PAGINA
(
PAGINA Varchar(50) NOT NULL,
PESQUISA Varchar(255) NOT NULL,
USUARIOS Varchar(200) NOT NULL,
PRIMARY KEY (PAGINA)
);
Clique em "Comitar" (é um "V" verde, fica do lado do botão "Executar").
Agora, copie o código abaixo e cole no FlameRobin:
INSERT INTO USUARIO (USUARIO, SENHA)
VALUES ('admin', 'admin');
INSERT INTO USUARIO (USUARIO, SENHA)
VALUES ('user', 'user');
INSERT INTO PAGINA (PAGINA, PESQUISA, USUARIOS)
VALUES ('Viva o
Linux', '%vivaolinux.com.br', 'admin;user');
INSERT INTO PAGINA (PAGINA, PESQUISA, USUARIOS)
VALUES ('Todas', '%', 'admin');
Clique em executar e depois em "Comitar".
Foram executados as seguintes ações no banco de dados:
- Criadas as tabelas usuario e pagina;
- Criados os usuários admin e user. A senha dos usuários é igual ao nome;
- O usuário admin terá permissão de acessar qualquer página;
- O usuário user irá acessar apenas a página: http://www.vivaolinux.com.br