在Debian Etch上安装WebVZ 2.0以管理OpenVZ
由Edward Tobia创建/修改以与WebVZ 2.0配合使用。 感谢 Mike J( mike.j@rewt.ch )的WebVZ 1.5安装说明,因为他们帮助使这个版本成为可能!
1.1开始:
首先,您必须安装并配置OpenVZ。 您可以在youcl( https://www.youcl.com/info/5278 )上找到一个教程。 由于Debian Etch中存在一个小问题/错误,因为gem中的Require需要丢失,所以无法更新Rubygems系统。 但是我们可以通过简单的文件编辑来解决它。 WebVZ是OpenVZ最简单,功能最强大的Web管理工具之一。
2.0需要的包:
我们必须安装一些额外的软件包才能使WebVZ运行。 WebVZ不需要一个Web服务器,因为它通过WebRick提供。
开始吧...
main:~# apt-get install ruby rubygems libsqlite3-ruby sqlite3 irb1.8 libopenssl-ruby1.8 libreadline-ruby1.8 rdoc1.8 nano
您必须对安装说“是
”。
2.1解决Debian错误:
要解决Debian上的错误,我们可以更新Gem,您必须执行以下操作:
main:~# nano /usr/bin/gem
编辑文件,使其如下所示:
#!/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)
使用CTRL + X
保存文件并键入Y
进行保存。
2.2更新Gem:
键入您的控制台以下更新Gem,而不更新WebVZ不运行....
main:~# gem update --system
您需要安装Rails 2.1.0:
main:~# gem install -v=2.1.0 rails
3.0配置WebVZ:
使用以下命令获取WebVZ:
main:~# wget http://ovh.dl.sourceforge.net/sourceforge/webvz/webvz.2.0.tar.gz
提取下载的归档文件:
main:~# tar -xzvf webvz.2.0.tar.gz
进入WebVZ目录:
main:~# cd webvz.2.0
由于Debian系统的一些细微变化,我们需要在系统中设置一些软链接并创建几个目录。 如图所示,否则WebVZ不可用:
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启动和设置WebVZ:
要启动WebVZ,您可以使用此命令启动服务器。 如果您希望在每次启动时启动它,您可以将其放在init.d或启动脚本中。
main:~/webvz.2.0# ruby script/server
如果一切都很好,一个消息会来,说WebRick是在3000端口上启动的。
现在我们必须使用Web浏览器连接到http:// [youripaddress]:3000
。 登录
用户名: admin
密封: admin123
首先要保护WebVZ,我们需要创建一个自己的帐户。 使用您的帐户详细信息登录并销毁管理员帐户。
3.2安装后的问题 - 修复:
安装完成后,您正在运行WebRick服务器,登录/使用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'
这是与activerecord-2.1.0一起提供的SQLite3适配器的问题; 我已经创建了一个修复,您必须在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
这应该/将修复没有找到的数据库的SQLite3问题。
一切都应该完美工作!