Servidores Linux
Marcelo Gomes de Paula
marcelogomesrp@gmail.com
Marcelo Gomes
Mais de 10 anos de experiência, em redes Linux.
Certificação Microsoft 70-290
Formado em Ciência da Computação.
Pós Graduação em Desenvolvimento de Software para
Web.
Atualmente
Prof. na UNIP no curso ADS.
Mantenedor do projeto EMU
Administrador do cluster da i2Bio
Administrador da cluster do LGMB.
Autor do blog http://marcelogomesrp.blogspot.com
O que é um servidor?
Em informática, um servidor é um sistema de
computação centralizada que fornece serviços
a uma rede de computadores.
Esses serviços podem ser de natureza diversa,
como por exemplo, arquivos e correio
eletrônico.
Os computadores que acessam os serviços de
um servidor são chamados clientes.
As redes que utilizam servidores são do tipo
cliente-servidor.
Arquitetura Cliente-Servidor
O que é Linux
Linux é um termo utilizado para se referir a
sistema operacional que utilizem o núcleo
Linux. O núcleo Linux foi desenvolvido pelo
programador finlandês Linus Torvalds,
inspirado no sistema Minix.
O seu código fonte está disponível sob a
licença GPL (versão 2) para que qualquer
pessoa o possa utilizar, estudar, modificar e
distribuir livremente de acordo com os termos
da licença.
O que é uma distribuição linux
Uma Distribuição Linux (ou simplesmente distro) é composta
do núcleo Linux e um conjunto variável de software,
dependendo de seus propósitos.
Essa coleção de software livre e não-livre, é criada e mantida
por indivíduos, grupos e organizações de todo o mundo.
Indivíduos como Patrick Volkerding (Slackware), companhias
como a Red Hat, a SuSE, a Mandriva e a Canonical, bem
como projetos de comunidades como o Debian ou o Gentoo,
compilam softwares e fornecem a usuários diversos sistemas
completos, prontos para instalação e uso em Computador
doméstico, laptops, computadores servidor conforme a
utilização da licença de software.
Meu notebook com linux pode ser
um servidor?
Meu desktop pode ser um servidor.
Meu Raspberry Pi pode ser um servidor
Meu Raspberry Pi pode ser um servidor
Raspberry Pi é um computador do tamanho de
um cartão de crédito desenvolvido no Reino
Unido pela Fundação Raspberry Pi.
Todo o hardware é integrado em uma única
placa.
O computador é baseado em um system on a
chip (SoC) Broadcom BCM2835,7 que inclui
um processador ARM1176JZF-S de 700 MHz,
GPU VideoCore IV,8 e 512 MB de memória
RAM em sua última revisão.
Tudo pode ser um servidor ?
● Integridade
Meus dados não podem ter sido modificados
● Acessibilidade
Sempre que precisar, tenho que ter acesso aos meus dados/serviço
● Privacidade
Nenhuma pessoa não autorizada pode ter acesso aos meus dados/serviço
Servidores
Fonte redundantes
Memória ECC
Discos Hotswap
HDs Enterprise
Suporte a múltiplos processadores
Controladora com suporte a RAID
RAID
Redundant Array of Independent Drives
- Conjunto Redundante de Discos
Independentes
Seriam um conjunto (agrupamento) de dois ou
mais discos (HD) trabalhando simultaneamente
para um mesmo fim.
Seu funcionamento vária de acordo com o seu
tipo que pode ser tipo 0, tipo 1, tipo 5, tipo 10
ou ainda outros tipos.
RAID 0 - Striping
Espaço total = 20GB
Se um disco falhar, todos os dados são perdidos.
Ganho de velocidade no acesso (leitura e escrita)
Menor custo de implantação
10GB 10GB
RAID 1 - Mirror
Espaço total = 10GB
Se um disco falhar, nenhum dado é perdido.
Ganho de velocidade na leitura, velocidade de gravação
é igual a do disco mais lento.
Maior custo de implantação quando comparado ao
RAID0 pois requer mais discos para ter a mesma
capacidade de armazenamento.
10GB 10GB
RAID 5
Espaço total = 20GB (o espaço de um disco é destinado
a paridade)
Se um disco falhar, nenhum dado é perdido (trabalha
com paridade).
Ganho de velocidade na leitura, e gravação.
Maior custo de implantação.
10GB 10GB 10GB
RAID 5
Imagine que eu queira gravar o número 15.
O meu algorítimo para calcular a paridade é somar os
valores de cada digito.
O algorítimo para recalcular o valor de um digito caso
um HD falhe pode ser, subtrair o valor conhecido, do
valor da paridade, neste exemplo se perdemos o HD do
meio, conseguimos fazer 6 - 5 e inferir que o valor do
outro digito é 5.
1
digito
5
digito
6
paridade
Raid 1
RAID 10
Espaço total = 20GB
Se um disco falhar, nenhum dado é perdido, se dois
disco falhar, com sorte nenhum dado é perdido.
Ganho de velocidade na leitura é gravação.
Maior custo de implantação.
10GB
10GBRaid 1
10GB
10GB
Outros RAIDs
Existem diversos outros RAIDs, mas a ideia de
todos se baseiam destes que acabamos de
ver, por exemplo o RAID 6 é similar ao RAID 5,
porém ele tem 2 discos de paridade.
Servidores...Torre, Rack, Blade
Qualquer S.O. pode ser um
servidor?
No Windows XP Professional, o número
máximo de outros computadores permitidos
para conexão simultânea sobre a rede é 10.
Para o Windows XP Home Edition, o número
máximo de outros computadores com
permissão para se conectar simultaneamente
na rede é de 5.
Fonte: http://support.microsoft.
com/kb/314882/pt-br
Instalar o Linux - CentOS
Faça o download gratuitamente no site http:
//www.centos.org/
Grave seu DVD com seu programa preferido.
Inicie o computador com o boot no DVD.
Siga as instruções na tela.
Opções de boot
Testar a mídia do DVD
Boas vindas
Escolhendo o idioma da instalação
Configurando o teclado
Instalando um servidor LAMP
LAMP = Linux, Apache, MySQL e PHP
MySQL - Introdução
O MySQL é um SGBD
(Sistema de Gerenciamento de Banco de
Dados), que utiliza a linguagem SQL.
Instalando o MySQL
Como root digite o comando
yum install mysql mysql-server
Iniciando o MySQL
service mysqld start
Definindo a senha do root no MySQL
mysqladmin -u root -password ‘senha’
MySQL
Entrar no MySQL
mysql -u root -p
Exibir os databases
show databases;
Criar um database
create database agenda;
selecionar um database
use agenda;
MySQL
Criar uma tabela
CREATE TABLE contatos(
id int(6) not null auto_increment,
nome char(50) not null,
fone char(50) not null,
primary key(id)
);
Listar as tabelas do database atual
show tables;
MySQL
Inserir dados em uma tabela
INSERT INTO contatos (nome,fone) VALUES
(‘Marcelo Gomes’, ‘16 5555-5555’);
Exibir os valores de uma tabela
SELECT * FROM contatos;
Introdução ao PHP
PHP é uma linguagem de script embutida no
HTML. Muito da sua sintaxe é emprestada de
C, Java e Perl com algumas características
específicas do PHP juntas. O objetivo da
linguagem é permitir que desenvolvedores web
escrevam páginas geradas dinamicamente
rápido.
Introdução ao PHP
Olá mundo em PHP
<?php
echo “Olá mundo”;
?>
Definir uma variável
$identificador = “Valor”
Instalar o PHP com suporte ao MySQL
yum install php php-mysql
Instalar o Apache http
yum install httpd
Iniciando o Http Apache
service httpd start
Testando o PHP
crie uma arquivo chamado info.php em
/var/www/html com o seguinte conteúdo
<?php
phpinfo();
?>
em seguida entre no site http://localhost/info.
php
Agora você pode instalar
Desenvolver sua própria aplicação
Exemplo agenda Web em PHP com MySQL
Inserir.html
Inserir.php
Todos.php
Telnet
Telnet oferece aos usuários a capacidade de
executar programas remotamente e facilita a
administração remota.
O Telnet está disponível para praticamente
todos os sistemas operacionais e facilita a
integração em ambientes heterogêneos de
rede.
SSH
O SSH (Secure Shell) é, ao mesmo tempo, um
programa de computador e um protocolo de rede
que permitem a conexão com outro computador na
rede de forma a permitir execução de comandos de
uma unidade remota.
O SSH faz parte da suíte de protocolos TCP/IP que
torna segura a administração remota de servidores
do tipo Unix.
O SSH possui as mesmas funcionalidades do
TELNET, com a vantagem da criptografia na
conexão entre o cliente e o servidor.
Instalação do OpenSSH
#Cliente
yum install openssh -y
#Servidor
yum install openssh-server -y
Iniciar o servidor
service sshd start
Putty - Cliente SSH para Windows
Download http://www.chiark.greenend.org.
uk/~sgtatham/putty/download.html
NFS
NFS - Network File System é um sistema de
arquivos distribuídos desenvolvido inicialmente
pela Sun.
O NFS permite compartilhar arquivos e
diretórios entre computadores conectados em
rede, formando assim um diretório virtual.
NFS
Exemplo para compartilhar o diretório /data
com a rede 192.168.0.0/24, com permissão de
leitura e gravação, deve editar o arquivo
/etc/exports e adicionar a entrada
/data 192.168.0.0/255.255.255.0(rw)
Para montar o diretório /data no cliente
mount -t nfs 192.168.0.1:/data /data
Samba
O SAMBA é uma suíte padrão de interoperabilidade
capaz de interligar redes heterogênea Windows e
Linux.
O SAMBA é servidor e um conjunto de ferramentas
que permite que máquinas Linux e Windows se
comuniquem entre si, compartilhando serviços
(arquivos, diretório, impressão) através do protocolo
SMB (Server Message Block)/CIFS (Common
Internet File System), equivalentes a implementação
NetBEUI no Windows.
Alguns outros serviços
Criar seu próprio servidor
Exemplo:
Um servidor que recebe dois número do cliente
e em seguida calcule a soma dos dois valores
informados, e retorne para o cliente o valor
calculado.
Obrigado!!!

Servidores linux

  • 1.
    Servidores Linux Marcelo Gomesde Paula marcelogomesrp@gmail.com
  • 2.
    Marcelo Gomes Mais de10 anos de experiência, em redes Linux. Certificação Microsoft 70-290 Formado em Ciência da Computação. Pós Graduação em Desenvolvimento de Software para Web. Atualmente Prof. na UNIP no curso ADS. Mantenedor do projeto EMU Administrador do cluster da i2Bio Administrador da cluster do LGMB. Autor do blog http://marcelogomesrp.blogspot.com
  • 3.
    O que éum servidor? Em informática, um servidor é um sistema de computação centralizada que fornece serviços a uma rede de computadores. Esses serviços podem ser de natureza diversa, como por exemplo, arquivos e correio eletrônico. Os computadores que acessam os serviços de um servidor são chamados clientes. As redes que utilizam servidores são do tipo cliente-servidor.
  • 4.
  • 5.
    O que éLinux Linux é um termo utilizado para se referir a sistema operacional que utilizem o núcleo Linux. O núcleo Linux foi desenvolvido pelo programador finlandês Linus Torvalds, inspirado no sistema Minix. O seu código fonte está disponível sob a licença GPL (versão 2) para que qualquer pessoa o possa utilizar, estudar, modificar e distribuir livremente de acordo com os termos da licença.
  • 6.
    O que éuma distribuição linux Uma Distribuição Linux (ou simplesmente distro) é composta do núcleo Linux e um conjunto variável de software, dependendo de seus propósitos. Essa coleção de software livre e não-livre, é criada e mantida por indivíduos, grupos e organizações de todo o mundo. Indivíduos como Patrick Volkerding (Slackware), companhias como a Red Hat, a SuSE, a Mandriva e a Canonical, bem como projetos de comunidades como o Debian ou o Gentoo, compilam softwares e fornecem a usuários diversos sistemas completos, prontos para instalação e uso em Computador doméstico, laptops, computadores servidor conforme a utilização da licença de software.
  • 8.
    Meu notebook comlinux pode ser um servidor?
  • 9.
    Meu desktop podeser um servidor.
  • 10.
    Meu Raspberry Pipode ser um servidor
  • 11.
    Meu Raspberry Pipode ser um servidor Raspberry Pi é um computador do tamanho de um cartão de crédito desenvolvido no Reino Unido pela Fundação Raspberry Pi. Todo o hardware é integrado em uma única placa. O computador é baseado em um system on a chip (SoC) Broadcom BCM2835,7 que inclui um processador ARM1176JZF-S de 700 MHz, GPU VideoCore IV,8 e 512 MB de memória RAM em sua última revisão.
  • 12.
    Tudo pode serum servidor ? ● Integridade Meus dados não podem ter sido modificados ● Acessibilidade Sempre que precisar, tenho que ter acesso aos meus dados/serviço ● Privacidade Nenhuma pessoa não autorizada pode ter acesso aos meus dados/serviço
  • 13.
    Servidores Fonte redundantes Memória ECC DiscosHotswap HDs Enterprise Suporte a múltiplos processadores Controladora com suporte a RAID
  • 14.
    RAID Redundant Array ofIndependent Drives - Conjunto Redundante de Discos Independentes Seriam um conjunto (agrupamento) de dois ou mais discos (HD) trabalhando simultaneamente para um mesmo fim. Seu funcionamento vária de acordo com o seu tipo que pode ser tipo 0, tipo 1, tipo 5, tipo 10 ou ainda outros tipos.
  • 15.
    RAID 0 -Striping Espaço total = 20GB Se um disco falhar, todos os dados são perdidos. Ganho de velocidade no acesso (leitura e escrita) Menor custo de implantação 10GB 10GB
  • 16.
    RAID 1 -Mirror Espaço total = 10GB Se um disco falhar, nenhum dado é perdido. Ganho de velocidade na leitura, velocidade de gravação é igual a do disco mais lento. Maior custo de implantação quando comparado ao RAID0 pois requer mais discos para ter a mesma capacidade de armazenamento. 10GB 10GB
  • 17.
    RAID 5 Espaço total= 20GB (o espaço de um disco é destinado a paridade) Se um disco falhar, nenhum dado é perdido (trabalha com paridade). Ganho de velocidade na leitura, e gravação. Maior custo de implantação. 10GB 10GB 10GB
  • 18.
    RAID 5 Imagine queeu queira gravar o número 15. O meu algorítimo para calcular a paridade é somar os valores de cada digito. O algorítimo para recalcular o valor de um digito caso um HD falhe pode ser, subtrair o valor conhecido, do valor da paridade, neste exemplo se perdemos o HD do meio, conseguimos fazer 6 - 5 e inferir que o valor do outro digito é 5. 1 digito 5 digito 6 paridade
  • 19.
    Raid 1 RAID 10 Espaçototal = 20GB Se um disco falhar, nenhum dado é perdido, se dois disco falhar, com sorte nenhum dado é perdido. Ganho de velocidade na leitura é gravação. Maior custo de implantação. 10GB 10GBRaid 1 10GB 10GB
  • 20.
    Outros RAIDs Existem diversosoutros RAIDs, mas a ideia de todos se baseiam destes que acabamos de ver, por exemplo o RAID 6 é similar ao RAID 5, porém ele tem 2 discos de paridade.
  • 21.
  • 22.
    Qualquer S.O. podeser um servidor? No Windows XP Professional, o número máximo de outros computadores permitidos para conexão simultânea sobre a rede é 10. Para o Windows XP Home Edition, o número máximo de outros computadores com permissão para se conectar simultaneamente na rede é de 5. Fonte: http://support.microsoft. com/kb/314882/pt-br
  • 23.
    Instalar o Linux- CentOS Faça o download gratuitamente no site http: //www.centos.org/ Grave seu DVD com seu programa preferido. Inicie o computador com o boot no DVD. Siga as instruções na tela.
  • 24.
  • 25.
  • 26.
  • 27.
    Escolhendo o idiomada instalação
  • 28.
  • 44.
    Instalando um servidorLAMP LAMP = Linux, Apache, MySQL e PHP
  • 45.
    MySQL - Introdução OMySQL é um SGBD (Sistema de Gerenciamento de Banco de Dados), que utiliza a linguagem SQL.
  • 46.
    Instalando o MySQL Comoroot digite o comando yum install mysql mysql-server
  • 48.
  • 50.
    Definindo a senhado root no MySQL mysqladmin -u root -password ‘senha’
  • 52.
    MySQL Entrar no MySQL mysql-u root -p Exibir os databases show databases; Criar um database create database agenda; selecionar um database use agenda;
  • 53.
    MySQL Criar uma tabela CREATETABLE contatos( id int(6) not null auto_increment, nome char(50) not null, fone char(50) not null, primary key(id) ); Listar as tabelas do database atual show tables;
  • 54.
    MySQL Inserir dados emuma tabela INSERT INTO contatos (nome,fone) VALUES (‘Marcelo Gomes’, ‘16 5555-5555’); Exibir os valores de uma tabela SELECT * FROM contatos;
  • 55.
    Introdução ao PHP PHPé uma linguagem de script embutida no HTML. Muito da sua sintaxe é emprestada de C, Java e Perl com algumas características específicas do PHP juntas. O objetivo da linguagem é permitir que desenvolvedores web escrevam páginas geradas dinamicamente rápido.
  • 56.
    Introdução ao PHP Olámundo em PHP <?php echo “Olá mundo”; ?> Definir uma variável $identificador = “Valor”
  • 57.
    Instalar o PHPcom suporte ao MySQL yum install php php-mysql
  • 59.
    Instalar o Apachehttp yum install httpd
  • 61.
    Iniciando o HttpApache service httpd start
  • 63.
    Testando o PHP crieuma arquivo chamado info.php em /var/www/html com o seguinte conteúdo <?php phpinfo(); ?> em seguida entre no site http://localhost/info. php
  • 65.
  • 66.
    Desenvolver sua própriaaplicação Exemplo agenda Web em PHP com MySQL
  • 67.
  • 69.
  • 71.
  • 73.
    Telnet Telnet oferece aosusuários a capacidade de executar programas remotamente e facilita a administração remota. O Telnet está disponível para praticamente todos os sistemas operacionais e facilita a integração em ambientes heterogêneos de rede.
  • 74.
    SSH O SSH (SecureShell) é, ao mesmo tempo, um programa de computador e um protocolo de rede que permitem a conexão com outro computador na rede de forma a permitir execução de comandos de uma unidade remota. O SSH faz parte da suíte de protocolos TCP/IP que torna segura a administração remota de servidores do tipo Unix. O SSH possui as mesmas funcionalidades do TELNET, com a vantagem da criptografia na conexão entre o cliente e o servidor.
  • 75.
    Instalação do OpenSSH #Cliente yuminstall openssh -y #Servidor yum install openssh-server -y Iniciar o servidor service sshd start
  • 76.
    Putty - ClienteSSH para Windows Download http://www.chiark.greenend.org. uk/~sgtatham/putty/download.html
  • 77.
    NFS NFS - NetworkFile System é um sistema de arquivos distribuídos desenvolvido inicialmente pela Sun. O NFS permite compartilhar arquivos e diretórios entre computadores conectados em rede, formando assim um diretório virtual.
  • 78.
    NFS Exemplo para compartilharo diretório /data com a rede 192.168.0.0/24, com permissão de leitura e gravação, deve editar o arquivo /etc/exports e adicionar a entrada /data 192.168.0.0/255.255.255.0(rw) Para montar o diretório /data no cliente mount -t nfs 192.168.0.1:/data /data
  • 79.
    Samba O SAMBA éuma suíte padrão de interoperabilidade capaz de interligar redes heterogênea Windows e Linux. O SAMBA é servidor e um conjunto de ferramentas que permite que máquinas Linux e Windows se comuniquem entre si, compartilhando serviços (arquivos, diretório, impressão) através do protocolo SMB (Server Message Block)/CIFS (Common Internet File System), equivalentes a implementação NetBEUI no Windows.
  • 80.
  • 81.
    Criar seu próprioservidor Exemplo: Um servidor que recebe dois número do cliente e em seguida calcule a soma dos dois valores informados, e retorne para o cliente o valor calculado.
  • 84.