FreeBSDを使用した仮想マシンでのWeb開発者のスタック

あるコンピューターから別のコンピューターに、そしてあるシステムから別のシステムに移動することに非常に疲れており、開発のための環境を高めています。 私は主にPHP / Pythonで記述しているため、通常はクラシック(M / W / L)AMPバンドルが使用されます。 私は長い間、一部の開発者が仮想マシンに移行したと聞いていましたが、私は自分でこのステップを踏むことを敢えてしませんでしたが、自由時間があり、Web開発のためにスタックを持ち上げて、今では本格的なシステムであるFreeBSDで、VirtualBox仮想マシンを使用しています。



仮想マシンでは、システムはウィンドウなしで最小構成で動作するため、最小限のリソースが必要です。 64MBのRAMでも十分です。 http、sshのポートは外部に転送されます。 その結果、ボックスに本格的なサーバーがあり、実際のシステムの外部では、仮想マシンにアクセスするブラウザー、デバッガー、およびターミナルを備えた本格的なIDE(NetBeans / Eclipse)を使用しています。



したがって、さらにすべてを収集してVirtualBoxの完成したイメージへのリンクを提供する方法を説明します。2番目のステップはIDEを構成することです。





仮想マシンの作成とインストールの詳細はすべて省略しますが、これは面白くなく、それぞれの環境は個別です。 freebsd.orgで、FreeBSD i386 8.1の安定したイメージが取得され、仮想マシンにロードされてからインストールが行われました。



FreeBSDを構成する



インストール後、最初に行うことは、SSHを転送してローカルマシンからアクセスすることです。 そして、仮想マシンのDHCPを介してipを発行します。 /etc/rc.dに次のようなものがあるはずです。

ifconfig_em0 = "DHCP"

sshd_enable = "YES"



次に、VirtualBoxからDHCPを介してem0インターフェイスのIPアドレスを取得することを指摘しました。 残りは必要な悪魔の始まりです。



VirtualBoxを構成する



virtualboxの設定で、[ネットワーク]-> [ポート転送]に移動して、これを行います。







ホストIPはVirtualBoxがインストールされているローカルマシンのIPアドレスです。ゲストのIPはDHCPが発行したアドレスです。ifconfigで確認できます。



便宜上、SSHを介したルートアクセスを許可します。このため、/ etc / ssh / sshd_configにPermitRootLogin yesという行を追加する必要があります。



これで、ローカルマシンからVirtualBoxに接続できます。 デスクトップに応じて、puttyまたはiTermで#ssh 192.168.1.101 -p 2222 -l rootを使用すると、FreeBSDの内部にいます。



次に、ポートとAMPバンドルがインストールおよび更新された後、IDEの構成に進むことができます。



デバッガー設定



微妙な点はデバッグであり、デスクトップからアクセスする必要があります。 すべてが非常に簡単に解決されます。 ポートからVMにxdebug for PHPを配置し、php.ini configに次を追加します。



zend_extension = /usr/local/lib/php/20090626/xdebug.so

xdebug.remote_enable = on

xdebug.remote_log = "/ var / log / xdebug.log"

xdebug.remote_host = 192.168.1.101

xdebug.remote_handler = dbgp

xdebug.remote_port = 9000



ここで、remote_hostは、IDEがポート9000でリッスンするデスクトップのIPアドレスと同じです。



Netbeansでは、すべてがそのままで機能します。Eclipseでは、プラグインを提供する必要があります。 したがって、Netbeans IDEでの作業方法を説明します。



NetBeans IDEの構成



まず、プロジェクトを作成し、ファイルを保存するローカルフォルダーを指定し、そのプロパティ->実行構成に移動して、リモートWebサイト(FTP、SFTP)として起動を選択し、プロジェクトのURLとインデックスファイル(デバッガーに必要)を指定します。







リモート接続では、ポート:2222、ログイン:rootおよびそのパスワードが入力されます。 初期ディレクトリは、Apacheが仮想ホスト用にアクセスするフォルダーを指します。







合計



1)メインシステムには、あらゆる種類の不要なデーモンが詰まっているわけではありません。

2)私は常に本格的なコンソールとシステムのすべての利点(ポート、cronなど)を持っています

3)私のコードの環境は、戦闘条件に可能な限り近いです。

4)あるマシンから別のマシンへの環境の簡単な移植性。

5)すべてが非常に高速に動作します。



ソリューションのエレガンスの追加要素として、私のホームルーターが機能します。 私が現在取り組んでいるプロジェクトを顧客に示す必要がある場合は、ホームルーターのアドレス80をホームルーターから、192.168.1.101:8080をローカルマシンに転送するだけで十分です。



完成した画像はこちらからダウンロードできます。 このイメージには、Apache / PHP +拡張機能/ Python / Mysql / Phpmyadmin / ZendFrameworkなどの現在の安定バージョンが含まれていますSSHログイン:root、パスワード:toor; MYSQLログイン:admin、パスワード:nimda。 デフォルトではドメインとIPアドレスが設定されているため、仮想ホストを書き換えたり、/ etc / hostsを編集することを忘れないでください。



2011年明けましておめでとうございます!



UPD:新しいアーカイブがアップロードされました。最大圧縮の画像の重量が259Mbになり、リンクが更新されました。



All Articles