vagrant + chef で mahara 環境をサクサクッと作っちゃうぞ!

2015年6月11日 at 3:38 PM

どもです。
ヨガグラマとか名乗ってるんで、たまにはプログラミング的なものでブログを更新するとです。

最近、iPhoneアプリの開発を少しだけお手伝いしてます。
いやー、やっぱアプリの開発”も”楽しいですね。
Androidの開発も含めて、もし何かお話あれば、ぜひお話をお聞かせください!

さて、今回は前回の予告通りmaharaです。
最近、良く耳にするMOOC(MOOCs)
その関係で某大学様よりmoodlemaharaの開発をいろいろとご依頼頂いております。
ありがとうございますm(_ _)m

開発するに当たって、maharaの環境をvagrantでサクっと作成しています。
その辺を備忘録含め、書いていきます。
(最後のmaharaを構築するところ以外はほぼ同じです)

スポンサーリンク



はじめに

vagrantchefについては、前回の記事を参考にされてください。

[vagrant + chef-solo + berkshelf で php と mysql な環境(x2台)を作る]
http://takafumikawano.net/development_php_mysql_at_vagrant_chef-solo_server/


ファイルの準備

任意のディレクトリにvagrant、berkshelfのファイルを用意します。

# sora at indra.local in ~/mahara_test
$ ls
Berksfile Vagrantfile


Berksfile:

site :opscode
cookbook “apt”
cookbook ‘build-essential’
cookbook “git”
cookbook “vim”
cookbook “apache2”
cookbook “php”
cookbook ‘mysql’, ‘~> 5.6’


Vagrantfile:

# -*- mode: ruby -*-

VAGRANTFILE_API_VERSION = “2”

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = “ubuntu14.04”
config.vm.box_url = “https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box”

config.vm.define “mah” do |node|
config.vm.box = “ubuntu14.04”
node.vm.hostname = “mah”
node.vm.network :private_network, ip: “192.168.33.66”
end

config.vm.provider “virtualbox” do |vb|
vb.customize [“modifyvm”, :id, “–memory”, “1024”]
end

config.omnibus.chef_version = :latest
config.berkshelf.enabled = true
config.vm.provision :chef_solo do |chef|
chef.log_level = :debug
chef.run_list = [
“recipe[apt]”,
“recipe[apache2]”,
“recipe[apache2::mod_php5]”,
“recipe[apache2::mod_rewrite]”,
“recipe[php]”,
“recipe[git]”,
“recipe[mysql::server]”,
“recipe[mysql::client]”,
“recipe[vim]”
]

chef.json = {
:apache => {
:default_site_enabled => true
},
mysql: {
server_root_password: “password”,
bind_address: “127.0.0.1”
}
}
end
end


後は、vagrant upするだけです。

$ vagrant up


ログインしちゃいましょう!

$ vagrant ssh



maharaの構築

phpとmysqlのバージョンの確認をしておきます。

[email protected]:~$ php -v
PHP 5.5.9-1ubuntu4.9 (cli) (built: Apr 17 2015 11:44:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

[email protected]:~$ mysql –version
mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3



apacheも確認。
今回、IPアドレスを192.168.33.66に設定しているんで、http://192.168.33.66/にブラウザからアクセスして確認します。
moodle001

うん、元気に動いてる!
phpもmysqlもapacheも元気に動いているんで、安心してmaharaを構築していきます。


maharaを環境に落としてきて、展開していきます。
(777のところは作業を簡素化するためのもの。
 良い子はマネしちゃダメだからね!www)

[email protected]:~$ cd /var/www/
[email protected]:/var/www$ sudo chmod 777 -R html
[email protected]:/var/www$ cd html
[email protected]:/var/www/html$ sudo apt-get install unzip
[email protected]:/var/www/html$ sudo wget https://launchpad.net/mahara/15.04/15.04.1/+download/mahara-15.04.1.zip
[email protected]:/var/www/html$ unzip mahara-15.04.1.zip
[email protected]:/var/www/html$ mv mahara-15.04.1 mahara
[email protected]:/var/www/html$ chmod 777 -R mahara


maharaの日本語化。

[email protected]:/var/www/html$ wget http://langpacks.mahara.org/ja-master.tar.gz
[email protected]:/var/www/html$ tar zxvf ja-master.tar.gz
[email protected]:/var/www/html$ cp -R ja.utf8/lang/ja.utf8 mahara/htdocs/lang/



mysqlにmaharaのデータベースとユーザを作成します。

[email protected]:/var/www/html$ mysql -u root -p
mysql> create database mahara default character set utf8;
mysql> grant all privileges on mahara.* to [email protected]”%” identified by ” with grant option;



maharaのデータ格納用のディレクトリ作成。

[email protected]:/var/www/html$ mkdir maharadata
[email protected]:/var/www/html$ chmod 777 maharadata/



maharaの接続先など設定。

[email protected]:/var/www/html$ cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
[email protected]:/var/www/html$ vim mahara/htdocs/config.php


config.php
dbの部分とデータの格納場所を下記のように変更します。

$cfg->dbtype = ‘mysql’;
$cfg->dbhost = ‘localhost’;
$cfg->dbport = 3306;
$cfg->dbname = ‘mahara’;
$cfg->dbuser = ‘mahara’;
$cfg->dbpass = ”;

$cfg->dataroot = ‘/var/www/html/maharadata’;



いくつか足りないものをapt-getで追加しておきます。

[email protected]:/var/www/html$ sudo apt-get install php5-curl php5-mysql php5-gd php5-xmlrpc php5-intl
[email protected]:/var/www/html$ sudo service apache2 restart



あとは、maharaで残りのインストール処理を行っていきます。
ブラウザよりhttp://192.168.33.66/http://192.168.33.66/mahara/htdocs/admin/index.phpにアクセスして進めていくだけです。

ブラウザからのインストール作業が無事に終わると、http://192.168.33.66/mahara/htdocs/でmaharaにアクセスすることができます。

mahara0001
(最新版の15.04.1がこの通りバッチリ!)

と作業は全部でこれだけ。
簡単ですね!


終わりに

こうして見るとmoodlemaharaも構築が凄く簡単ですよね。
使用感についても、慣れてくるととても使いやすいです。
今、ほとんどの大学でジワジワと広がっているのもウナズケます!
現在利用を考えられているのでしたら、ぜひ導入してみてはいかがでしょうか?

さて、次回は調子が良ければmoodleのプラグインの作成方法でも書くかもです。
ヨガグラマ、今日もガンバリマス。

ではでは。

あわせてお読みください