É possível publicar arquivos na internet utilizando um servidor web. Tipicamente isto é feito simplesmente copiando arquivos em um diretório disponível em um servidor web sob seu controle. Alunos com acesso a conta no LIEF podem fazê-lo em seu diretório.

Nesta atividade você irá entender como ativar o seu website pessoal no LIEF, criar uma página HTML mínima e saber como automatizar o processo de atualização do site. Para publicação avançanda, conheça a oficina de Jekyll.

Ativar seu public_html no LIEF

  1. Acesse sua conta no lief

    $ ssh teu_login@lief.if.ufrgs.br

  2. Crie o diretório public_html e configure para leitura pública

    $ mkdir public_html

    $ chmod 755 public_html

  3. Vá para o diretório e crie um arquivo

    $ cd public_html

    $ touch teste.txt

  4. Utilize um navegador para acessar o endereço http://lief.if.ufrgs.br/~teu_login

Alternativas para quem não tem acesso aos servidores da universidade

  • Utilizar o Davros (App do Sandstorm);
  • Alugar um espaço em um servidor compartilhado;
  • Alugar Virtual Private Server (VPS);

Exercício: Criar uma página html mínima

  1. A partir do public_html crie um arquivo chamado pagina.html

    $ nano pagina.html

  2. Adicione o seguinte código html no arquivo

<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF8">
<head>
<title>Título da Página </title>
</head>
<body>
Este é meu texto!
</body>
</html>
  1. Salve e saia do editor nano

    Ctrl + o salva arquivo -> digite enter para confirmar o nome do arquivo

    Ctrl + x sai do nano

  2. Visite o arquivo utilizando o navegador. Perceba o título na barra do navegador.

Copiar arquivos para o LIEF usando o gerenciador de arquivos como o Nautilus

Para acessar os arquivos do servidor remoto diretamente na janela do Nautilus (navegador de arquivos do Gnome) digite Ctrl+l e visite sftp://teu_username@lief.if.ufrgs.br/home/teu_username/public_html/


Tarefa 4

Descrição da atividade: Disponibilizar um arquivo PDF de sua autoria no seu diretório público no LIEF.

Prazo de entrega: 03/04/2019 às 18h30.

Forma de entrega: Enviar URL do arquivo ao professor, por e-mail.

Exercício: Montar comando para publicação do website

Como a atualização do site pode ser bastante comum, é interessante montar um comando ou script que realize a sincronização dos teus arquivos locais com o servidor remoto. Além disso, o website pode conter arquivos grandes, tais como dados e arquivos binários, que não precisam ser copiados em cada atualização do site. A ferramenta de ouro para copiar apenas os arquivos alterados para o servidor é o rsync.

O rsync é incremental e copia apenas as alterações dos arquivos, podendo sincronizar tanto arquivos locais (no mesmo computador), como arquivos remotos. Com ele a sincronização pode ser feita com um script que executa o comando com os parâmetros adequados.

Exemplo:

Partindo do diretório do projeto a ser documentado no seu computador:

  1. Crie o diretório do seu site

    $ mkdir site_projeto

  2. Adicione arquivos

    $ touch site_projeto/meu_arquivo.txt

  3. Crie o script de sincronização

    $ echo "rsync -av site_projeto teu_username@lief.if.ufrgs.br:/home/teu_username/public_html" > atualiza.sh

    $ chmod +x atualiza.sh

  4. Execute o comando de atualização

    $ ./atualiza.sh

  5. Verifique as alterações no site utilizando o seu navegador favorito.

Após a realização destes passos você terá a seguinte estrutura de diretórios e arquivos:

.
├── atualiza.sh
└── site_projeto
    ├── meu_arquivo.txt
    └── pagina.html

Perceba que, neste caso, o script atualiza.sh está em um nível acima em relação aos arquivos do site_projeto. Pode-se considerar manter o script no próprio diretório site_projeto, porém, neste caso ele deverá ser ajustado:

  1. cd site_projeto
  2. echo "rsync -av . teu_username@lief.if.ufrgs.br:/home/teu_username/public_html/site_projeto/" > atualiza.sh

Atenção: Informações sensíveis registradas neste arquivo, tais como senhas, serão copiadas para o servidor.