If everything has gone as planned, I will have moved these work notes over to my own domain. New outlines and sites all around!

07/18/14; 01:12:03 PM

The remaining piece of the puzzle to moving to my own fargoPublisher server is getting the blog site to publish to a URL that is more friendly than the directory structure that fargoPublisher publishes to.

As currently exists, fargoPublisher writes content to [bucket name]/users/[outline name] and therefore, rather than being able to access a site at example.com, you have to enter example.com/users/test.

From how things work with the "default" pub.fargo.io configuration, it looks like the outline name should be the host name part of the fargoPublisher server and redirects automatically to the S3 bucket, but doesn't seem to work regardless of whether fpRedirect is true or false.

Here is an example:

  • URL pointing to S3 bucket: blog.frankmcpherson.org

  • URL pointing to my fargoPublisher server: frankmcpherson.net

  • An outline named sports is published to blog.frankmcpherson.org/users/sports/

Right now, to access the site I have to enter blog.frankmcpherson.org/users/sports/ but what I want, and what Fargo appears to expect, is to be able to access the site by via sports.frankmcpherson.net, but so far I have not found a way to make fargoPublisher redirect to the AWS bucket.

  • In other words, when someone enters sports.frankmcpherson.net, the server hosting fargoPublisher would seamlessly redirect to blog.frankmcpherson.org/users/sports/.

I did find a work around, but it is a little costly and I would need to figure out how to automate it to make it work. I created a S3 bucket named sports.frankmcpherson.net. (By creating a CNAME that points to that S3 bucket) and configured it to host a static web site. Next, I manually copied the contents of blog.frankmcpherson.org/users/sports to sports.frankmcpherson.net. After I manually made this change, all of the navigation and the Fargo buttons work as expected.

If I were to keep the workaround in place, that means I need to have two copies of my blog content on S3, and I need an automated way for keeping the buckets in sync.

Another note... the issue is caused by Fargo's support for publishing multiple blogs. I could configure fargoPublisher to write content to the root of the S3 bucket but that would mean that I could only write & publish one blog with Fargo as opposed to writing and publishing multiple blogs.

A thought... if there was a way to override fpHostingPath with a directive one could tell fargoPublisher to publish content for an outline to a specific S3 bucket to which I point to using a CNAME of the fpDomain. It means I would need to create a bucket for each blog, which I am willing to manually do (essentially each such S3 bucket is a web server hosting a blog), but it would mean that I would only need one copy of the content in S3.

UPDATE:

  • I figured out the problem. In order for Fargo Publisher to properly direct content on the S3 bucket it MUST be listening on Port 80. The instructions I was following directed me to configure it for port 8080. Once I got publisher.js listening on port 80, everything worked as expected. Getting publisher.js top listen on port 80 on my server required running it under a different user id than the one that I was using.
07/15/14; 09:13:41 PM

Tonight I am going to try re-publishing one of my blogs to my S3 bucket to see if it works. First I am going to try by just changing the fargoPublisher server in Fargo without re-naming the outline to see if that works.

See my notes over on my fargoPublisher blog.

07/15/14; 06:45:19 PM

I have successfully created a new blog and made several updates. Main thing remaining I think is the navigation and Fargo links to the blogs hosted in my S3 bucket. Here is a summary of the testing.

I've browsed through the source code and after reading that Chris has moved the storage for his Fargo blog from Amazon to another site, I am thinking there is a problem with URL redirects to S3 buckets. I don't know how Dave is working around the problem. I am curious to see whether Chris is still running fargoPublisher or if he has come up with something else to copy the HTML content from Dropbox to another web server.

07/14/14; 01:41:14 PM

I did some work following these instructions written by Chris Dadswell for setting up my own Fargo Publisher server, and got it sorta working. No where ready for prime time though.

I did encounter an error with the instructions for installing node.js on Debian. After I followed the instructions, node.js was not running and the reason is that there is a step missing. According to the instructions I found on Github, the last step is:

  • sudo dpkg -i node_*

One thing that I do not understand is, what is the relationship between fpDomain and what you provide in the Server field of the CMS Settings in Fargo. Right now, I am seeing some intermittent results depending on what I enter in the Server field of CMS Settings. The instructions that Dave provides suggest they need to be the same, but that doesn't align with how I understand how everything is set up.

My confusion may be partly caused by what Dave refers to about domains for users accounts. As is the "default" configuration of Fargo, the URLs for published blogs appears to be a CNAME associated with smallpict.com. The CNAME is the same as the name assigned to an outline and most be unique per instance of the fargoPublisher.

For example, the name of the outline in which I am writing these notes is frank-notes and the URL to the published blog for this outline is frank-notes.smallpict.com. It looks as though in order for DNS to find the blog, a CNAME record of frank-notes is created for domain smallpict.com and is configured to point to [S3 bucket name]/users/[outline name].

Based on my understanding of fargoPublisher, I expect that in this set up fpDomain=smallpict.com and I would expect that would also be in the Server field of the CMS Settings in Fargo, but instead the default server is pub.fargo.io. Or in other words, Dave's instances of fargoPublisher is running on smallpict.com, but if that is true, then how is the Server field different, I think it has to be the same as fpDomain.

I may be wrong about smallpict.com and I am just seeing some DNS & CNAME usage to cover up the S3 bucket path to the rendered blog pages, in which case fpDomain is likely set to either pub.fargo.io or fargo.io. BUT the example deployment instructions Dave has on Github shows fpDomain as smallpict.com.

I think are more clues to piecing this all together are in the Github instructions and the Google group.

07/13/14; 10:11:43 PM

Last built: Wed, Feb 17, 2016 at 3:27 PM

By Frank McPherson, Sunday, July 13, 2014 at 10:11 PM.