É 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
-
Acesse sua conta no lief
$ ssh teu_login@lief.if.ufrgs.br
-
Crie o diretório public_html e configure para leitura pública
$ mkdir public_html
$ chmod 755 public_html
-
Vá para o diretório e crie um arquivo
$ cd public_html
$ touch teste.txt
-
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
-
A partir do
public_html
crie um arquivo chamadopagina.html
$ nano pagina.html
-
Adicione o seguinte código html no arquivo
-
Salve e saia do editor nano
Ctrl + o
salva arquivo -> digite enter para confirmar o nome do arquivoCtrl + x
sai do nano -
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:
-
Crie o diretório do seu site
$ mkdir site_projeto
-
Adicione arquivos
$ touch site_projeto/meu_arquivo.txt
-
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
-
Execute o comando de atualização
$ ./atualiza.sh
-
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:
cd site_projeto
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.