Skip to content

Laboratório

Erick Souza edited this page Aug 31, 2016 · 43 revisions

HTTP

  1. Instalação de um servidor Web

Instale o nodejs:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

Instale o json-server:

$ sudo npm install -g json-server
  1. Criação do arquivo db.json para representar uma lista de recursos no servidor
{"livros":[
  {
    "id" : 1,
    "isbn" : "978-0641723445",
    "titulo" : "The Lightning Thief",
    "autor" : "Rick Riordan",
    "preco" : 12.50
  },
  {
    "id" : 2,
    "isbn" : "978-1423103349",  
    "titulo" : "The Sea of Monsters",
    "autor" : "Rick Riordan", 
    "preco" : 6.49
  },
  {
    "id" : 3,
    "isbn" : "978-1857995879",   
    "titulo" : "Sophie's World : The Greek Philosophers",
    "autor" : "Jostein Gaarder",
    "preco" : 3.07
  }
]}
  1. Execução do servidor
$ json-server --watch db.json
  1. Acesso ao recurso

http://localhost:3000/livros/1

  1. Criação de um cliente para consumir o recurso com base neste exemplo

OBS: Em caso de erro 'promise is not defined' ao realizar uma requsição POST, faça o seguinte:

  • Instale o es6-promise:
$ npm install es6-promise --save
  • Edite o arquivo: /usr/local/lib/node_modules/json-server/node_modules/lowdb/lib/file-async.js

  • Inclua a linha require('es6-promise').polyfill() no início do arquivo.

EXERCÍCIO: Implemente os métodos para atualização e remoção de um recurso, utilizando os verbos PUT e DELETE do HTTP.

FTP

  1. Instalação de um servidor FTP
$ sudo apt-get install proftpd
  1. Instalação de um cliente FTP
$ sudo apt-get install gftp
  1. Crie um usuário para acessar exclusivamente o FTP (opcional)
$ sudo useradd -m -s /bin/false usuario_ftp
$ sudo passwd usuario_ftp
  1. Configuração do servidor (opcional)

O servidor pode ser configurado editando os parâmetros do arquivo abaixo:

$ sudo nano /etc/proftpd/proftpd.conf

Alguns campos importantes:

ServerName    "Nome para o seu servidor"
ServerIdent   on "Mensagem para os usuarios"
ServerAdmin   root@localhost
ServerType    standalone
DefaultRoot   ~
  • ServerName: É o nome do seu servidor. Ex.: Servidor FTP
  • ServerIdent: É a mensagem que é mostrada quando um usuário tenta se conectar ao servidor.
  • ServerAdmin: É o e-mail do administrador do servidor.
  • ServerType: É a forma como o ProFTPD vai executar. Valor inetd: o servidor irá executar apenas quando algum usuário estiver ativo. Valor standalone: o servidor irá executar o tempo todo.
  • DefaultRoot: É o diretório que o usuário FTP terá acesso.

Caso o arquivo seja alterado, o servidor FTP deve ser reiniciado:

$ sudo etc/init.d/proftpd restart

Referências

Clone this wiki locally