2. Exercícios preparatórios e instalação do Jekyll
Exercício 1
Copiar arquivos em um diretório disponível em um servidor web sob seu controle
Alunos do IF/UFRGS: 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 2
Criar uma página html mínima (opcional)
-
A partir do
public_html
crie um arquivo chamadopagina.html
$ nano site_projeto/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.
Exercício 3
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.
Má ideia
Copiar usando o gerenciador de arquivos como o Nautilus (mas pode ajudar em emergências).
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/
Instalação do Jekyll
Para instalar a versão mais atual do Jekyll no TropOS / Debian Jessie, utilize os seguintes comandos:
Atualize os pacotes do seu sistema:
sudo apt-get update
sudo apt-get upgrade
Atenção: A atualização dos pacotes no TropOS rodando a partir de um pendrive pode levar algumas horas!
Instale as dependências do Jekyll
sudo apt-get install ruby-full build-essential
Instale o Jekyll e o Bundler usando RubyGems
$ sudo gem install jekyll bundler