I think that I have successfully created my own instance of Fargo Publisher, and I learned some lessons along the way that might be helpful to others who wish to create their own instance of Fargo Publisher.
To set up my own server and install Fargo Publisher, I followed the instructions written by Chris Dadswell, including buying a virtual server at CloudAtCost. For the most part, I believe I ended up with the exact same configuration Dave has set up for folks to use on his servers, including storing content on Amazon S3.
My instance of Fargo Publisher is set up in DNS as follows:
frankmcpherson.net is an A record pointing to a Debian VM hosted by CloudAtCost.
blog.frankmcpherson.org is a CNAME record pointing to the S3 bucket hosting the content published by Fargo Publisher.
pub.frankmcpherson.org is a CNAME record pointing to frankmcpherson.net.
I won't repeat the instructions that Chris and Dave have provided, but rather provide a summary of the lessons I learned in order to get everything working.
In order for Fargo Publisher to redirect to S3 it must run on port 80. Initially I set fpServerPort to 8080 as Chris' instructions show. I could access blog content at the URL blog.frankmcpherson.org/users/testing4/ but I could NOT access blog content using testing4.frankmcpherson.net. Fargo Publisher will redirect but appears to need to listen on port 80 in order to do so. At least it would not work for me until I changed it to port 80.
The name that you enter in the Server field in Fargo's CMS settings by clicking [Your Drop box name], Settings, CMS must be a CNAME pointing to the server hosting Fargo Publisher. Further, the CNAME must be associated with a domain other than the one hosting Fargo Publisher.
Initially, I had entered the name of the server hosting Fargo Publisher, frankmcpherson.net and when I did that Fargo would not talk to the publisher. When I tried to check the version of Fargo Publisher by entering frankmcpherson.net/version I would see a message saying there was nothing to display at blog.frankmcpherson.org/users/version.
Next, I tried to create a CNAME on frankmcpherson.net (pub.frankmcpherson.net) and that produced the same result.
Finally, I created a CNAME for frankmcpherson.org, which is the domain I am using to point to S3, and pointed it to frankmcpherson.net. After doing this I could check the version and status of Fargo Publisher, and once I entered that CNAME (pub.frankmcpherson.org) in Fargo, I could publish new content.
Changing the value of the Server field in Fargo's CMS Settings may require completely getting out of Fargo and then reloading to be safe. For some reason there were instances where after I changed publishing server names Fargo refused to communicate with the server and only way I could resolve it was to shut down the tab hosting Fargo. This is happening for me in Chrome.
You can only name an outline once, and that name includes what you specify in fpDomain. After pointing Fargo to my Fargo Publisher server, I tried to move an existing blog I created on smallpict.com (sportsbeat.smallpict.com) to frankmcpherson.net.
Render all pages resulted in no content being pushed to my S3 bucket.
Next I tried to "re-name" the outline by clicking File, Name outline and got a message saying I could not set the name for the outline because it was already named sportsbeat.smallpict.com.
Consequently, it appears the only way you can migrate a Fargo blog from one Fargo Publisher Server to another is to create a new outline in Fargo, copy the content from the old outline to the new, then name that new outline using the name of your choice. While it's pretty simple to copy the contents of one outline to another, this migration step could be simpler.
Remaining issues to resolve:
Fargo is not rendering the links on monthly and yearly index pages and bread crumb navigation links at the top of article pages correctly. As an example, click here, which brings you to the July 2014 index page and then click the title for any one of the articles.
If you click the article titled And It Works! from the July 2014 index you will see the following: There is no content to display at "/blog.frankmcpherson.org/users/testing4/2014/16/andItWorks.html". The URL that is trying to be loaded is http://testing4.frankmcpherson.net/2014/16/andItWorks.html.
The URL above is missing 07 between /2014/16, the correct URL should be testing4.frankmcpherson.net/2014/07/16/andItWorks.html.
If you view source on the page testing4.frankmcpherson.net/2014/07 and search for And It Works! you will see that the anchor link has 16/andItWorks.html.
This issue that I describe above is NOT unique to my instance of Fargo Publisher. This same issue is occuring on pub.fargo.io.
If this publishes I have successfully connected all the dots to get fargoPublisher publishing content AND redirection requests for the content using the outline name as part of the top level name of frankmcpherson.net. Once more?
Tonight I am going to test migrating a blog outline to my fargoPublisher server. First I am going to just switch to my fargoPublisher and see what happens. If I see this render, I will confirm my publisher is still working.
Ok, I see the content publish, so Publisher is working. Now to add content to Sports Beat.
Adding content and saving does not make anything happen. It appears that the outline name is not necessarily stored in the outline.
I just tried to create a name for the existing outline and Fargo prevented me, saying that the outline already has a name, sportsbeat.smallpict.com, so apparently the name is stored with the outline. This means that I will have to create new outlines for when I move the blogs over to my side.
Leave Settings, CMS Server, to frankmcpherson.net:8080.
Leave File, Outline Settings to the default.
If I do the above I can write and publish updates to the AWS S3 bucket hosting blog.frankmcpherson.org.
The Home and Eye icons in Fargo point to [outline name].frankmcpherson.net so it is not bringing up blog site.
All of the navigation links that Fargo creates for the breadcrumbs at the top of the page are pointing to [outline name].frankmcpherson.net so they do not work. (See the links at the top of the page.)
It's strange how once an outline stops publishing, I can never get it to start again. It seems no matter how often I add something to testing3, it never publishes.
Ok, I think I figured that out. I had changed the outline, settings, CMS, site URL to the AWS URL that displays the site. I decided to change it back to testing3.frankmcpherson.net and now it is publishing. I wonder if that is related to fpRedirect?
Curious to see whether I need to redirect the top level URLs. Don't know what will happen here.
Oops! Forgot to source the profile after making the change. Shut down, restart, let's see what happens now.
Well that didn't make any difference, but at least it is now publishing consistently.
I thought I would see if I could create a second note today. Did this work?
It did. I am going to switch back to the smallpict publisher to update my work notes.
I am writing my notes about this testing and they can be accessed via my work notes blog.
Well, now it's not publishing anything!
Ok, switch to frankmcpherson.net:8080, created a new outline and did a render all pages and everything appears!
I tried to create a CNAME and point it to the S3 bucket that but didn't do anything.
How now brown cow?
Will this write?
With luck, this will publish to my S3 bucket using my instance of fargoPublisher.
Now is the time for all good men to come to the aid of their party.
Once more, with feeling!