電気羊の執務室

魔法を作る仕事をしています。

Bitnamiの仮想マシンを使うためのステップ

WordPressを使ったWebサイト作りをしようとしています。 ローカルの仮想サーバーでサイトのソースをGitに上げ、 公開用のサーバーでGitからPullすることで、デプロイする構成です。

そこで、ローカルの仮想サーバーには、 WordPressとMySQLとPHPのスタックである、 bitnamiを使ってみます。

bitnami仮想マシンのダウンロード

bitnamiを使うためには、2つの方法があります。

  1. 既存の仮想マシンに、bitnamiをインストールする
  2. bitnamiインストール済の仮想マシンを、新規にダウンロードする

今回は、2.を解説します。 公式サイトから、bitnamiがインストールされた仮想マシンをダウンロードします。

sshの導入

コマンドラインから操作するため、仮想マシンでsshを有効にします。 公開鍵の受け渡しが、最も苦労した部分です。

公開鍵の渡し方

仮想サーバーの公開鍵を、開発用マシンに渡すための方法は、 次のような選択肢があります。

  1. 仮想マシンがSmabaサーバーとなり、ホストOSのがクライアントとなってファイルを受け渡す
  2. 逆に、ホストOSの共有フォルダに、仮想マシンからアクセスしてファイルを受け渡す
  3. GitHubなど、外部ストレージを経由してファイルを受け渡す

ここでは、2.を解説します。

VMware-Toolsの導入

ホストOSの共有フォルダにゲストOSからアクセスするには、
VMware-Toolsをインストールします。

別の記事にまとめていますので、参照してください。 vmware-tools-install

ssh鍵の生成

ホストOSで、以下のコマンドを入力します。

sudo ssh-keygen

画面に従ってパスワードを入力すると、公開鍵と秘密鍵が生成されます。 id_rsa.pubファイルが公開鍵、id_rsaファイルが秘密鍵です。

公開鍵を、共有フォルダに置く

これから、いまホストOSで作った公開鍵をサーバーに渡します。

まず、id_rsa.pubファイルを、ホストOSの共有フォルダにコピーします。 オイラの環境では、Macの~/shareフォルダです。

マウスでポイっと入れればOKです。

ゲストubuntuに、ホストOSの公開鍵をインストール

共有フォルダに入れた公開鍵を、ゲストOSから見てみます。

$ ls /mnt/hgfs/share
> id_rsa.pub

ホストOSの公開鍵が見えています。 これを、ゲストOSにインストールします。

でも、いったいどこにインストールするのでしょうか?

サーバーには『この鍵をくれたマシンのアクセスには応じるよ』というファイルがあります。
authorized-keysというファイルです。 今回受け取った公開鍵を、authorized_keysファイルに追記します。

このファイルには、複数の鍵を書き込むことができます。 上書きすると、今までアクセスできたマシンがアクセスできなくなる、 という現象が起こりますよ。

cat /mnt/hgfs/share/id_rsa.pub >> /home/bitnami/.ssh/authorized_keys

>>に注目。

これで、ゲストOSに、ホストOSの公開鍵がコピーされました。

sshの設定

ゲストOSで、以下のコマンドを実行します。

$ sudo vi /etc/ssh/sshd_config

以下の行を探して、下のように変更します。

ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no

sshデーモン、いでよ!

ゲストOSがアクセスを待ち構えるために、 sshデーモンを召喚します。 このデーモンが、サーバーの門番を務めてくれるわけです。

召喚の呪文は、これです。

$ sudo start ssh

これで、ゲストOS上でsshが有効になりました。

ホストOSからアクセスしてみる

ホストOS上で、sshコマンドを入力します。

ssh 192.168.100.xxx(ゲストOSのIPアドレス)-l bitnami

ゲストOSのIPアドレスは、ゲストOSでifconfigコマンドを使用すると、
表示されます。
・・・大丈夫ですよね??

あと、-l bitnamiの部分がなんなのかというと、 bitnamiユーザーでログインします、という意味です。 サーバーにはbitnamiユーザーしかいないため、 他のユーザーではログインできません。

別のユーザーを作っている場合は、 そのユーザー名を指定してください。

これを指定しない場合は、ホストOSのユーザー名でログインします。

$ ssh 192.168.100.101 -l bitnami         
> The authenticity of host '192.168.100.101 (192.168.100.101)' can't be established.
> RSA key fingerprint is 86:74:fe:6b:8b:b1:c2:64:3f:d0:80:bc:92:f3:c0:75.
> Are you sure you want to continue connecting (yes/no)? yes

何か聞かれた場合は、yesと答えて下さい。

> Warning: Permanently added '192.168.100.101' (RSA) to the list of known hosts.
> Last login: Tue Jul  3 13:10:37 2012

これで、sshログインできました。
めでたし。

Comments