1. 程式人生 > >Centos6.4安裝opennebula

Centos6.4安裝opennebula

nod tex dir 替換 get nsa mina ransac mach

Centos6.4安裝opennebula

#安裝163源
http://mirrors.163.com/.help/CentOS6-Base-163.repo
#安裝epel源
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum localinstall epel-*
#驗證查看是否成功安裝:
yum repolist
#安裝numpy(須要python-devel)
地址:http://www.scipy.org/scipylib/download.html
#解壓之後cd進入
python setup.py
install #opennebula 官網下載安裝包 地址:http://opennebula.org/software/ cd opennebula-4.12.1-1 yum localinstall opennebula-ruby-4.12.1-1.x86_64.rpm
錯誤:
Error: Package: opennebula-ruby-4.12.1-1.x86_64 (/opennebula-ruby-4.12.1-1.x86_64)
           Requires: rubygem-sqlite3-ruby
Error: Package: opennebula-ruby-
4.12.1-1.x86_64 (/opennebula-ruby-4.12.1-1.x86_64) Requires: rubygem-uuidtools Error: Package: opennebula-ruby-4.12.1-1.x86_64 (/opennebula-ruby-4.12.1-1.x86_64) Requires: ruby-mysql Error: Package: opennebula-ruby-4.12.1-1.x86_64 (/opennebula-ruby-4.12.1-1.x86_64) Requires: rubygem-sequel
You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 解決方式: yum install ruby ruby-devel rubygems gem install rack gem install sqlite3-ruby 這裏依舊是各種失敗,後來發現是yum自己主動安裝的ruby的版本號過低。又一次安裝高版本號ruby yum remove ruby https://www.ruby-lang.org/en/downloads處下載ruby tar zxvf ruby-2.2.2-tar.gz cd ruby-2.2.2 ./configure --with-openssl-dir=/usr/lib/openssl make make install
cd  opennebula-4.12.1-1
yum localinstall opennebula-ruby-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-common-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-4.12.1-1.x86_64.rpm
yum localinstall opennebula-sunstone-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-server-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-java-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-gate-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-flow-4.12.1-1.x86_64.rpm 
yum localinstall opennebula-debuginfo-4.12.0-1.x86_64.rpm
yum localinstall opennebula-node-kvm-4.12.0-1.x86_64.rpm 

vi /etc/sysconfig/selinux
#改動
SELINUX = disabled
setenforce 0
getenforce 
#顯示Permissive
systemctl stop  iptables 
#在centos6.4下systemctl命令不存在,我們用chkconfig取代
chkconfig iptables off

vim /etc/one/oned.conf
#取消mysql的凝視
DEFAULT_DEVICE_PREFIX = "vd"

# Sample configuration for MySQL(mariadb)
DB = [ backend = "mysql",
       server  = "localhost",
       port    = 0,
       user    = "oneadmin",
       passwd  = "oneadmin",
       db_name = "opennebula" ]

/etc/init.d/mysqld start
#下面數據庫設置參考
mysql -u root -p
#In mysql
/*GRANT ALL PRIVILEGES ON opennebula.* TO ‘oneadmin‘ IDENTIFIED BY ‘oneadmin‘;*/
上面是官網設置。我發現有問題,要依照例如以下設置:
GRANT ALL PRIVILEGES ON opennebula.* TO ‘oneadmin‘@‘localhost‘ IDENTIFIED BY ‘oneadmin‘
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
exit;

su oneadmin
one start
錯誤:
#Oned failed to start /usr/bin/one:line 117 14118 Terminated
rm -I /var/lib/one/.one/sunstone_auth onegate_auth oneflow_auth occi_auth ec2_auth
one start
sunstone-server start
錯誤:
#cannot load such file -- sinatra
gem install sinatra
#cannot load such file -- builder
gem install builder
sunstone-server start
錯誤:
#使用localhost:9869能夠登錄,可是使用IP地址不行
vim /etc/one/sunstone-server.conf
將:host: 127.0.0.1 改動為 :host:0.0.0.0
#[VirtualMachinePoolInfo] User couldn‘t be authenticated, aborting call
這是由於在web頁面上改動了登錄password,可是此更新沒有同步到/var/lib/one/.one/one_auth,須要將新password寫入到該配置文件裏就可以。若該文件權限不正確則也會報錯。

忘記oneadmin的默認password
opennebula默認的password是在/var/lib/one/.one/one_auth中。


opennebula使用sha1來加密用戶password。所以我們使用sha1加密器加密123456並得到加密字符串,然後登錄進數據庫,在opennebula數據庫中的user_pool表中記錄了用戶的信息,並且body字段中 間的數據即為相應用戶的password加密字符串。


我們用得到的加密字符串來替換user_pool表中username為oneadmin列的body字段中 間的數據。
然後改動/var/lib/one/.one/one_auth文件內容:oneadmin:123456
好了。這下就能用password123456登陸了

Centos6.4安裝opennebula