Install WebVZ 2.0 On Debian Etch To Administrate OpenVZ

Created/Modified by Edward Tobia to work with WebVZ 2.0. Credits to Mike J ([email protected]) for the WebVZ 1.5 installation instructions as they helped make this version possible!

1.1 Beginnings:

First you must have OpenVZ installed and configured. You can find a tutorial to do this on HowtoForge (https://www.howtoforge.com/installing-and-using-openvz-on-debian-etch). Because of a small problem/error in Debian Etch, it is not possible to update the Rubygems system because a Require in the gems is missing. But we can solve it with a simple edit of the file. WebVZ is one of the simplest and most powerful web management tools for OpenVZ.

 

2.0 Needed Packages:

We must install some additional packages to get WebVZ running. WebVZ does not need a web server, because they deliver it with WebRick.

Let's start...

main:~# apt-get install ruby rubygems libsqlite3-ruby sqlite3 irb1.8 libopenssl-ruby1.8 libreadline-ruby1.8 rdoc1.8 nano

You must say Yes to the installation.

 

2.1 Solve Debian error:

To solve the error on Debian, so that we can update gems you must do the following:

main:~# nano /usr/bin/gem

Edit the file so that it looks like this:

#!/usr/bin/env ruby

#--

# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.

# All rights reserved.

# See LICENSE.txt for permissions.

#++

require 'rubygems'

require 'rubygems/gem_runner'

require 'rubygems/open-uri'

Gem.manage_gems

required_version = Gem::Version::Requirement.new(">= 1.8.0")

unless required_version.satisfied_by?(Gem::Version.new(RUBY_VERSION))

puts "Expected Ruby Version #{required_version}, was #{RUBY_VERSION}"

exit(1)

end

# We need to preserve the original ARGV to use for passing gem options

# to source gems. If there is a -- in the line, strip all options after

# it...its for the source building process.

args = !ARGV.include?("--") ? ARGV.clone : ARGV[0...ARGV.index("--")]

Gem::GemRunner.new.run(args)

Save the file with CTRL + X and type Y to save.

 

2.2 Update Gems:

Type in your console the following to update Gems, without the update WebVZ doesn't run....

main:~# gem update --system

You need to install Rails 2.1.0:

main:~# gem install -v=2.1.0 rails

 

3.0 Configuring WebVZ:

Use the following commands to get WebVZ:

main:~# wget http://ovh.dl.sourceforge.net/sourceforge/webvz/webvz.2.0.tar.gz

Extract the downloaded archive:

main:~# tar -xzvf webvz.2.0.tar.gz

Go into the WebVZ directory:

main:~# cd webvz.2.0

Because of some small changes on the Debian System we need to set some softlinks in our system & create a few directories. Do it exactly as shown, otherwise WebVZ is not usable:

main:~/webvz.2.0# ln -s /var/lib/vz /vz
main:~/webvz.2.0# ln -s /usr/bin/irb1.8 /usr/bin/irb
main:~/webvz.2.0# mkdir /etc/sysconfig
main:~/webvz.2.0# ln –s /etc/vz/conf /etc/sysconfig/vz-scripts

 

3.1 Starting and Setting up WebVZ:

To start WebVZ you can start the server with this command. You can put it in your init.d or start-up scripts if you wish for it to boot up on every start-up.

main:~/webvz.2.0# ruby script/server

If all is well a message will come and say WebRick is started on port 3000.

Now we must connect with a web browser to http://[youripaddress]:3000. Log in with

Username: admin
Passwort: admin123

First of all to secure WebVZ, we need to create an own account. Log in with your account details and destroy the admin account.

 

3.2 After Installation Problems - Fixes:

After installation is complete and you have the WebRick server running you may encounter the following error when logging in/using WebVZ:

Could not find table 'users' 
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
connection_adapters/sqlite3_adapter.rb:29:in `table_structure'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
core_ext/object/misc.rb:28:in `returning'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
connection_adapters/sqlite3_adapter.rb:28:in `table_structure'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
connection_adapters/sqlite_adapter.rb:189:in `columns'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1145:in `columns'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1158:in `column_names'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1171:in `column_methods_hash'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1714:in `all_attributes_exists?'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
inflector.rb:283:in `all?'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1714:in `each'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1714:in `all?'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1714:in `all_attributes_exists?'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:1613:in `method_missing'
app/models/user.rb:13:in `authunticate'
app/controllers/login_controller.rb:16:in `sign_in'

This is a problem with the SQLite3 Adapter that comes with activerecord-2.1.0; I have created a fix in which you must apply the following commands in ssh:

main:~# rm -f /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb
main:~# cd /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/
main:~# wget http://www.eurosrv.com/sqlite3_adapter.rb

This should/will fix the SQLite3 problem with databases not being found.

Everything should now work perfectly!

Share this page:

10 Comment(s)