まあMAMPとかXAMPPとかでもいいんですがlinux側(centos)もっと触りたーいとか
MACの環境はクリーンなほうがいい〜とかあるわけで自分は後者でMACにはxcodeとvim拡張ぐらいしかいれないクリーンな環境を保持したいので
書いてみました。
homebrewでもいいんですがそれを見つけるためにまたググるのが億劫で。。。
環境 macosx10.8(ホストOS) centos6.3 x86(ゲストOS)
- 多分windowsでもほぼ同様にいけると思います。
- ホストOSが32bitのバージョンの場合は落とすisoは32bit版を落としてください。
参考にしたサイト
- 仮想環境VirtualBoxでのネットワークの設定
- [virtualbox][network][tips] VirtualBox を利用する際のネットワーク設定の話
- VirtualBox for OSX に Linux(CentOS6.3)をインストール
##利便性について
virtualboxは仮想環境のエキスポートで他のメンバーに自分の環境を渡すことができます。
設定といえば共有フォルダの設定変更くらいです。
ネットワークの再設定とかも必要なしです。
用語の説明
自分は正直linux詳しくないのでまず用語がわからないので苦労した
よくググると出てくるキーワード
ホストOS
これは自分の使っているマシンのことを指します
ゲストOS
入れたいOSのことです。今回はcentOSを入れる予定なのでcentOSを指します。
virtualboxの入手
まずはここから
Download VirtualBox
MACの場合はforOSX、winの場合はforwindows hostsを落としてきてください。
OSディスクの入手
ここから入手しましょ
※今回は64bit版で話しを進めます
virtualboxネットワーク設定について
[virtualbox][network][tips] VirtualBox を利用する際のネットワーク設定の話で詳しいお話が載っています。
以下引用 [virtualbox][network][tips] VirtualBox を利用する際のネットワーク設定の話
仮想マシンをローカルマシン上で使用する場合、大体の人が実現したいネットワークの構成としては、
GuestOSは外部ネットワークに対してアクセスできてほしい。
GuestOSは基本的に外部ネットワークからは遮断しておきたい。
でも、HostOSに限り、外部からアクセスできてほしい。
という構成かな、と勝手に思っていたりする。
という構成にしたので
NAT + Host-Onlyの設定にします。
ネットワークの設定については仮想環境VirtualBoxでのネットワークの設定を参考にして済ましてください。
またMACの場合は標準でホストオンリーアダプタを設定するとエラーになりますのでvirtualboxの環境設定からネットワークを開きホストオンリーネットワークを作成しておいてください。
くわしいのは[virtualbox] virtualbox のネットワーク設定(ホストオンリーアダプタ)をみてください。
ゲストOS(centos)の起動まで
VirtualBox for OSX に Linux(CentOS6.3)をインストール のVirtualBox for OSX に Linux(CentOS6.3)をインストールを参考にしてcentOSのインストール画面までやってみてください。
※注意 virtualboxのストレージの容量についてですがはじめの設定値が途中で変更する場合結構大変(いろんなツール入れてゴニョゴニョしなくては行けない)なのでそれなりの容量を初期に確保することをおすすめします(自分は60GBくらいに設定しました)
ゲストOS(centos)のインストール
非常によくまとまっているインストールまで流れが下記に紹介されていますのでやってみてください。
#04 CentOS5のインストール::VMWare×CentOS5 Windowsでカンタン開発環境
VMwareでのお話をしていますが起動したらVMもvirtualboxも一緒です。
自分は言語選択を「英語」
インストールパッケージ選択を「ベース」のみで構成しました。
インストール後必要なものを随時yun install する感じですね
インストール完了後にやること
ここまでで慣れればだいたい1時間くらいでできると思います。
続いて最低限の開発環境を設定をしましょう。
##ネットワークの設定
最初の状態だとネットワークアダプタの設定が有効になっていない為通信ができない状態ですのでネットワークの設定をしましょう
ネットワーク設定をNAT + hostOnlyアダプタで設定している場合ですと
/etc/sysconfig/network-scripts/ifcfg-eth0
がNATの設定で
/etc/sysconfig/network-scripts/ifcfg-eth1
がHostOnlyアダプタの設定になります
まあどっちも有効するだけです。
NATの自動boot
vim /etc/sysconfig/network-scripts/ifcfg-eth0
#修正前
ONBOOT="no"
#修正後
ONBOOT="yes"
hostOnlyアダプタの自動boot
vim /etc/sysconfig/network-scripts/ifcfg-eth1
#修正前
ONBOOT="no"
#修正後
ONBOOT="yes"
ネットワーク再起動
service network restart
外部接続確認
cd /tmp
wget http://google.co.jp
#htmlが保存されれば外部通信ができている
一般ユーザーの作成
ザクっと
useradd ユーザー名
passwd ユーザー名
#パスワードを入力する
yum update
これもサクッと
yum -y install yum-fastestmirror
yum -y update
selinuxを止める
こいつが色々悪さをするのでまず止めましょう
#SELinux状態確認
getenforce
Enforcing #有効になってる
#SELinux無効化
setenforce 0
#SELinux状態確認
getenforce
#SELinux無効
Permissive
#SELinuxの無効化
vim /etc/sysconfig/selinux
#編集前
SELINUX=enforcing
#編集後
SELINUX=disabled
sshの設定
これさえ入れればホストOSからターミナルで入れるので入れましょう。
参考にしたサイト
rpm -qa | grep ssh
openssh-4.3p2-16.el5
openssh-clients-4.3p2-16.el5
openssh-server-4.3p2-16.el5
#既に入ってる
SSHの設定
#6.5 sshの設定・scpの使い方でも言われていますが
公開サーバではパスワードログインは許可せず、必ず鍵認証をすること>をオススメします。というか、してください。
vim /etc/ssh/sshd_config
Protocol 2
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes
SSHの起動
#sshdの起動
/etc/init.d/sshd start
#OS起動時に自動で起動する設定
chkconfig sshd on
接続確認
ゲストOS側(CentOS)のIPを調べる
$ifconfig
#下記の項目(inet)がどこかにあるのでメモしておく(デフォルトだと192.168.xx.xxx)なはず
inet addr:192.168.56.101
調べたIPで接続する
ssh ユーザー名@調べたIPアドレス
これで最低限の開発環境は揃いました。
元々は#00 VMWare×CentOS5 Windowsでカンタン開発環境を見てvirtualboxでも同じ風なセットアップ方法を書きたいなーと思って書きました。(引用が多くてごめんなさい)
またこの状態で一旦virtulaboxのスナップショットの保存しておくことおすすめします。
ちょっとqiitaだと画像アップとかないので自前でうまく説明することができませんでした。。
中の人kobitoとかに機能つけてくれれば嬉しいな。