is a good simple, bare-bones fit for a Jekyll
site once everything is set up. The price can’t be beat, you can put
down a $10 payment and just try it out. With a Jekyll site, that $10
investment should last a while!

Set Up SSH Alias

The first thing to do is set up an ssh alias in your .bashrc file.
The hostname and username that are assigned at nfsn are generally
pretty easy to forget, so I always create an alias for them, like:

alias sshnfsn='';

Once you save the .bashrc file, you can source it with:

. ~/.bashrc

and then test that it works with by running it.


Aside: Public, Private, Protected Directories

On a nfsn site, there are 3 directories in your /home folder.

  • The /home/public folder is your public facing directory. This is
    your website’s public Document Root.

  • The /home/private folder is your private folder where you can store
    git repos, your ruby gems, anything private you need to use or back

  • The /home/protected: let me know if find a use for this.

Set Up Git on NFSN

Once you are ssh’d into nfsn, cd into /home/private and create a
directory for your git repositories and create a bare git repository
for your site.
bash cd /home/private mkdir git cd git mkdir mysite.git cd mysite.git git init --bare

Now you have a bare git repository for your jekyll site. The following
script will create a git post-receive hook, that will run every time
you push to your git repository.



# clone the git repo into the tmp_deploy directory.
# jekyll-ify the site and place html files in /home/public
jekyll --no-auto $TMP_GIT_CLONE $PUBLIC_WWW

rm -Rf $HOME/git/tmp_deploy/$REPONAME/.git/objects
rm -Rf $HOME/git/tmp_deploy/$REPONAME/.git
rm -Rf $HOME/git/tmp_deploy/$REPONAME


Be sure to chmod +x the file:

chmod ug+x /home/private/git/mysite.git/post-receive

Now, every time you “git push” into nfsn this post-receive hook will
auto-regenerate your jekyll site.

Set Up a Git Remote to NFSN

Back on your home computer or wherever you are building your jekyll
site, you need to create a git remote for your nsfn git

cd ~/projects/mysite.git
# substitute in your username, sitename and nfsn hostname
git remote add nfsn ssh://<nsfnusername>-<sitename>@ssh.<hostname>

Now that you have a git remote set up for your jekyll site, you can
Create a page in your jekyll “_post” directory.
Run “jekyll –server” to test it locally at http://localhost:4000.

jekyll --server

If it looks good, add it to your git repository.

git commit -am "new brilliant post!"

Next, push it to your website on nfsn.

git push nfsn master

The post-receive script you created earlier will generate your new public jekyll website automatically.

Test it and enjoy!