Virtualbox

MacのVirtualboxで共有フォルダをapacheのドキュメントルートに設定する際の注意

2013-07-28 CentOS, Tools, VMware, 環境構築 , , ,

MacでVirtualbox入れて、Web開発の開発環境を作る際に、ソースを編集するのはMacからやるが、WebサーバーはVirtualboxのApacheにやらせようとして、ちょっとハマった点をメモ。

 

状況

  • VirtualboxのゲストOSは、CentOS6系(VirtualboxのサイトからCentos6.0 系のBaseのイメージをDLしたもの)
  • フォルダのマウントは自動マウント。マウント名は、sites(/media/sf_sites)
  • もちろんVirtualBox Guest Additionsもインストール済み。

 

この時に、ApacheにVirtualhosts設定して起動させるために必要になった内容をメモ。基本的に、もってきたCentOSのイメージがガチガチだったのが原因なので。通常であれば、1の手順だけでいいはず。それでも、ダメだったら2,3も確認してみる。

 

1)Apacheのユーザーをvboxsfグループに追加しておく

# gpasswd -a apache vboxsf

2)SELinuxを無効に。しておかないとDocumentRootにアクセスできないと怒られる。

# setenforce 0 ← 一時的な停止
# vi /etc/selinux/config ← 恒久的な停止

SELINUX=disabled
3)iptableに80でのアクセス追加

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# /etc/init.d/iptables restart

Chef-soloを勉強中 その1

2013-07-13 Virtualbox, 環境構築 ,

サーバーの自動構築ツール、Chefが熱いらしいのでちょっと勉強して見ることにした。
せっかくなので、自分が勉強していく記録をとってみる。

まずは、環境構築

Virtual Boxインストール後、CentOSのイメージをダウンロードして利用しはじめることにする。
イメージダウンロード元; http://virtualboxes.org/images/centos/
今回は、CentOS 6.0 base x86を利用した。

落としてきたイメージを解凍後、Virtualboxでイメージを起動するまえに設定からホストオンリーネットワークを有効にしておく。

ログイン後、VirtualBoxのイメージが独特なので以下のような環境設定をおこなった。

パスワード変更;
# passwwd

キーボードの一時的なUS化
# loadkeys us
キーボード恒久的な設定変更
# vi /etc/sysconfig/keyboard

KEYTABLE=”us”
MODEL=”pc105+inet”
LAYOUT=”us”
KEYBOARDTYPE=”pc”

ホストオンリーネットワーク側のNICの設定
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=”eth1″
BOOTPROTO=”STATIC”
NM_CONTROLLED=”yes”
ONBOOT=”yes”
IPADDR=”192.168.56.10″
NETMASK=”255.255.255.0″
NETWORK=”192.168.56.0″

Gitのインストール
# yum install git

ここから、本格的にChefを使うための環境設定

Chefのインストール
# curl -L http://www.opscode.com/chef/install.sh | bash

これだけでChefはインストールできた。

あとは、簡単なパッケージインストール等を試してみた。

リポジトリのひな形取得

#  git clone git://github.com/opscode/chef-repo.git

knife の初期設定

# knife configure
– ひとまずすべてデフォルトのままで

クックブックの作成
# cd chef-repo
# knife cookbook create hello -o cookbooks

作成の確認
# ls -la cookbooks/hello/

レシピの編集
# vi cookbooks/hello/recipes/default.rb

JSONファイルを用意
# vi localhost.json

// localhost.json
{
“run_list” : [
“recipe[hello]”
]
}

設定ファイルsolo.rbを作成

# vi solo.rb

file_cache_path “/tmp/chef-solo”
cookbook_path [“/root/chef-repo/cookbooks”]

Chef soloコマンドの実行
# chef-solo -c solo.rb -j ./localhost.json

パッケージのインストール
# vi cookbooks/hello/recipes/default.rb

package “zsh” do
action :install
end

Chef-soloを実行

複数パッケージのインストール
# vi cookbooks/hello/recipes/default.rb

%w{zsh gcc make readline-devel}.each do | pkg |
package pkg do
action :install
end
end

とりあえず、パッケージをインストールするくらいの作業を試せたところで今日はここまで。