Forums Instiki

Dreamhost installation issues

Subscribe to Dreamhost installation issues 16 posts, 2 voices

 
joelwatsonfish 7 posts

I’m not sure if this is the right place to post this, so my apologies if not.

I’m trying to install instiki on a new Dreamhost account. Since I don’t have super-user access, I can’t follow the usual instructions, and instead tried to follow the hosted services instructions, but I’m having some difficulties.

The first issue is that if I follow the instructions and try

$ ./instiki

I get an error message containing the line

‘ruby_20’ is not a valid platform

I edited the Gemfile replacing the string

[:ruby_20, :ruby_21, :ruby_22]

with the string

[:ruby]

Then when I run

$ ./instiki

I get the following:

NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from ./config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
=> Booting Thin
=> Rails 2.3.18 application starting on http://0.0.0.0:2500
/home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require': /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:263: invalid regular expression; [:word:] is not a character class: /[[:word:]]/ (SyntaxError)
/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:267: invalid regular expression; [:word:] is not a character class: /[[:word:]]/
	from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
	from /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku.rb:91
	from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
	from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
	from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `each'
	from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `require'
	from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `each'
	from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `require'
	from /usr/lib/ruby/vendor_ruby/bundler.rb:120:in `require'
	from ./config/boot.rb:130:in `load_gems'
	from ./config/../vendor/rails/railties/lib/initializer.rb:164:in `process'
	from ./config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
	from ./config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
	from /home/myusername/mydomainname.org/config/environment.rb:14
	from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
	from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
	from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:547:in `new_constants_in'
	from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
	from /home/myusername/mydomainname.org/config.ru:3
	from /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
	from /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
	from /home/myusername/mydomainname.org/config.ru:1:in `new'
	from /home/myusername/mydomainname.org/config.ru:1
	from ./instiki:6:in `eval'
	from ./script/server:86
	from ./instiki:6:in `load'
	from ./instiki:6

If I go to http://mydomainname.org I get the error message:

/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:263: invalid regular expression; [:word:] is not a character class: /[[:word:]]/
/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:267: invalid regular expression; [:word:] is not a character class: /[[:word:]]/ (SyntaxError)
  /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
  /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
  /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku.rb:91
  /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
  /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
  /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `each'
  /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `require'
  /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `each'
  /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `require'
  /usr/lib/ruby/vendor_ruby/bundler.rb:120:in `require'
  ./config/boot.rb:130:in `load_gems'
  ./config/../vendor/rails/railties/lib/initializer.rb:164:in `process'
  ./config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
  ./config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
  ./config/environment.rb:14
  config.ru:3:in `require'
  config.ru:3
  /usr/lib/ruby/vendor_ruby/rack/builder.rb:51:in `instance_eval'
  /usr/lib/ruby/vendor_ruby/rack/builder.rb:51:in `initialize'
  config.ru:1:in `new'
  config.ru:1

I’m not sure what to do at this point. If it helps, I’m using ruby 1.8.7, Rails 3.0.3, bundler 1.10.6

 
distler Moderator 123 posts

Hmmm. I’m afraid that Maruku no longer supports Ruby 1.8.x (which is EOL). I think you need at least Ruby 1.9.3.

I guess I should update the documentation accordingly …

 
distler Moderator 123 posts

On the other hand, if you’re just using ASCII characters, you can replace [[:word:]] with \w on lines 263 and 267 of vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb and not run into any problems.

 
joelwatsonfish 7 posts

edited 8 years ago

Thanks for the help. I emailed the the folks at Dreamhost (who seem quite helpful), and they sent me this back.

I switched his ruby version to < 2.0 (the error he was getting was an issue with bundler and that ruby version). I then replaced the word string with /w as dictacted in the forum he linked us to and ran d a bundle install with the new ruby version. Now his site is getting this:

App 24716 stdout:   Status: 500 Internal Server Error
App 24716 stdout:   uninitialized constant
Rack::MethodOverride::REQUEST_METHOD
App 24716 stdout:
/home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:131:in
`const_missing'

They suggested I bring this error back to the boards here to see if you knew what was going on. When I run

$ ./instiki --daemon

I get the following:

/home/myusername/mydomainname.org/vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
	from /home/myusername/mydomainname.org/config/boot.rb:62:in `load_initializer'
	from /home/myusername/mydomainname.org/config/boot.rb:126:in `run'
	from /home/myusername/mydomainname.org/config/boot.rb:26:in `boot!'
	from /home/myusername/mydomainname.org/config/boot.rb:139:in `<top (required)>'
	from /home/myusername/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /home/myusername/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /home/myusername/mydomainname.org/script/server:3:in `<top (required)>'
	from ./instiki:6:in `load'
	from ./instiki:6:in `<main>'

And again if it’s helpful I have the following.

$ ruby -v

ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]

$ rails -v

Rails 4.2.5

$ bundler -v

Bundler version 1.10.6

Again, any help would be appreciated.

 
distler Moderator 123 posts

I’m sorry. I am quite confused as to your configuration.

In your first message, you indicated that

  1. You had willy-nilly modified your Gemfile. Did you revert that modification before trying again?
  2. Your Ruby version was 1.8.7.

Now you tell me that progress was made by downgrading your Ruby version to “<2.0”?!?

That said, I sorta understand the error about Gem.source_index. The version(s) of Rubygems which came with Ruby < 2.0 had that method. Later versions do not. So there’s a monkey-patch in config/boot.rb to supply the missing method for Ruby ≥ 2.0.

Evidently, you have the odd combination of an old (1.9.3) version or Ruby and a recent version of Rubygems.

Maybe you should start again with

  • an unmodified installation of Instiki.
  • a recent version of Ruby: I recommend 2.1 or 2.2.

Run ruby bundle install and see what happens. If that fails, post your errors here. If it succeeds, but then ./instiki fails, post your Gemfile.lock, so we can see what got installed.

 
joelwatsonfish 7 posts

I edited the Gemfile because following the instiki Hosted Services instructions caused an error, and google searching the error for a while turned up the suggestion to make the modification the the Gemfile. It seemed to make progress, but maybe not.

Ruby 1.8.7 seems to be the default version on Dreamhost, and so I think because you wrote

Hmmm. I’m afraid that Maruku no longer supports Ruby 1.8.x (which is EOL). I think you need at least Ruby 1.9.3.

they upgraded me from 1.8.7 to 1.9.3, but not to 2.x (at least, I’m assuming that’s an upgrade). Later today I’ll try to uninstall everything, and start from scratch, although if I want to run Ruby 2.1 or 2.2 I think I’m going to have to build it from source, which I don’t know how to do yet. I’m used to installing via yum/apt-get, so if you could point me to a link to build from source, that would be helpful. If not, I’ll figure try to figure it out on my own, and post the output here.

Thank you very much for your help.

 
distler Moderator 123 posts

“… although if I want to run Ruby 2.1 or 2.2 I think I’m going to have to build it from source, which I don’t know how to do yet.”

Build Ruby from source? I don’t think you want to do that (unless you really have to). It would be better to have a known-working version of Ruby, so that we don’t have to debug possible problems in your Ruby installation as well (well, OK, technically we are already doing that, since your versions of Ruby and Rubgems aren’t totally compatible).

Instiki should work fine with Ruby 1.9.3, if that’s really the most recent version you have access to. We’d just need to modify a line in config/boot.rb to take care your problem with Rubygems.

 
joelwatsonfish 7 posts

Okay, I have a fresh account to start with. I set up passenger, backed up all files and folders in ~/BACKUP/ and I’ve done nothing else with the clean account.

$ ruby -v

ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

$ rails -v

Rails 3.0.3

$ bundler -v

-bash: bundler: command not found

What should my next step be? Update Ruby, or follow the hosted services instructions?

 
distler Moderator 123 posts

I think it would be better to start with a more recent version (≥1.9.3) of Ruby.

What are your options for that?

 
joelwatsonfish 7 posts

There aren’t any options that are completely obvious to me (e.g. one click/command install/update etc.). Google searching a bit turns up the following.

  1. Building ruby from source: how to

  2. Another build ruby from source: how to

  3. Installing via RVM how to

  4. Installing via rbenv how to

I think to install RVM I need to run a VPS which increases my monthly costs significantly.

 
distler Moderator 123 posts

rbenv is certainly the preferred way to get multi-version Ruby support. So I would go with that, and target Ruby 2.1 or 2.2.

 
joelwatsonfish 7 posts

I tried following the instructions to install rbenv and got stuck at the line

$ bundle install

as it gives the error (in red)

Could not locate Gemfile or .bundle/ directory

I found a Gemfile in a couple of subdirectories of ~/.rbenv/ but it’s not in my ~/websitename/ directory, which is where the script was supposed to be run from. I posted the same question on the forum/comments section there, but it looks like it’s been a year since the guy responded last, so I’m not sure if I’ll get a response. Any thoughts?

[EDIT:] I should add that I was trying to install Ruby 2.2.0

 
distler Moderator 123 posts

OK. So let’s assume you’ve gotten that far correctly. cd to your Instiki directory and try

ruby --version
ruby bundle install

The first command should return the version of Ruby you’re using (hopefully 2.2). The second should run the included version of Bundler (as opposed to the one you installed via rbenv).

 
joelwatsonfish 7 posts

Since I haven’t tried installing Instiki, I don’t have have an Instiki directory, however from my home directory, the following

$ ruby --version

yields

ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

However, from /home/username/.rbenv/versions/2.2.0/bin/ the following

$ ruby --version

yields

ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]

 
distler Moderator 123 posts

The whole point of rbenv (or rvm) is to set up your paths correctly so that, when you type ruby, you get the desired executable. I don’t know anything about Dreamhost, and didn’t really read the rbenv installation instructions that you followed, but evidently they didn’t quite achieve the desired result.

Forums Instiki