WordPressを使ったWebサイト作りをしようとしています。 ローカルの仮想サーバーでサイトのソースをGitに上げ、 公開用のサーバーでGitからPullすることで、デプロイする構成です。
そこで、ローカルの仮想サーバーには、 WordPressとMySQLとPHPのスタックである、 bitnamiを使ってみます。
bitnami仮想マシンのダウンロード
bitnamiを使うためには、2つの方法があります。
- 既存の仮想マシンに、bitnamiをインストールする
- bitnamiインストール済の仮想マシンを、新規にダウンロードする
今回は、2.を解説します。 公式サイトから、bitnamiがインストールされた仮想マシンをダウンロードします。
sshの導入
コマンドラインから操作するため、仮想マシンでsshを有効にします。 公開鍵の受け渡しが、最も苦労した部分です。
公開鍵の渡し方
仮想サーバーの公開鍵を、開発用マシンに渡すための方法は、 次のような選択肢があります。
- 仮想マシンがSmabaサーバーとなり、ホストOSのがクライアントとなってファイルを受け渡す
- 逆に、ホストOSの共有フォルダに、仮想マシンからアクセスしてファイルを受け渡す
- 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ログインできました。
めでたし。