I have finished installing the River4 application by Dave Winer. My river is running at http://myrivers.andysylvester.com/. I plan to document my experiences on my weblog, and possibly using the Fargo tool (also by Dave Winer). However, I wanted to highlight several problem areas for a person approaching River4 for the first time and approaching the infrastructure used by River 4 for the first time (Heroku, S3 from Amazon Web Services). For background, I have worked in software development for over 25 years, so I did bring a little experience to the table.
Part of setting up a Heroku account involves supplying a SSH ID file. When I started, Heroku asked me if I wanted to use a file associated with my Github account, or another file (id_rsa.pub). Since I had been working with Github, I selected that file. After a lot of struggles in making my initial Git commit on Heroku, I figured out that I needed to delete the Github key and upload the id_rsa.pub key. Once I did that, I was able to make the commit and create the Node.js application. This was my first big problem to overcome. I don’t remember how I had created my SSH key, but that is another area where some additional information would be good for new users.
S3 Problem Areas
I am an Amazon user, so signing up for Amazon Web Services was not a problem. However, the setting up of a bucket on S3 was not as straightforward. After reading through the River4 README document and Christian Dadwell’s River4 tutorial, I felt that I needed some more information. I found several pages in the AWS documentation that guided me through the bucket creation process (for example, http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html and http://docs.aws.amazon.com/AmazonS3/latest/UG/CreatingaBucket.html). Due to my initial choices in the setup, I caused some problems for myself. When initially setting up the region for the bucket, I chose Oregon because that is where I live. After working through some errors, I believe that “US Standard” is the correct choice. When I went back to Christian Dadwell’s tutorial, I saw that he listed “US Default” in his S3 setup instructions. I found out the hard way that this was an important setting.
Another problem I encountered after correcting that issue was getting “Access Denied” messages in my Heroku logs. Another River4 user, Frank McPherson, mentioned that I might need to change my AWS user permission settings to a “Power User” setting to overcome the “Access Denied” issue. I did that, then ended up moving the setting all the way to the “Administrator” setting. With that change, I was able to see the River4 app start working and displaying some rivers. I think that there should be some other way to facilitate changing of permissions (maybe through a S3 bucket policy change), but this at least got my River4 install running. I greatly appreciate Frank McPherson’s help in this area.
I hope this helps other “new users” for River4. I have enjoyed reading Dave Winer’s rivers linked from Scripting News, and look forward to setting up my own rivers.