FACULDADE DE TECNOLOGIA SENAC GOIÁS SEGURANÇA DA INFORMAÇÃO Projeto Integrador Programação para Internet AYLSON SANTOS EDFRANCIS MARQUES HEVERTHON LUIZ THIAGO SHITINOE
AYLSON SANTOS EDFRANCIS MARQUES HEVERTHON LUIZ THIAGO SHITINOE Projeto Integrador Programação para Internet
Introdução Ao acessar qualquer site, há um servidor por trás daquele endereço responsável por disponibilizar as páginas e todos os demais recursos que você pode acessar. Assim, quando você envia um e-mail através de um formulário, coloca uma mensagem em um fórum de discussão, faz uma compra on-line, etc, um servidor Web (ou um conjunto de servidores) é responsável por processar todas essas informações.. O projeto consiste na preparação de um servidor web e demais serviços para funcionamento de aplicação desenvolvida em sala.. PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, como por exemplo a Wikipédia. PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto. Hoje, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados, contando com recursos como: -Consultas complexas -Chaves estrangeiras -Integridade transacional -Controle de concorrência multi-versão -Suporte ao modelo híbrido objeto-relacional -Ele tem facilidade de Acesso -Gatilhos -Visões -Linguagem Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java, PL/Perl) para Procedimentos armazenados -Indexação por texto -Estrutura para guardar dados Georeferenciados PostGIS
Implementações. Apache PHP Postgresql no CentOS 1) Abra o shell e logue como root: No CentOS e Fedora o pacote chama-se httpd; 2) Instalando o Apache: # yum install httpd Após a instalação, é necessário rodar o comando chkconfig para que ele seja ativado no boot: # chkconfig httpd on 3) Para iniciar o serviço temos duas opções de comandos: # service httpd start OU # /etc/init.d/httpd start start: Inicia o serviço stop: Para o serviço restart: Para e inicia o serviço reload: Apenas atualiza a configuração, sem para o serviço. Após iniciar o serviço, abra o navegador e digite, para testar o serviço: http://127.0.0.1 Se for carregada a página inicial do APACHE, significa que a instalação foi concluída com sucesso! Todas as configurações do Apache no CentOS e Fedora ficam no arquivo: /etc/httpd/conf/httpd.conf Os sites ficam concentrados dentro do diretório: /var/www/html/ 4) Instalando o suporte a PHP: # yum install php 5) Instalando o módulo PHP para fazer a junção com Postgresql: # yum install php-pgsql Para que as alterações entrem em vigor, reinicie o Apache: # service httpd restart
Para verificar se o suporte a PHP esta ativo, crie um arquivo com o nome teste.php dentro da pasta /var/www/html/ que contenha a seguinte linha: <?php phpinfo( );?> Abra o seu navegador e digite o endereço: http://127.0.0.1/teste.php 6) Instalando o Postgresql com todas as suas dependências: # yum install postgresql*.* Iniciando o serviço e ativando-o no boot: # service postgresql start # chkconfig postgresql on Os arquivos de configuração do Postgresql se encontram dentro da pasta: /var/lib/pgsql/data/ Acesse esse diretório e vamos editar os arquivos de configuração: # cd /var/lib/pgsql/data # vi pg_hba.conf No final do arquivo deixe as linhas conforme o exemplo abaixo: # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: Libera o acesso para a máquina local sem senha: host all all 127.0.0.1/32 trust Libera o acesso para a rede local sem senha: host all all 192.168.0.0/24 trust # Libera o acesso externo sem senha host all all 0,0,0,0 0,0,0,0 trust # IPv6 local connections: #host all all ::1/128 ident sameuser Para que as alterações entrem em vigor reinicie o serviço: # service postgresql restart
Agora vamos editar o arquivo postgresql.conf: # vi postgresql.conf Descomente e modifique as linhas abaixo conforme o exemplo: # # CONNECTIONS AND AUTHENTICATION # # Connection Settings - # Descomente, essa linha faz com que o Postgresql aceite conexões de qualquer ip. listen_addresses = * # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to localhost, * = all # Descomente as linha abaixo, port = 5432 max_connections = 500 Para que as alterações entrem em vigor reinicie o serviço: # service postgresql restart Alguns comandos básicos de Postgresql: Criando uma base de dados chamada microcamp # createdb -U postgres microcamp Listando as bases de dados dentro do banco: # psql -U postgres -l Entrando dentro da base de dados microcamp # psql -U postgres microcamp # Listando o conteúdo da base de dados: frigo2=# \d # Atribuindo uma senha para a base de dados frigo2=# alter user postgres with encrypted password senha ; Para sair da base de dados use as teclas CTRL + D simultaneamente.
Após atribuido a senha a base de dados é necessário editar novamente o arquivo pg_hba.conf, trocando os métodos trust por md5 para que a senha seja requisitada ao tentar a conexão, lembrando que o arquivo se encontra dentro do diretório /var/lib/pgsql/data. # cd /var/lib/pgsql/data # vi pg_hba.conf # TYPE DATABASE USER CIDR-ADDRESS METHOD # local is for Unix domain socket connections only local all all md5 # IPv4 local connections: # Libera o acesso para a máquina local sem senha host all all 127.0.0.1/32 md5 # Libera o acesso para a rede local sem senha host all all 192.168.0.0/24 md5 # Libera o acesso externo sem senha host all all 0,0,0,0 0,0,0,0 md5 # IPv6 local connections: #host all all ::1/128 ident sameuser Para que as alterações entrem em vigor reinicie o serviço: # service postgresql restart Agora vamos testar a conexão com o Postgresql, crie um arquivo chamado conexao.inc.php dentro do diretório /var/www/html e adicione as linhas abaixo: <?php $strconexao= host=localhost user=postgres dbname=frigo2 password=frigo13579 port=5432 ; $conexao=pg_connect($strconexao); if(!$conexao){ echo Erro na conexcao:. pg_last_error($conexao); }?> Agora crie um arquivo chamado consultar_todos.php e adicione as linhas abaixo: <?php
$strconexao= host=localhost user=postgres dbname=frigo2 password=frigo13579 port=5432 ; $conexao=pg_connect($strconexao); if(!$conexao){ echo Erro na conexcao:. pg_last_error($conexao); }?>
Conclusão Com essa configuração nosso servidor esta pronto para receber a aplicação que usa o php interagindo com o postgresql.