Servidor web


#sqn

como funciona um servidor web?


como funciona um servidor web...


servidor web é apache...


CARACTERÍSTICAS do apache...


  • Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc;


  • Suporte a autorização de acesso podendo ser especificadas restrições de acesso separadamente para cada endereço/arquivo/diretório acessado no servidor;


  • Autenticação requerendo um nome de usuário e senha válidos para acesso a alguma página/sub-diretório/arquivo (suportando criptografia via Crypto e MD5);


  • Negociação de conteúdo, permitindo a exibição da página Web no idioma requisitado pelo Cliente Navegador;

características do apache...


  • Suporte a tipos mime;
  • Personalização de logs;
  • Mensagens de erro;
  • Suporte a virtual hosting (é possível servir 2 ou mais páginas com endereços/ portas diferentes através do mesmo processo ou usar mais de um processo para controlar mais de um endereço);
  • Suporte a IP virtual hosting;
  • Suporte a name virtual hosting;

características do apache...


  • Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas flexivelmente configuráveis);


  • Suporte a proxy e redirecionamentos baseados em URLs para endereços Internos;


  • Suporte a criptografia via SSL,Certificados digitais;


  • Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilação do programa.

SCRIPT's cgi...


Um script CGI ( Common Gateway Interface ) é um programa executado pelo servidor web, para enviar ao navegador do usuário, um código HTML criado, automaticamente, pelo servidor (baseado em outro aplicativo como, por exemplo, um sistema de gerenciamento de banco de dados, daí o nome gateway ) .

Uma das principais vantagens do uso do CGI é a possibilidade de criar páginas dinâmicas, ou seja, páginas personalizadas conforme a escolha ou a entrada do usuário. A aplicação mais comum desta técnica é baseada no uso dos formulários HTML, que permitem ao usuário selecionar ou inserir dados e, clicar em um botão de submissão do formulário, enviando depois os dados do formulário como um parâmetro do script CGI.


script's cgi...


Linguagem da programação dos CGI

Um programa CGI pode ser escrito em quase todas as linguagens de programação desde que ele seja:

  • capaz de ler o fluxo de dados de entrada;
  • capaz de processar cadeias de caracteres;
  • capaz de escrever sobre o fluxo padrão de saída;
  • executável ou interpretável pelo servidor web.

lamp???



botando a bagaça pra funfar...


O que é preciso instalar e quais são os nomes dos pacotes???
 # apt-get install ??? 
 # apt-cache search ???

  • APACHE
  • PHP 5
  • MYSQL 5 (mariadb), postgres 8 ou oracle*
  • PROFTP
  • VSFTP

BOTANDO A BAGAÇA PRA FUNFAR...


É só instalar o tal do LAMP e ta tudo pronto!!!


BOTANDO A BAGAÇA PRA FUNFAR...


Básico...
 # apt-get install apache2
 # apt-get install mysql-server mysql-client
 # apt-get install php5 php5-mysql libapache2-mod-php5
 # apt-get install proftpd vsftpd

Outros pacotes...
 # apt-get install perl libapache2-mod-perl2
 # apt-get install python libapache2-mod-python
 # apt-get install phpmyadmin

E agora?

ta pronto?

como eu testo?

e não precisa configurar nada?


Vamos aos arquivos de configuração...

httpd.conf
apache2.conf
php.ini

EXERCÍCIOS...


  1. Configurar o Apache para responder pelos seguintes domínios:
    1. www.seunome.com
    2. www.seusobrenome.com
  2. Criar um usuário de FTP para cada domínio. Este usuário deve acessar somente o diretório onde ficam as páginas do domínio.
  3. No domínio www.seusobrenome.com configure o Apache para pedir senha.
  4. Verifique se o Apache consegue interpretar páginas em PHP. Crie uma página no domínio www.seunome.com com o seguinte código:
    1. <?php  phpinfo();  ?>
  5. Tente acessar as máquinas dos colegas pelos domínios criados.

servidor ftp


FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos.


O protocolo FTP actualmente é definido pelo RFC 959 (File Transfer Protocol (FTP) - Especificações).



vsftp...


O VSFTPD (Very Secure File Transfer Protocol Daemon), é a escolha de empresas como Red Hat, IBM e Novell (Suse Linux) quando o assunto é servidores de FTP confiáveis e seguros. Inclusive, o projeto OpenBSD utiliza o VSFTPD como servidor FTP da distribuição, logo, podemos considerar este software como bem qualificado em termos de segurança de código.

Configurando o vsftp


apt-get install vsftpd
listen=YES # Habilita o serviço FTP no modo Daemon (Standalone)
anonymous_enable=YES # Habilita o acesso ao usuário anounymous
local_enable=YES # Habilita o acesso de usuários locais
write_enable=YES # Permite escrita no servidor
anon_upload_enable=YES # Permite upload de arquivos pelo usuário anounymous
ftpd_banner=Bem vindo ao FTP Server # Modifica a mensagem de boas-vindas do Serviço FTP
max_clients=1 # Permite o máximo de 1 conexão no servidor

Configurando o proftpd


 apt-get install proftpd

DefaultRoot ~ # Este comando é o responsável por restringir o usuário à sua pasta home e nada mais.

ServerName                      "Nome do Servidor"
ServerType                      standalone
DeferWelcome                    off

Fazendo essas alterações o serviço de FTP já pode ser utilizado de forma básica.

utilizando usuário anonymous


Existe uma regra que se inicia na linha 137 e só termina no fim do arquivo, a linha 176, esta regra define se será necessária a autenticação do usuário para acessar o FTP, isto se torna interessante quando você precisa de um servidor FTP público, onde inúmeras pessoas vão acessar o FTP mas não possuem conta no servidor ou não possuem nenhum tipo de cadastro, simplesmente o que você quer é disponibilizar alguns arquivos públicos no servidor FTP.

Exercicios sobre ftp


ProFTP

  1. Utilize o parâmetro LIMIT, para controlar o que os usuários podem fazer através da conexão de FTP.
  2. Permita que o usuário Anônimo faça upload de arquivos.
  3. Altere o diretório padrão do FTP para /var/www/ftp e faça com que o usuário acesse somente este diretório.
  4. Crie uma mensagem de boas vindas para o usuário que se autenticar no servidor, informando que este serviço esta disponível apenas para usuários autorizados e que todo o histórico de comandos ficará armazenado nos logs.


Exercicios sobre ftp

VSFTP

  1. Permita que o usuário Anônimo faça upload de arquivos.
  2. Altere o diretório padrão do FTP para /var/www/ftp e faça com que o usuário acesse somente este diretório.
  3. Crie uma mensagem de boas vindas para o usuário que se autenticar no servidor, informando que este serviço esta disponível apenas para usuários autorizados e que todo o histórico de comandos ficará armazenado nos logs.
  4. Crie um arquivo com os usuários que não podem fazer acesso ao servidor.
  5. Não permita que os usuários naveguem pelo servidor. Eles devem ficar presos no seu próprio diretório HOME.
  6. Bloqueie a utilização de alguns comandos pelo FTP.

Servidor web

By Maurício Canto