Mudanças entre as edições de "Projeto Integrador - 2011.1 - Fenrir"
(→DNS) |
|||
Linha 338: | Linha 338: | ||
== Programação para Redes de Computadores == | == Programação para Redes de Computadores == | ||
+ | |||
+ | '''Todas as páginas têm, como medida de segurança, uma seção(session), para impedir o acesso não autorizado às páginas, que têm caráter administrativo. Segue a configuração de sessão padrão:''' | ||
+ | |||
+ | <nowiki><? | ||
+ | session_start();//inicia a sessão | ||
+ | if (isset($_SESSION['aut'])){ //testa se a seção é válida com um laço if - Se não for, vai para a index.php, se for, continua para o resto da página. | ||
+ | header ("location: admin.php"); | ||
+ | }else{ | ||
+ | |||
+ | //resto da página | ||
+ | } | ||
+ | ?></nowiki> | ||
+ | |||
+ | |||
+ | '''Página index:''' | ||
+ | ''foto index'' | ||
+ | <nowiki><? | ||
+ | session_start(); | ||
+ | if (isset($_SESSION['aut'])){ | ||
+ | header ("location: admin.php"); | ||
+ | }else{ | ||
+ | ?> | ||
+ | <html> | ||
+ | <head> | ||
+ | <meta http-equiv="Content-Type" | ||
+ | content="text/html; charset=utf-8"> | ||
+ | <title>AdministraÃÃo de usuÃrios - Fenrir</title> | ||
+ | <style type="text/css"> | ||
+ | <!-- | ||
+ | html, body, form, fieldset { | ||
+ | margin: 0px; | ||
+ | padding: 0; | ||
+ | } | ||
+ | body { | ||
+ | background: #FFF; | ||
+ | color: #000; | ||
+ | font-family: "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif; | ||
+ | line-height: 140%; | ||
+ | font-size:12px; | ||
+ | color:#fff; | ||
+ | } | ||
+ | #login { | ||
+ | position:absolute; | ||
+ | width:460px; | ||
+ | height:210px; | ||
+ | z-index:1; | ||
+ | left: 50%; | ||
+ | top: 50%; | ||
+ | margin-left:-230px; | ||
+ | margin-top:-105px; | ||
+ | background:url(logo.jpg) center no-repeat #fff; | ||
+ | } | ||
+ | .inputbox { | ||
+ | color: #666; | ||
+ | font-size: 11px; | ||
+ | margin: 2px 0 0 5px; | ||
+ | padding: 2px; | ||
+ | height:15px; | ||
+ | width:166px; | ||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | '''A seguir, a página admin.php, que funciona como uma página principal, mostrando uma tabela com os clientes cadastrados no sistema, além de dar a opção de incluir, deletar ou alterar os dados dos cadastrados.''' | ||
+ | ''foto admin'' | ||
+ | |||
+ | <nowiki><? | ||
+ | session_start(); | ||
+ | if (!isset ( $_SESSION['aut'])){ | ||
+ | header ("location: index.php"); | ||
+ | }else{ | ||
+ | |||
+ | ?> | ||
+ | |||
+ | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
+ | <head> | ||
+ | |||
+ | <title>Servidor Fenrir</title> | ||
+ | <meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" /> | ||
+ | </head> | ||
+ | <style> | ||
+ | tr.linha, div.linha { | ||
+ | background-color:#75AC68; | ||
+ | } | ||
+ | </style> | ||
+ | <body> | ||
+ | <body background="metal.jpg"> | ||
+ | |||
+ | <? | ||
+ | //conectando no servidor | ||
+ | |||
+ | |||
+ | $conexao = mysql_connect("localhost","fenrir","20bmw11"); | ||
+ | |||
+ | //selecao da base de dados | ||
+ | $base_ok = mysql_select_db("fenrir",$conexao); | ||
+ | |||
+ | //obtendo os registro da tabela contatos | ||
+ | $consulta = "SELECT * from admin"; | ||
+ | $resultado = mysql_query($consulta,$conexao); | ||
+ | ?> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <p><a href="sair.php">Sair</a></p> | ||
+ | |||
+ | <table border="0" bgcolor=FFFFFF style="width: 100%" cellpascing="1" cellpadding="0"> | ||
+ | <caption></caption> | ||
+ | <col /> | ||
+ | <col /> | ||
+ | <col /> | ||
+ | <col /> | ||
+ | <col /> | ||
+ | <col /> | ||
+ | <tbody> | ||
+ | <tr> | ||
+ | <td height="23" background="fundo.jpg" > Usuario </td> | ||
+ | <td height="23" background="fundo.jpg"> Senha</td> | ||
+ | <td height="23" background="fundo.jpg" align="center">Dominio </td> | ||
+ | <td height="23" background="fundo.jpg" align="center">E-mail</td> | ||
+ | <td height="23" background="fundo.jpg" align="center">Nome</td> | ||
+ | <td height="23" background="fundo.jpg" align="center">Acao</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> </td> | ||
+ | <td> </td> | ||
+ | <td> </td> | ||
+ | <td> </td> | ||
+ | <td> </td> | ||
+ | <td> </td> | ||
+ | </tr> | ||
+ | <? | ||
+ | $i=0; | ||
+ | while($linha = mysql_fetch_array($resultado)){ | ||
+ | $i++; | ||
+ | if ($i%2==0) $classe = " class='linha'"; else $classe = ""; | ||
+ | ?> | ||
+ | <tr <?=$classe?>> | ||
+ | |||
+ | <td><a href="alterar.php?user=<? echo $linha['usuario'];?>&cliente=<? echo $linha['cliente'];?>&dmn=<? echo $linha['dominio'];?>&codigo=<? echo $linha['id'];?>&pass=<? echo $linha['senha']; ?>"> <? echo $linha['usuario'];?> </a></td> | ||
+ | <td> <? echo $linha['senha']; ?> </td> | ||
+ | <td> <? echo $linha['dominio']; ?></td> | ||
+ | <td> <? echo $linha['usuario']; ?>@<? echo $linha['dominio']; ?>.fenrir.sj.ifsc.edu.br </td> | ||
+ | <td> <? echo $linha['cliente']; ?> </td> | ||
+ | <td><a href="excluir.php?usuario=<? echo $linha['usuario'];?>&codigo=<? echo $linha['id']; ?>&dominio=<? echo $linha['dominio'];?>&cliente=<? echo $linha['cliente']; ?>">Excluir </a></td> | ||
+ | <? | ||
+ | } | ||
+ | //BAIXO ESTÁ O CODIGO PARA COLOCAR IMAGEM DE ATUALIZAR NO NOME DO USUARIO | ||
+ | //<img border="0" src="atualizar.jpg" width="30" height="30"></a><? echo $linha['usuario']; não esquece de fechar com o INTERROGAÇÃO SINAL DE MAIOR !!!!!!!!!!!!!!!!!! | ||
+ | ?> | ||
+ | <tr> | ||
+ | <td height="23" background="fundo.jpg" > </td> | ||
+ | <td height="23" background="fundo.jpg"> </td> | ||
+ | <td height="23" background="fundo.jpg" align="center"> </td> | ||
+ | <td height="23" background="fundo.jpg" align="center"></td> | ||
+ | <td height="23" background="fundo.jpg" align="center"> . </td> | ||
+ | </tr> | ||
+ | |||
+ | |||
+ | </tr> | ||
+ | </tbody> | ||
+ | </table> | ||
+ | |||
+ | <p></p> | ||
+ | |||
+ | <p></p> | ||
+ | |||
+ | <p></p> | ||
+ | |||
+ | <p></p> | ||
+ | |||
+ | <p><a href="incluir.php"><img border="0" src="cadastro.gif" width="30" height="30" </a>Adicionar Novo Dominio | ||
+ | </body> | ||
+ | </html> | ||
+ | <? | ||
+ | //liberando a consulta | ||
+ | mysql_free_result($resultado); | ||
+ | |||
+ | //fechando a conexao | ||
+ | mysql_close($conexao); | ||
+ | } | ||
+ | ?></nowiki> | ||
+ | |||
== Instalação de Equipamento de Redes == | == Instalação de Equipamento de Redes == | ||
''Diagrama da rede:'' | ''Diagrama da rede:'' |
Edição das 20h40min de 11 de julho de 2011
Equipe Fenrir
- Beatriz da Silveira
- Luana Beatriz da Silva
- Marco Aurelio
- Sergio Araujo Stahelin
- William Jamir Silva
1º Dia - 13/06/2011
- Atividades
- Sistema Operacional:Ubuntu-Server
- Definido Sistema de Arquivo:
- Nome da Máquina: fenrir
- Nome do Domínio: fenrir.sj.ifsc.edu.br
2º Dia 14/06/2011
- Recebemos do Professor Saul as orientações necessarias para realizar a instalação do Cabeamento Estruturado
3º Dia 15/06/2011
- Equipe foi subdividida em:
- Sergio e Luana - IER
- Marco, Beatriz e WIlliam - Gerência de Redes
- Marco - Apache
- Beatriz - DNS
- William - Postfix
- Status das Atividades
- DNS
- Concluido a instalação Básica.
- Planejando a implentação de sub-dominios
- Postfix
- Concluido a instalação Básica.
- Planejando a implentação de sub-dominios nos endereços de e-mails
- Apache
- Concluido a instalação Básica.
- Planejando a implentação de sub-dominios nas paginas web
- DNS
Documentação
Gerência de Redes
DNS
arquivo /etc/bind/named.conf
/ This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; include "/etc/bind/minastirith.fenrir.zone"; include "/etc/bind/luana.fenrir.zone"; include "/etc/bind/azaghal.fenrir.zone"; include "/etc/bind/marco.fenrir.zone"; include "/etc/bind/sextafeira.fenrir.zone"; include "/etc/bind/novoteste.fenrir.zone"; include "/etc/bind/hello.fenrir.zone";
arquivo /etc/bind/named.conf.local
// // Do any local configuration here //
// Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "fenrir.sj.ifsc.edu.br" { type master; file "/etc/bind/fenrir.zone"; };
zone "37.135.200.in-addr.arpa" { type master; file"/etc/bind/37.135.200.in-addr.arpa"; };
arquivo /etc/bind/fenrir.zone
Neste arquivo estão as configurações do Fenrir
$TTL 60 @ IN SOA ns1.fenrir.sj.ifsc.edu.br. root ( 2011061600 ;serial 60 ;refresh 60 ;TTL 60 ; 60 ; ) IN NS ns1.fenrir.sj.ifsc.edu.br. IN MX 0 mail.fenrir.sj.ifsc.edu.br. IN A 200.135.37.99 batman IN NS batman.fenrir.sj.ifsc.edu.br. sheldon IN NS sheldon.fenrir.sj.ifsc.edu.br.
$ORIGIN fenrir.sj.ifsc.edu.br. A 200.135.37.99 ns1 A 200.135.37.99 www A 200.135.37.99 mail A 200.135.37.99 sheldon A 200.135.37.99 batman A 200.135.37.99
arquivo 37.135.200.in-addr.arpa
Neste arquivo se encontra as configurações do dns reverso para o dominio fenrir
$TTL 86400 @ IN SOA ns1.fenrir.sj.ifsc.edu.br. root ( 2011061600 60 60 60 60 )
IN NS ns1.fenrir.sj.ifsc.edu.br. IN MX 0 ns1.fenrir.sj.ifsc.edu.br. 99 PTR fenrir.sj.ifsc.edu.br.
Abaxo estão os scrips, ja comentados, para adicinar remover e alterar o subdominos no dns.
#!/bin/bash #adicinar subdominio #subdominio conf=$1 if [ ! "$#" -lt 1 ]; then #Adiciona no named.conf o subdonio echo "include \"/etc/bind/$conf.fenrir.zone\";" >> /etc/bind/named.conf #Editam dois arquivos modelo de configuracao do dsn substituindo a string "modelo" pelo subdominio sed s/modelo/$conf/g /etc/bind/scripsmodelo/modelo.fenrir.config > /etc/bind/$conf.fenrir.config sed s/modelo/$conf/g /etc/bind/scripsmodelo/modelo.fenrir.zone > /etc/bind/$conf.fenrir.zone #reinicia o servidor service bind9 restart fi
#!/bin/bash #remover subdominio #dominio conf=$1 if [ ! "$#" -lt "1" ] then #retira do named.conf a linha onde o dominio esta localizado. Isso por si só"desativa" o dominio sed -i /$conf.fenrir/Id /etc/bind/named.conf #para nao acumular lixo no /etc/bind os outros arquivos de configuracao sao remoridos rm /etc/bind/$conf.fenrir.config rm /etc/bind/$conf.fenrir.zone service bind9 restart fi
#!/bin/bash #alterar dominio #dominio conf=$1 #novo dominio conf2=$2 if [ ! "$#" -lt 1 ]; then #troca o antido dominio pelo novo no named.conf sed -i s/$conf.fenrir/$conf2.fenrir/g /etc/bind/named.conf #troca o dominio antigo pelo novo nos arquivos de configuracao sed -i s/$conf/$conf2/g /etc/bind/$conf.fenrir.config sed -i s/$conf/$conf2/g /etc/bind/$conf.fenrir.zone #altera o nome dos arquivos de configuracao mv /etc/bind/$conf.fenrir.zone /etc/bind/$conf2.fenrir.zone mv /etc/bind/$conf.fenrir.config /etc/bind/$conf2.fenrir.config service bind9 restart fi
Postfix
RoundClub
Apache
Arquivo default do apache salvo em /etc/apache2/sites-available e em /etc/apache2/sites-enabled
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Ao criar uma página, o seguinte script é executado:
#!/bin/bash #Testa se os argumentos existem if [ ! "$#" -lt "1" ]; then #seta a variável "$dominio" com o valor do primeiro argumento dominio=$1 #cria o diretorio de cada subdominio mkdir /var/www/$dominio #copia uma página index padrão para o diretório criando cp /var/scripts/index.php /var/www/$dominio/ #cria um arquivo vazio, que posteriormente vai conter as informações do subdominio criado touch /etc/apache2/sites-available/$dominio #copia as informações de um arquivo de subdominio padrão, substituindo a palavra "dominiou" pela palavra contida na variável "$dominio" sed s/dominiou/$dominio/g /var/scripts/hosts > /etc/apache2/sites-available/$dominio #ativa o site criado a2ensite $dominio #recarrega o apache service apache2 reload fi #Fim do programa
Ao alterar uma página, o seguinte script é executado:
#!/bin/bash #Verirfica se existem ao menos dois argumentos if [ ! "$#" -lt "2" ]; then #dominio antigo old=$1 #dominio novo new=$2 #criando a pasta nova e movendo os arquivos antigos para ela mv /var/www/$old /var/www/$new #desativando o site antigo rm /etc/apache2/sites-enabled/$old rm /etc/apache2/sites-available/$old #criando um arquivo vazio, e em seguida envia o conteudo do arquivo padrao para o novo arquivo, contendo os dados do novo site touch /etc/apache2/sites-available/$new sed s/dominiou/$new/g /var/scripts/hosts > /etc/apache2/sites-available/$new #ativando o site a2ensite $new service apache2 reload fi #Fim do script
Os scripts acima utilizam o sed para agilizar a criação do arquivo de configuração, usando o arquivo seguinte, substituindo a palavra "dominiou" pelo nome desejado para o submdominio. E em seguinda o copia para sites-available, e o ativando com o comando a2ensite
<VirtualHost *:80> ServerName dominiou.fenrir.sj.ifsc.edu.br DocumentRoot /var/www/dominiou ServerAlias *dominiou.fenrir.sj.ifsc.edu.br ErrorLog /var/log/apache2/dominiou-error.log <Directory /var/www/dominiou> Options Indexes DirectoryIndex index.html index.php order allow,deny allow from all </Directory> </VirtualHost>
Ao excluir uma página, o seguinte script é executado:
#!/bin/bash #Verifica se exite ao menos um argumento valido if [ ! "$#" -lt "1" ]; then #Seta a variável "$dominio" com o domínio desejado dominio=$1 #remove a pasta do arquivo antigo rm -r /var/www/$dominio #remove os arquivos do site antigo rm /etc/apache2/sites-enabled/$dominio rm /etc/apache2/sites-available/$dominio #recarrega o apache service apache2 reload fi #fim do programa
Programação para Redes de Computadores
Todas as páginas têm, como medida de segurança, uma seção(session), para impedir o acesso não autorizado às páginas, que têm caráter administrativo. Segue a configuração de sessão padrão:
<? session_start();//inicia a sessão if (isset($_SESSION['aut'])){ //testa se a seção é válida com um laço if - Se não for, vai para a index.php, se for, continua para o resto da página. header ("location: admin.php"); }else{ //resto da página } ?>
Página index:
foto index
<? session_start(); if (isset($_SESSION['aut'])){ header ("location: admin.php"); }else{ ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>AdministraÃÃo de usuÃrios - Fenrir</title> <style type="text/css"> <!-- html, body, form, fieldset { margin: 0px; padding: 0; } body { background: #FFF; color: #000; font-family: "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif; line-height: 140%; font-size:12px; color:#fff; } #login { position:absolute; width:460px; height:210px; z-index:1; left: 50%; top: 50%; margin-left:-230px; margin-top:-105px; background:url(logo.jpg) center no-repeat #fff; } .inputbox { color: #666; font-size: 11px; margin: 2px 0 0 5px; padding: 2px; height:15px; width:166px; }
A seguir, a página admin.php, que funciona como uma página principal, mostrando uma tabela com os clientes cadastrados no sistema, além de dar a opção de incluir, deletar ou alterar os dados dos cadastrados. foto admin
<? session_start(); if (!isset ( $_SESSION['aut'])){ header ("location: index.php"); }else{ ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Servidor Fenrir</title> <meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" /> </head> <style> tr.linha, div.linha { background-color:#75AC68; } </style> <body> <body background="metal.jpg"> <? //conectando no servidor $conexao = mysql_connect("localhost","fenrir","20bmw11"); //selecao da base de dados $base_ok = mysql_select_db("fenrir",$conexao); //obtendo os registro da tabela contatos $consulta = "SELECT * from admin"; $resultado = mysql_query($consulta,$conexao); ?> <br> <br> <br> <br> <br> <br> <br> <br> <p><a href="sair.php">Sair</a></p> <table border="0" bgcolor=FFFFFF style="width: 100%" cellpascing="1" cellpadding="0"> <caption></caption> <col /> <col /> <col /> <col /> <col /> <col /> <tbody> <tr> <td height="23" background="fundo.jpg" > Usuario </td> <td height="23" background="fundo.jpg"> Senha</td> <td height="23" background="fundo.jpg" align="center">Dominio </td> <td height="23" background="fundo.jpg" align="center">E-mail</td> <td height="23" background="fundo.jpg" align="center">Nome</td> <td height="23" background="fundo.jpg" align="center">Acao</td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <? $i=0; while($linha = mysql_fetch_array($resultado)){ $i++; if ($i%2==0) $classe = " class='linha'"; else $classe = ""; ?> <tr <?=$classe?>> <td><a href="alterar.php?user=<? echo $linha['usuario'];?>&cliente=<? echo $linha['cliente'];?>&dmn=<? echo $linha['dominio'];?>&codigo=<? echo $linha['id'];?>&pass=<? echo $linha['senha']; ?>"> <? echo $linha['usuario'];?> </a></td> <td> <? echo $linha['senha']; ?> </td> <td> <? echo $linha['dominio']; ?></td> <td> <? echo $linha['usuario']; ?>@<? echo $linha['dominio']; ?>.fenrir.sj.ifsc.edu.br </td> <td> <? echo $linha['cliente']; ?> </td> <td><a href="excluir.php?usuario=<? echo $linha['usuario'];?>&codigo=<? echo $linha['id']; ?>&dominio=<? echo $linha['dominio'];?>&cliente=<? echo $linha['cliente']; ?>">Excluir </a></td> <? } //BAIXO ESTÁ O CODIGO PARA COLOCAR IMAGEM DE ATUALIZAR NO NOME DO USUARIO //<img border="0" src="atualizar.jpg" width="30" height="30"></a><? echo $linha['usuario']; não esquece de fechar com o INTERROGAÇÃO SINAL DE MAIOR !!!!!!!!!!!!!!!!!! ?> <tr> <td height="23" background="fundo.jpg" > </td> <td height="23" background="fundo.jpg"> </td> <td height="23" background="fundo.jpg" align="center"> </td> <td height="23" background="fundo.jpg" align="center"></td> <td height="23" background="fundo.jpg" align="center"> . </td> </tr> </tr> </tbody> </table> <p></p> <p></p> <p></p> <p></p> <p><a href="incluir.php"><img border="0" src="cadastro.gif" width="30" height="30" </a>Adicionar Novo Dominio </body> </html> <? //liberando a consulta mysql_free_result($resultado); //fechando a conexao mysql_close($conexao); } ?>
Instalação de Equipamento de Redes
Diagrama da rede: