開発環境構築

Fedora上でFacebookアプリをPerlで作ることになったので、まずは開発環境の構築からやっていきたいと思います。

現在、Webアプリ開発用の環境(VPS契約やPocketWi-Fiのプロトコル制限解除)を行なっていて実際の運用環境には手が出せないので、まずはローカルの仮想環境でチュートリアル的な事をやって見ることになりました。

仮想マシンはVirtualVox、OSはFedora16です。また、ホスト環境はMacBook ProのEerly2011モデルです。

<備忘録>

新規に作成する仮想ディスクは、VDIのDynamic Allocateでメモリ2048M、ディスク容量20Gにしました。

仮想環境にはホスト側からsshするので、仮想マシン設定画面のネットワークタブを選択し、アダプタ2を有効化してホストオンリーアダプタを割り当てます。 

初回起動時のディスクイメージには、予めダウンロードしたFedora16のx86_64イメージをセットして、インストールを行います。

途中、ストレージデバイスの警告が出るので、リセットして進みます。

 

インストール設定の所でWebサーバを選択します。Xとかいらないものは消すので、下のRadioBOXでCustomize now を選択し、
  • デスクトップ環境のGNOMEを外す
  • アプリケーションのグラフィカルインターネットを外す
  • 開発環境のWeb開発環境、開発ツール、開発ライブラリをチェック
  • サーバーのDNS,FTP,MySQL,PostgreSQL、ネットワークサーバー、メールサーバーをチェック
  • ベースシステムのXと管理ツールを外す
としました。まぁ、ローカルの仮想環境だしWeb開発以外にも遊んだりするので、適当に。
インストールが完了して再起動したら、rootでログインしておなじみの作業をすすめていく。
 
#yum update
#useradd -G wheel admin
#passwd admin
 パスワードを二回入力
#logout
作業用ユーザadminでログイン
$ifconfig
 ホストからsshするためのアドレスを確認。僕のだと192.168.56.101。DHCPが嫌なら設定をすればいい。
で、ホスト側のターミナルからsshしようとすると、
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
って出る。そういえば、過去にVM上のCentOSにホスト側からsshしてwebアプリを開発したことがあったので、192.168.56.101が今回の仮想マシンと前回の仮想マシンで競合しているっぽい。
今回はsshをリセットする方法で対応する。ホスト側のターミナルで、
$ssh-keygen -R 192.168.56.101
$ssh admin@192.168.56.101
とすると、今回作成したFedora仮想マシンsshできた。
 
開発用仮想環境だからセキュリティとか適当に作ったけど、実際の環境では
  • iptablesでファイヤーウォール構築
  • sshポートをデフォルトから変更
  • 各serviceを動かせるユーザを設定(特にhttpdsshdは分離させたり)
  • sshのrootログイン禁止、rsa認証設定、パスワード認証禁止
とかやるべきことが多いなぁ...