kvm管理ソフトウェアにKumuchiというソフトウェアがある事を知りました。早速、Ubuntu20.04へインストールしてみます。
19.04までしか対応したインストール解説が無かったため、トライアンドエラーで動かしましたので、違っている箇所があればご教示ください。
前提条件
- Ubuntu Server 20.04
- Apache2.4
- KVM
- Kimchi
インストール方法
# パッケージの最新化と再起動
sudo apt update; sudo apt upgrade; sudo reboot
# 必要なパッケージをまとめて導入。Apacheは入っている前提です。
sudo apt install -y python3-configobj python3-lxml python3-magic python3-paramiko python3-ldap spice-html5 novnc qemu-kvm python3-libvirt python3-parted python3-guestfs python3-pil python3-cherrypy3 libvirt0 libvirt-daemon-system libvirt-clients nfs-common sosreport open-iscsi libguestfs-tools libnl-route-3-dev python3-cheetah
# KVMが使えることを確認。
kvm-ok
# cherrypy3がapt版だと動かないので、削除してpip3でインストール
sudo apt-get remove python3-cherrypy3
sudo pip3 install cherrypy
sudo pip3 install ethtool
# wokをdebファイルを作成してインストール
cd /tmp
wget https://github.com/kimchi-project/wok/archive/3.0.0.tar.gz
tar -zxvf 3.0.0.tar.gz
cd wok-3.0.0
sudo ./autogen.sh --system
make ; make deb
sudo apt install ./wok-3.0.0-0.ubuntu.noarch.deb
# kimchiのインストール
cd /tmp
git clone https://github.com/kimchi-project/kimchi kimchi
cd kimchi
sudo ./autogen.sh --system
make; make deb
sudo apt install ./kimchi-3.0.0-6.git5e064518.noarch.deb
sudo -H pip3 install /tmp/kimchi/requirements-UBUNTU.txt
# kimchiをapacheで使うために以下設定。
# 特に__puycache__は無いとエラーになる。
sudo touch /etc/wok/plugins.d/__pycache__.conf
sudo a2enmod ssl
sudo a2enmod rewrite
# wokdの再起動(startで良いんですが、面倒なので)
sudo systemctl restart wokd.service ; sudo systemctl status wokd.service
# Apacheの設定を入れる
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/kimchi.conf
Listen 8001
Listen 8000
<VirtualHost *:8001>
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
Timeout 600
LimitRequestBody 4294967296
SSLEngine on
SSLCertificateFile /etc/wok/wok-cert.pem
SSLCertificateKeyFile /etc/wok/wok-key.pem
SSLOpenSSLConfCmd DHParameters /etc/wok/dhparams.pem
SSLSessionCacheTimeout 600
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:64667/$1 [P,L]
ProxyPass /websockify http://127.0.0.1:64667/websockify
ProxyPassReverse /websockify http://127.0.0.1:64667/websockify
ProxyPass / http://127.0.0.1:8010/
ProxyPassReverse / http://127.0.0.1:8010/
</VirtualHost>
<VirtualHost *:8000>
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
RewriteEngine On
RewriteRule ^/(.*)$ https://%{SERVER_NAME}:8001/$1 [R]
</VirtualHost>
__EOF__
# kimchiを有効にする
cd /etc/apache2/sites-enable/
sudo ln -s ../sites-available/kimchi.conf kimchi.conf
# apacheを再起動する
sudo systemctl restart apache2.service ; sudo systemctl status apache2.service
# ログ確認しながら画面確認する
sudo tail -f /var/log/wok/wok-*.log
WEB画面からの設定
上記まででとりあえずインストール完了です。あとは、適当にhttps://対象サーバのIP:8001にアクセスしてログイン、設定してください。ログインユーザーはUbuntu上で、先ほどまでsudoコマンドを利用して作業していたユーザーです。(pamモジュールを使っているようで、OSのユーザーを利用しているようです)
プラグインを有効にしないと、kimchiの操作が出来ないので、プラグインを有効にしておきます。
私の環境での導入について以下で詰まりましたので、参考までにコメントしておきます。
〇wokのビルド・導入
・一般的な話かもしれませんが、automake初めてだったので、”required file ‘build-aux/*”のエラー。automake -c -aで対処
・以下のパッケージがなかったので追加でインストール※Gitのページに記載の必要パッケージも全部いれればいい話ですね
xsltproc
gettext
・以下の記載を参考に、dependencies.yamlのUbuntuのpython-m2cryptoをpython3-m2cryptoに修正
https://github.com/kimchi-project/wok/pull/302
〇サービスの有効化
apacheパッケージのみインストールして終わりだと、wokサービスの起動でエラーが出るので’、python3-pam、python3-psutilパッケージを追加
a2enmodでproxy_httpも有効化
以上で無事動作しました。
コメントありがとうございます。
あまりインストールに関する情報が無いものですので、非常に有益で助かります。