configuração - wordpress.com...para toda e qualquer configuração realizada no arquivo de...
Post on 28-May-2020
21 Views
Preview:
TRANSCRIPT
1
Configuraçãoplaca de rede
eth0 e eth1
eth0 eth1
2
Exemplo1(Servidor utilizando duas placas de rede)
Eth0 Eth 1
Servidor
# nano /etc/network/interfaces
auto lo iface lo inet loopback
# Interface Externa Eth0
auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
# Interface Interna Eth1
auto eth1 allow-hotplug eth1 iface eth1 inet static address 192.168.2.100 netmask 255.255.255.0 network 192.168.2.0 broadcast 192.168.2.255 # gateway 192.168.2.1 // não poderá definir gateway na placa eth1
# /etc/init.d/networking restart# ifconfig -a
Obs.: O servidor iptables que definirá regras para o tráfego para a eth0
3
Exemplo2 (Sevidores máquinas virtuais )
eth0 ( Nat ) eth 1 (rede interna )
Servidor Virtual
# nano /etc/network/interfaces
auto lo iface lo inet loopback
# Interface Externa Eth0
auto eth0 allow-hotplug eth0 iface eth0 inet static address 10.0.2.15netmask 255.255.255.0 network 10.0.2.0 broadcast 10.0.2.255 gateway 10.0.2.1
# Interface Interna Eth1
auto eth1 allow-hotplug eth1 iface eth1 inet static address 10.0.4.15 netmask 255.255.255.0 network 10.0.4.0 broadcast 10.0.4.255# gateway 192.168.2.1 // não poderá definir gateway na placa eth1
# /etc/init.d/networking restart# ifconfig -a
Obs.: O servidor iptables que definirá regras para o tráfego para a eth0
4
Exemplo3( Servidores configurado num notebook )
Servidor Virtual
# nano /etc/network/interfaces
auto lo iface lo inet loopback
# Interface Externa wlan0
auto wlan0allow-hotplug wlan0 iface wlan0 inet static address 192.168.0.100netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
# Interface Interna Eth1
auto eth0allow-hotplug eth0 iface eth0 inet static address 192.168.2.100 netmask 255.255.255.0 network 192.168.2.0broadcast 192.168.2.255# gateway 192.168.2.1 // não poderá definir gateway na placa eth1
# /etc/init.d/networking restart# ifconfig -a
Obs.: O servidor iptables que definirá regras para o tráfego para a eth0
5
wlan0 eth0
6
Servidores DHCP
1° Passo – Caso o acesso à internete seja através de um Access Point, devemos reserva um IP fixo, acessando-o através de um navegador internet no seguinte endereço, caso seja o padrão não tenha sido alterado :
http://192.168.0.1/
2° Passo – Acesse a aba superior de “setup” e pela lateral a opção “Network Settings” , na opção “24 - DHCP Reservation” selecione a opção “computer Name” na listagem que irá aparecer o seu computador, clique em << para adicionar o um IP fixo para o seu computador. Conforme abaixo:
7
Servidor dhcp(exemplo 1)
1° Passo - Definir o nome do servidor, onde não pode ser igual a nenhum outro no mundo. Para fazermos a verificação, no terminal entre como seguinte comando:
whois nomeescolhido.com.br
ex: whois jjej.net.br
deverá retornar a seguinte informação:
% Copyright (c) Nic.br % The use of the data below is only permitted as described in % full by the terms of use (http://registro.br/termo/en.html), % being prohibited its distribution, comercialization or % reproduction, in particular, to use it for advertising or % any similar purpose. % 2012-04-06 18:17:53 (BRT -03:00)
% No match for domain "jjej.net.br"
% Security and mail abuse issues should also be addressed to % cert.br, http://www.cert.br/, respectivelly to cert@cert.br % and mail-abuse@cert.br % % whois.registro.br accepts only direct match queries. Types % of queries are: domain (.br), ticket, provider, ID, CIDR % block, IP and ASN.
Deveremos também pesquisar no site a disponibilidade :
obs.: por lei devemos registrá-lo,
http://registro.br/
2° Passo - Configurar nome de maquina
Alterar o Hostname
# nano /etc/hostnameservidor
Reinicie o serviço :
# /etc/init.d/hostname.sh
3° Passo - Configurar a lista de hosts
# nano /etc/hosts192.168.0.100 servidor.jjej.net.br servidor // ip da rede externa eth0127.0.0.1 servidor localhost.localdomain localhost127.0.1.1 servidor.jjej.net.br servidor// 127.0.0.1 é o ip da máquina local (sempre será esse )//servidor = nome do computador
8
4° Passo - Configurar o arquivo resolv.confnano /etc/resolv.conf
domain jjej.net.brsearch jjej.net.brnameserver 192.168.0.100 // ip da interface rede externa eth0nameserver 192.168.0.1 // ip do gateway
# endereço IP (189.168.0.136 e 192.168.0.131) são do servidor DHCP do ACCESS Point, # não poderá ser removido, # O IP do servidor eth0 está reservado como fixo # no servidor DHCP do ACCESS POINT # após a ultima linha
nameserver 189.6.0.136 nameserver 189.6.0.131
5° Passo - Configure o arquivo resolv.conf para que não seja alterado com o comando dhclient
# chattr +i /etc/resolv.conf // ativar
# chattr -i /etc/resolv.conf // Desativar
6° Passo – Instalando e configurando o dhcp.Observe que os seguintes arquivos de configuração não exitem : /etc/dhcp/dhcpd.conf e
/etc/default/isc-dhcp-server
7° Passo - instalar o servidor dhcpvamos localizar o arquivo e instalar# apt-get install -y dhcp3-server# apt-cache search dhcp# apt-get install isc-dhcp-dev
8° Passo – acesse por questão de segurança vamos renomear o arquivo de configuração dhcpd., observe que agora possui o arquivo /etc/dhcp/dhcpd.conf
# /etc/dhcp# mov /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old
9° Passo – criar um arquivo novo com o mesmo nome do arquivo renomeado anteriormente.
#nano /etc/dhcp/dhcpd.conf
10° Passo – Inserir as seguintes linhas , lembrando que todas serão finalizadas com ;
ddns-update-style none;
default-lease-time 600;Esta linha controla o tempo de renovação do IP, Estes 600 indica que o servidor irá verificar a cada 10 minutos , se o IP está sendo usado
para passar para outro computador na rede, caso ele não esteja sendo usado.
max-lease-time 7200;Esta linha determina o tempo que cada máquina pode usar um determinado IP.
Authoritative;9
Se um cliente requisitar um endereço que o servidor não conheça, ou seja, o endereço for incorreto para aquele seguimento , o servidor não enviará um DHCPDNAK , o qual dirá para o cliente para parar de usar aquele endereço .
log-facility local7;Indica que o log será a facility local 7. podemos entender como facility a origem dos logs,
ou seja , de onde ele está vindo. Podemos no arquivo de configuração do syslog (servido de dhcpd para um arquivo separado, para facilitar nossa consulta por logs relacionados ao serviço de DHCP . No debian, o arquivo de configuração do syslog fica em /etc/rsyslog.conf a seguinta entrada pode ser adicionada ao mesmo dentro de rules:
local7.* -/var/log/dhcpd.log
restartá-lo o arquivo rsyslog.com /etc/init.d/rsyslog restart
Para visualiar as máquinas que obtiveram ip's dinâmicos : digite:
tail -f /var/log/dhcpd.log
Ainda no mesmo arquivo , vamos configurar o range de IP. Que serão disponibilizados para o uso.Deveremos apontar para a interface de rede eth1 (rede interna)
subnet 192.168.2.0 netmask 255.255.255.0 {Define sua subrede com máscara e abrindo o bloco com {
range 192.168.2.120 192.168.2.140;Define o range, ou seja, defina qual será a faixa de IP´s que os clientes podem usar.
option routers 192.168.2.100;É o gateway padrão , insira o ip fixo da placa de rede interna do servidor (eth1).
option domain-name-servers 192.168.0.100;Aqui você irá especificar os servidores DNS, você instalará o servidor dns apontado para
a placa de externa , ou seja (eth0) : Informe o ip da rede externa do servidor eth0 , declarado também em /etc/resolv.conf
option broadcast-address 192.168.2.255; } Sempre será o último endereço do seguimento, que é o Broadcast, e fecha o bloco com }
6° Passo – Salve e feche esse arquivo , se estiver utiliando o editor nano (Ctrl+o, ctrl +x)Edite o arquivo /etc/default/isc-dhcp-server
nano /etc/default/isc-dhcp-server
7° Passo – Na linha que possuir INTERFACES=” “ , coloque sua placa de rede ( no meu caso, utilizei a wlan0) ou poderá ser eth0.
Ficando assim INTERFACES=”wlan0”
8° Passo – Salve e feche a edição , considerando que esteje usuando o nano (ctrl+o , ctrl + x).
Observação importante
Para toda e qualquer configuração realizada no arquivo de configuração do servidor DHCP, o serviço do mesmo deverá ser reiniciado para que as novas alterações entrem em vigor. 9° Passo – reinicie o serviço:
/etc/init.d/isc-dhcp-server restart10
10° Passo – Caso você tenha necessidade de “amarrar” um IP para um determinado computador , basta adcionar o MAC dessa máquina ( para conseguir o MAC da máquina , localize a linha primeira onde tem Hw no comando ifconfig -a).
11° Passo – insira no arquivo dhcpd.conf as seguintes linhas , inicando um novo bloco:
# Netbook ubunto 11.10
host invader { hardware ethernet 70:5a:b6:0e:7a:e5; fixed-address 192.168.2.141; option host-name "invader"; }
# Netbook Debian Squeeze 6.0
host ns13 { hardware ethernet 70:5a:b6:0e:7a:e5; fixed-address 192.168.2.142; option host-name "ns13"; }
Em “host” coloque o hostname da máquina definido em /etc/hostname.Em “hardware ethernet” coloque o MAC obtido na máquina com o comando “ifconfig”Em “fixed-address” escolha o endereço que ficará amarrado a essa máquina, não se esqueça
de finalizar , fechando o bloco com } Em “option host-name” repinta o nome do hostname.Caso você tenha alterado o nome da máquina em /etc/hostname, encerre a sessão e
inicialize-a novamente : ctrl + alt+ backspace12° Passo – reinicie novamente o servidor dhcp
#/etc/init.d/isc-dhcp-server restart
13° Passo – Verificando o status do serviço DHCP entre com o seguinte comando.
#/etc/init.d/isc-dhcp-server status
14° Passo – Com o servidor DHCP já configurado , podemos realizar um teste a partir de uma estação cliente linux.
Se for de um notebook acessando uma rede wireless, cuidado, pois no access point também possui um servidor DHCP ativo,
Nesse exemplo 1, conecte na interface eth1,Sugerimos abrir uma máquina virtual , configurando a placa de rede no modo Bridge.Terá que subir dentro do range que você estabeleceu.Essa máquina ligada à placa eth1, ainda não terá acesso a internet, pois ainda está faltando a
configuração do servidor squid e iptables.
11
Servidor
DNS
12
Servidor DNS ( direcionada para eth0)
1 - Instalar DNS# apt-get install bind9
2 - Configurar nome de maquina2.1 – conferir nome do computador em Hostname, ( já configurada anteriormente )
# nano /etc/hostname servidor
2.2reinicie o servico se houve alteração: # /etc/init.d/hostname.sh
2.3- conferir lista de Hosts ( já configurada anteriormente )
# nano /etc/hosts
192.168.0.100 servidor.jjej.net.br servidor127.0.0.1 servidor localhost.localdomain localhost127.0.1.1 servidor.jjej.net.br servidor
2.3 - Conferir clientes de DNS ( já configurada anteriormente )
# nano /etc/resolv.conf
domain jjej.net.brsearch jjej.net.brnameserver 192.168.0.100 # ip da maquina eth0 nameserver 192.168.0.1 # gateway eth0
nameserver 189.6.0.136nameserver 189.6.0.131
obs. Configure o resolv.conf depois de o comando :
#chattr +i /etc/resolv.conf
O arquivo vai ficar imutavel e não podera ser alterado, nem pelo root.Para remover esta configuracao basta dar o comando.
#chattr -i /etc/resolv.conf
3 - Criar zonas diretas e inversas
3.1 - Criando zonas diretas e inversas (inserir após a última linha)# cd /etc/bind# nano named.conf.default-zones
zone "jjej.net.br" {type master;file "/etc/bind/db.jjej";
};
zone "0.168.192.in-addr.arpa" {type master;file "/etc/bind/db.0.168.192";
};
13
3.2 - Criar arquivos DB,s
# cd /etc/bind# nano db.jjej
$TTL 86400@ IN SOA servidor.jjej.net.br. root.jjej.net.br. (
1 ;serial3H ;refresh15M ;retry1W ;minimum1D) ;expire
IN NS servidor.jjej.net.br.IN MX 5 mail.jjej.net.br.
servidor IN NS servidor.jjej.net.br.servidor IN A 192.168.0.100www IN A 192.168.0.100ftp IN A 192.168.0.100mail IN A 192.168.0.100
3.2.1 - Reiniciar o servico bind9# /etc/init.d/bind9 restart
3.2.2 - Testar funcionamento das zonas
# nslookup> set q=any> jjej.net.br
Server: 192.168.0.100Address: 192.168.0.100#53
jjej.net.brorigin = servidor.jjej.net.brmail addr = root.jjej.net.brserial = 1refresh = 10800retry = 900expire = 604800minimum = 86400
jjej.net.br nameserver = servidor.jjej.net.br.Jjej.net.br mail exchanger = 5 mail.jjej.net.br
Crie um copia do arquivo criado acima o db.jjej com o nome do arquivo da zona inversa. Altere conforme o modelo abaixo.
# cp db.jjej db.0.168.192# nano db.0.168.192
$TTL 86400@ IN SOA servidor.jjej.net.br. root.jjej.net.br. (
1 ;serial3H ;refresh15M ;retry1W ;minimum1D) ;expire
IN NS servidor.jjej.net.br.100 IN PTR servidor.jjej.net.br.100 IN PTR www.jjej.net.br.100 IN PTR ftp.jjej.net.br.100 IN PTR mail.jjej.net.br.
14
3.2.3 - Reiniciar o servico bind9# /etc/init.d/bind9 restart
3.2.3 - Testar funcionamento das zonas# nslookup> set q=any> 192.168.0.100
Server: 192.168.0.100Address: 192.168.0.100#53
100.100.168.192.in-addr.arpa name = ftp.jjej.com.br.100.100.168.192.in-addr.arpa name = www.jjej.com.br.100.100.168.192.in-addr.arpa name = mail.jjej.com.br.100.100.168.192.in-addr.arpa name = servidor.jjej.com.br.
1° Passo – Para testar e ver se tudo está funcionando, basta apenas utilizar o comando ping, veja:
$ ping jjej.net.br(seu domínio)
$ ping www.jjej.net.br(site de seu domínio)
$ ping mail.jjej.net.br(email de seu domínio)
$ ping ftp.jjej.net.br(ftp de seu domínio)
$ ping www.google.com.br(um site qualquer para ver se está resolvendo mesmo)
4 Criar zona virtual – serve para, de um outro endereco de site direcionar para o mesmo
4.1 - IP virtual# nano /etc/network/interfaces
auto eth0:0iface eth0:0 inet static
address 192.168.1.100netmask 255.255.255.04.1.2 – Reinicie a interface/etc/init.d/networking restart
4.1.3 – Conferindo a interface# ifconfig -a
4.2 - Criar zonas4.2.1 - Verificar disponibilidade da zona# whois jjjj.net.br
15
4.2.2 – Inserir as zonas virtuais após a última linha
# cd /etc/bind# nano named.conf.default-zones
zone "jjjj.net.br" {type master;file "/etc/bind/db.jjjj";
};
zone "1.168.192.in-addr.arpa" {type master;file "/etc/bind/db.1.168.192";
};
4.3 - Criar zonas diretas e inversas
# nano db.jjjj
$TTL 86400@ IN SOA jjjj.net.br. root.jjjj.net.br. (
1 ;serial3H ;refresh15M ;retry1W ;minimum1D) ;expire
IN NS servidor.jjej.net.br.IN MX 5 mail.jjjj.net.br.
jjjj.net.br. IN A 192.168.1.100www IN A 192.168.1.100ftp IN A 192.168.1.100mail IN A 192.168.1.100
# nano db.1.168.192
$TTL 86400@ IN SOA jjjj.net.br. root.jjjj.net.br. (
1 ;serial3H ;refresh15M ;retry1W ;minimum1D) ;expire
IN NS servidor.jjej.net.br.100 IN PTR jjjj.net.br.100 IN PTR www.jjjj.net.br.100 IN PTR ftp.jjjj.net.br.100 IN PTR mail.jjjj.net.br.
4.3.1 - Reiniciar o servico bind9# /etc/init.d/bind9 restart
16
4.4 Testar DNS# nslookup> set q=any> jjjj.net.br
Server: 192.168.0.100Address: 192.168.0.100#53
jjjj.net.brorigin = jjjj.net.brmail addr = root.jjjj.net.brserial = 1refresh = 10800retry = 900expire = 604800minimum = 86400
jjjj.net.br nameserver = servidor.jjej.net.br.jjjj.net.br mail exchanger = 5 mail.jjjj.net.br.
Name: jjjj.net.brAddress: 192.168.1.100
para testar a zona reversa aproveite o cursor e digite:
> 192.168.1.100
Server: 192.168.0.100Address: 192.168.0.100#53
100.1.168.192.in-addr.arpa name = www.jjjj.net.br.100.1.168.192.in-addr.arpa name = jjjj.net.br.100.1.168.192.in-addr.arpa name = mail.jjjj.net.br.100.1.168.192.in-addr.arpa name = ftp.jjjj.net.br.
Para que os computadores da rede interna possam enxergar o nome resolvido, deverão configurar os endereços de dns na placa de rede,
O servidor dhcp, se responsabilizará para exportar para todos esses ip`s.
Para testes , ping no enderecos criados:
1° Passo – Esse arquivo e responsável pelo acesso ao DNS. Para testar e ver se tudo está funcionando, basta apenas utilizar o comando ping, veja:
$ ping jjjj.net.br(seu domínio)$ ping www.jjjj.net.br(site de seu domínio)
$ ping mail.jjjj.net.br(email de seu domínio)
$ ping ftp.jjjj.net.br(ftp de seu domínio)
$ ping www.google.com.br(um site qualquer para ver se está resolvendo mesmo)
17
Servidores LAMPLinux,Apache,Mysql e Php
18
19
Servidor Apache
1º Passo – Instalar o apache.
# apt-get -y install apache2
2º Passo – Reiniciar servidor
/etc/init.d/apache2 restart
3º Passo – Testar funcionamento , num navegador , na barra de endereço , digite :
http://localhost
ou
http://www.jjej.net.br
Aparecerá uma mensagem “ It works ! “ , que é a página inicial localizada em :
/var/www/index.html
3º Passo – para segurança renomeie o arquivo e crie um novo:
# mv /etc/apache2/apache2.conf /etc/apache2/apache2.conf.old# nano /etc/apache2/apache2.conf
Defina o valor mínimo de servidores para 3: MinSpareServers 3
//Defina o valor máximo de servidores para 6:
MaxSpareServers 6
//Defina o número de servidores que serão iniciados para 2:
StartServers 2
//Defina o número máximo de conexões de clientes para 180:
MaxClients 180
20
Servidor
PHP
21
Servidor PHP
1º Passo – Instalar o php.
# apt-get -y install php5# apt-get install libapache2-mod-php5
2º Passo – Reiniciar servidor apache para atualizá-lo
/etc/init.d/apache2 restart
3º Passo – Entre na pasta /var/www. Terá um arquivo chamado index.html, delete-o e crie um novo arqivo chamo info.php:
# cd /var/www # rm index.html # nano info.php Insira a seguinte informação :
<?php phpinfo(); ?>
salve e feche o arquivo.
4º Passo – abra um navegador web, e digite na barra de endereço :
http://localhost/info.php
Aparacerá uma tela com dados de configuração do servidor:
Ok , seu servidor está rodando, mas apenas usuários da rede conseguem visualizá-lo,
22
Servidor
FTP
23
Servidor ftp
Instalar o servidor:
# apt-get install proftpd
editar as configuracoes :
Renomeie o arquivo proftpd.conf e crie um novo
# cd /etc/proftpd/# mv proftpd.conf proftpd.conf.old# nano proftpd.conf
#Nome do Servidor ServerName "Servidor FTP"
#Modo no qual rodará (standalone ou inetd) ServerType standalone DeferWelcome off
#Não exibe informações sobre que tipo de servidor está rodando, não vem definido , tera de inserir: ServerIdent off
#fuso horário universal (GMT) e não o local ,
MultilineRFC2228 on DefaultServer on ShowSymlinks on
#Tempo Máximo sem transferência de dados TimeoutNoTransfer 600
#Tempo Máximo com transferência parada(travada) TimeoutStalled 600
#Tempo Máximo conectado mas sem troca de dados TimeoutIdle 1200
DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \*.*/
#Logs no Proftp WtmpLog off
#Arquivo de log geral SystemLog /var/log/proftpd/proftpd.log
24
#Arquivo de log das transferências TransferLog /var/log/proftpd/xferlog
#Porta para socket de controle Port 21 Umask 022 022
#Máximo de usuários autenticados MaxClientsPerHost 4 "Mensagem de erro para usuário"
#Numero Máximo de tentativas de login MaxLoginAttempts 3
#Usuário sob qual o servidor irá rodar User nobody
#Grupo Group nogroup
#Os Usuários não poderão sair de seu diretório home ( importante parametro) , muita atencao , porque ele vem comentado # DefaultRoot ~
#Não permite o login do usuário root RootLogin off
#Não requer que os usuários tenham um shell válido RequireValidShell off
#Não bloqueia usuários baseando-se no arquivo /etc/ftpusers UseFtpUsers off
Criando usuário e acessando pelo cliente ftpServidor configurado, agora iremos restartá-lo para ele ler o arquivo:
# /etc/init.d/proftpd restart
Existem vários clientes FTP, uso muito o CuteFTP, mas uso ainda mais o IE (Internet Explorer), pois não me deixa preso e onde eu estiver não preciso instalar nenhum programa.
Vamos criar um usuário no Linux para acessar ao FTP:
# adduser abelardo
Após criado o usuário, mãos à obra, vá em qualquer um computador da rede , abra um navegador de internet e digite na barra de endereco do navegador :
ftp://ipdoseuservidor
25
Ele irá pedir um usuário e senha, agora você entra com "abelardo" e sua senha.
E pronto, você conseguiu entrar em um servidor FTP que você criou.
Os arquivos postos dentro dessa pasta irão parar em /home/abelardo.
Se precisar de algo e não estiver conseguindo dê um:
# chmod 777 /home/abelardo
Bloqueando usuário e fazendo a segurança do seu servidorO usuário que criamos é um usuário Linux e poderá entrar no servidor via ssh
(ex.putty), então iremos bloquear isso.
Existem várias maneiras, como ir no sshd_conf e bloquear o usuário, mas um simples comando resolve isso:
# usermod -s /bin/false abelardo
Pronto, com isso ele irá bloquear o acesso via ssh.
26
27
Servidor Mysql
1º Passo – Instalar um servidor de Banco de Dados Mysql:
# apt-get install mysql-server# apt-get install php5-mysql
2º Passo – Durante a instalação solicitará que defina uma senha, defina uma , de preferência diferente do logim do linux, pois será para logar no banco de dados futuramente.
3º Passo – Para acessar o mysql , entre com o seguinte comando :
#mysql -u root -p• Digite a senha definida durante a instalação.• Aparecerá o seguinte prompt:
mysql > use mysql; // exemplo de como acessar o database mysql já criado como exemplo.
mysql > show databases;// mostra os banco criados.
mysql > show tables;// mostra as tabelas dentro de um database, para isso deve acessar esse database, com o
comando use + “o nome do database” .
mysql > select * from user; // visualizando conteúdo de uma tabela dentro de um database.
mysql > exit// sair do banco de dados mysql
4º Passo - criando uma página em php acessando um bando de dados mysql, com um formulário de cadastro , pesquisa.
Cadastrar o banco de dados:
5º Passo – logando no banco de dados mysql :# mysql -u root -p
6º Passo – Listar os databases , para conferir se já existe algum com o mesmo nome que irá criar.
mysql > show databases;
7º Passo – Criar o banco de dados :
mysql > create database teste;
8º Passo – acessar o banco de dados recém-criado:
mysql > use teste;28
9º Passo – listar as tabelas do banco de dados teste , como ainda não existe nenhuma tabela, aparecerá a mensagem de empty set.
mysql > show tables;
10º Passo – criar a tabela clientes dentro do banco de dados teste :, caso já tenha a criação do bando em um arquivo de texto, pode copiar e colar dentro do mysql > :
mysql > CREATE TABLE `clientes` ( `nome` VARCHAR( 60 ) NOT NULL ,
`email` VARCHAR( 60 ) NOT NULL , `sexo` VARCHAR( 10 ) NOT NULL , `ddd` INT( 2 ) , `telefone` INT( 8 ) , `endereco` VARCHAR( 70 ) NOT NULL , `cidade` VARCHAR( 20 ) NOT NULL , `estado` VARCHAR( 2 ) NOT NULL , `bairro` VARCHAR( 20 ) NOT NULL , `pais` VARCHAR( 20 ) NOT NULL , `login` VARCHAR( 12 ) NOT NULL , `senha` VARCHAR( 12 ) NOT NULL , `news` VARCHAR( 8 ) , `id` INT( 200 ) AUTO_INCREMENT , UNIQUE ( `id` ) );
11º Passo – mostrar a tabela criada :
mysql > show tables;
+--------------------+ | Tables_in_teste | +--------------------+ | clientes | +--------------------+
1 row in set (0.00 sec)
12º Passo – mostrar a estrutura da tabela criada com a visão dos campos:
mysql > describe clientes;
13º Passo – Visualizar o conteúdo da tabela criada, deve estar vazia, sem informação mostrando a informação empty set:
mysql > select * from clientes;
14º Passo – sair do mysql:
mysql > exit
15º Passo – Criando uma Pagina de cadastro de clientes para inserir dados no bando de dados, acessar o diretório /var/www/:
# cd /var/www
16º Passo – crie um arquivo chamado cadastro.html e insirar os seguintes dados:
# nano /var/www/cadastro.html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CADASTRO DE CLIENTES COM BANCO DE DADOS E PHP</title> <style type="text/css"> <!-- .style1 {
color: #FF0000; font-size: x-small;
} .style3 {color: #0000FF; font-size: x-small; } --> </style>
<script type="text/javascript"> function validaCampo() { if(document.cadastro.nome.value=="")
{ alert("O Campo nome é obrigatório!"); return false; }
else if(document.cadastro.email.value=="") { alert("O Campo email é obrigatório!"); return false; }
else if(document.cadastro.endereco.value=="") { alert("O Campo endereço é obrigatório!"); return false; }
else if(document.cadastro.cidade.value=="") { alert("O Campo Cidade é obrigatório!"); return false; }
else if(document.cadastro.estado.value=="") {
alert("O Campo Estado é obrigatório!"); return false; }
else if(document.cadastro.bairro.value=="") { alert("O Campo Bairro é obrigatório!"); return false; }
else if(document.cadastro.pais.value=="") { alert("O Campo país é obrigatório!"); return false; }
else if(document.cadastro.login.value=="") { alert("O Campo Login é obrigatório!"); return false; }
else if(document.cadastro.senha.value=="")
{ alert("Digite uma senha!"); return false; }
else return true; } <!-- Fim do JavaScript que validará os campos obrigatórios! --> </script> </head>
<body> <form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;"> <table width="625" border="0"> <tr> <td width="69">Nome:</td> <td width="546"><input name="nome" type="text" id="nome" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" id="email" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Sexo:</td> <td><input name="sexo" type="radio" value="Masculino" checked="checked" />
Masculino <input name="sexo" type="radio" value="Feminino" /> Feminino <span class="style1">*</span> </td> </tr> <tr> <td>DDD:</td> <td><input name="ddd" type="text" id="ddd" size="4" maxlength="2" /> Telefone: <input name="telefone" type="text" id="telefone" /> <span class="style3">Apenas números</span> </td> </tr> <tr> <td>Endereço:</td> <td><input name="endereco" type="text" id="endereco" size="70" maxlength="70" /> <span class="style1">*</span></td> </tr> <tr> <td>Cidade:</td> <td><input name="cidade" type="text" id="cidade" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Estado:</td> <td><select name="estado" id="estado"> <option>Selecione...</option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="ES">ES</option> <option value="DF">DF</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select>
<span class="style1">* </span></td> </tr> <tr> <td>Bairro:</td> <td><input name="bairro" type="text" id="bairro" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>País:</td> <td><input name="pais" type="text" id="pais" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Login:</td> <td><input name="login" type="text" id="login" maxlength="12" /> <span class="style1">*</span></td> </tr> <tr> <td>Senha:</td> <td><input name="senha" type="password" id="senha" maxlength="12" /> <span class="style1">*</span></td> </tr> <tr> <td colspan="2"><input name="news" type="checkbox" id="news" value="ATIVO" checked="checked" /> Desejo receber novidades e informações sobre o conteúdo deste site. </td> </tr> <tr> <td colspan="2"><p> <input name="cadastrar" type="submit" id="cadastrar" value="Concluir meu Cadastro!" /> <br /> <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" /> <br /> <span class="style1">* Campos com * são obrigatórios! </span></p> <p> </p></td> </tr> </table> </form> </body> </html>
17º Passo – Salvar e fechar o arquivo.
18º passo – Acessar a página criada, através de um navegador internet, digite no menu de endereço descrito abaixo , onde deverá aparecer o formulário criado, mas por enquanto não adianta cadastrar , pois devemos ainda criar a conexão com o banco e inserir os dados digitados
http://www.jjej.net.br/cadastro.html
19 º Passo – criando conexão com o banco e inserindo os dados digitados no banco, crie um arquivo dentro de /var/www com o nome de cadastro.php
# nano /var/www/cadastro.php
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>conexao com o banco e inserindo dados</title> </head>
<body> <?php // RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO ! $nome= $_POST ["nome"]; //atribuição do campo "nome" vindo do formulário para variavel $email= $_POST ["email"]; //atribuição do campo "email" vindo do formulário para variavel $ddd = $_POST ["ddd"]; //atribuição do campo "ddd" vindo do formulário para variavel $tel = $_POST ["telefone"]; //atribuição do campo "telefone" vindo do formulário para variavel $endereco = $_POST ["endereco"]; //atribuição do campo "endereco" vindo do formulário para variavel $cidade = $_POST ["cidade"]; //atribuição do campo "cidade" vindo do formulário para variavel $estado = $_POST ["estado"]; //atribuição do campo "estado" vindo do formulário para variavel $bairro = $_POST ["bairro"]; //atribuição do campo "bairro" vindo do formulário para variavel $pais = $_POST ["pais"]; //atribuição do campo "pais" vindo do formulário para variavel $login = $_POST ["login"]; //atribuição do campo "login" vindo do formulário para variavel $senha= $_POST ["senha"]; //atribuição do campo "senha" vindo do formulário para variavel $news = $_POST ["news"]; //atribuição do campo "news" vindo do formulário para variavel $sexo = $_POST ["sexo"]; //atribuição do campo "sexo" vindo do formulário para variavel //Gravando no banco de dados !
//conectando com o localhost - mysql (computador, usuario, senha ) $conexao = mysql_connect("localhost","root","14451009"); if (!$conexao)
die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); //conectando com a tabela do banco de dados $banco = mysql_select_db("clientes",$conexao); if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());
$query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `ddd` , `telefone` , `endereco` , `cidade` , `estado` , `bairro` , `pais` , `login` , `senha` , `news` , `id` ) VALUES ('$nome', '$email', '$sexo', '$ddd', '$tel', '$endereco', '$cidade', '$estado', '$bairro',
'$pais', '$login', '$senha', '$news', '')";
mysql_query($query,$conexao);
echo "Seu cadastro foi realizado com sucesso!<br>Agradecemos a atencao."; echo $nome
?> </body> </html>
20º Passo – Salvar e fechar o arquivo.
21º Passo – Acessar novamente a página criada, através de um navegador internet, digite no menu de endereço descrito abaixo , onde deverá aparecer o formulário criado, agora sim poderá cadastrar , deverá receber uma mensagem que os dados foram cadastrados com sucesso.
http://www.jjej.net.br/cadastro.html
21º Passo – logando novamenteno banco de dados mysql para confirmar o cadastro:# mysql -u root -p
22º Passo – acessar o banco de dados :
mysql > use teste;
23º Passo – visualizar o conteúdo cadastrado na tabela :
mysql > select * from clientes;
Webmail
SquirrelMail
top related