初期化された状態で仮想環境を立ち上げてください。

今回の目標を確認

今回の目標を確認します。

  • rootパスワードの変更
  • SSH接続の設定変更
  • sudoの設定
  • 一般ユーザーの追加
  • システムのアップデート
  • iptablesの設定
  • WEBサーバーの設定
  • WEBページの設定
  • マルチドメインの設定
  • PHPの設定
  • MySQLの設定
  • Postfix/Dovecot/Postfix Adminの設定

WEBサーバーの設定

WEBサーバーは、Apacheを選びます。
CentOSからインストールすると、yumを使用されるので、yumのアップデートも一緒に行います。

  • システムのアップデート
  • WEBサーバーの設定
  • WEBページの設定
  • マルチドメインの設定

仮インストール

以下の設定ファイルを手に入れるために、とりあえずにインストールします。

/etc/httpd/conf/httpd.conf

httpdというCookbookを作って、そこに書いていきましょう。

httpdのrecipeを書きます。
yumのアップデートは、参考サイトから頂きました。

chef – 今日作りたくなる簡単cookbook [Kim'sキッチン] yumsetup(yum-fastestmirrorにyum update添え) – Qiita

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/httpd/recipes/default.rb

sakuravps.jsonに追記します。

~/vagrantdir/sakuravps/chef-repo/nodes/sakuravps.json

準備ができたらrecipeを反映します。

設定ファイルの取得と書き換え

仮想環境にログインして、httpd.confを取得します。

コピーしてきたhttpd.confをhttpd.conf.erbとして、templatesに移動させ、以下の書き換えを行います。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/httpd/templates/default/httpd.conf.erb

マルチドメイン(バーチャルホスト)の設定

マルチドメイン(バーチャルホスト)の設定をします。
ユーザーと同じようにdata_bagを使ってみます。

~/vagrantdir/sakuravps/chef-repo/data_bags/sites/exmaple.json

vhosts.confは以下のような感じにします。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/httpd/templates/default/vhosts.conf.erb

httpdのrecipeに追加します。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/httpd/recipes/default.rb

これでhttpdのrecipeは完成です。

仮想環境に反映したらhttp://192.168.33.10/にアクセスしたり、/var/www/htmlにファイルをアップして確認してみましょう。

PHPの設定

PHPをインストールします。
yumからインストールできれば楽なのですが、そうするとバージョンが5.3なってしまいます。
今回は、5.5を入れたいと思います。

  • PHPの設定

以下のサイトを参考にさせて頂きました。

vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 – たけまるの日記

仮インストール

以下の設定ファイルを手に入れるために、仮インストールします。

/etc/php.ini

php55というCookbookを作ります。

modulueを追加していますが、それ以外は、ほとんど参考サイトの通りです。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/php55/recipes/default.rb

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/php55/attributes/default.rb

sakuravps.jsonに追記します。

~/vagrantdir/sakuravps/chef-repo/nodes/sakuravps.json

php.iniの設定

php.iniを取得します。

php.ini.erbとして、templatesに置き、以下の部分を変更します。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/php55/templates/default/php.ini.erb

php.ini用にrecipeを追加します。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/php55/recipes/default.rb

仮想環境に反映したら

phpinfo();と書いたファイルを/var/www/htmlにアップして、確認してみましょう。

MySQLの設定

MySQL新しいバージョンインストールしたいと思います。
サードパーティCookbookがシンプルで使いやすかったので、こちらを使いたいと思います。

mysql Cookbook – Chef Supermarket

インストール

Berksfileに追記します。

~/vagrantdir/sakuravps/chef-repo/Berksfile

Cookbook作成

mysqlsetというCookbookを作ります。

以下の場所に新規ファイルとして、作成します。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/mysqlset/recipes/templates/default/mysite.cnf.erb

recipeを書きます。

~/vagrantdir/sakuravps/chef-repo/site-cookbooks/mysqlset/recipes/default.rb

sakuravps.jsonに追加します。
バージョンは5.6にします。
password系は適宜変更してください。

~/vagrantdir/sakuravps/chef-repo/nodes/sakuravps.json

反映したら、

仮想環境にアクセスして、MySQLにログインできるか確認してみましょう。

次回は、メールです。