stylesheet

2013-06-14

OpenShiftへじゃぱん仕様のJoomla!をインストール

OpenShiftはLinuxでお馴染みのRedHatが運営するPaaSクラウドサービスとそのプラットフォーム。オープンな技術のみで構成されているのが特徴。Gitでプッシュしてアプリをデプロイする。
また、現状3つのスモールギア(Herokuのdynosみたいなもの)までなら一切費用が掛からない。

PHP製コンテンツマネジメントシステムのJoomla!をインストールして遊ぶ

公式で設定済みレポジトリが用意されていたがバージョンが古かった為、Joomla!じゃぱん配布の最新版を使用したレポジトリを作成してみた。

以下、このレポジトリを使用してOpenShiftへJoomla!をインストールする手順をメモ。

1. 準備

事前に以下のプログラムを使用可能な状態にしておく。

  • git
  • ruby
  • rubygems
sudo aptitude install git ruby1.9.1 rubygems1.9.1

2. OpenShiftアカウントの作成とコマンドラインクライアントのインストール

openshift.comでアカウントを作成。メールアドレスとパスワードの登録だけでできる。

アカウント作成後、コマンドラインクライアントをRubyGemsでインストールして初期設定する。

$ sudo gem install rhc
$ rhc setup

3. アプリケーションの作成

rhcコマンドでアプリケーションを作成する。必要なカートリッジはPHPとMySQL。アプリの作成にはしばらく時間がかかる。
コマンド実行後は作成したアプリのGitレポジトリがチェックアウトされた状態となる。

$ rhc app create -a joomla -t php-5.3
rhc cartridge add -a joomla -c mysql-5.1

ネームスペース未作成の場合はapp createに -t オプションをつけると一度に作成できる。

$ rhc app create -a joomla -t php-5.3 -n YOUR_NAMESPACE

4. Joomla!設定済みレポジトリを統合してデプロイ

Joomla!設定済みレポジトリを統合する。

$ cd joomla
git remote add upstream -m master git://github.com/yamorijp/openshift-joomla-japan.git
git pull -s recursive -X theirs upstream master

pushでクラウドへデプロイする。

git push

以上でインストールは完了する。デプロイしたアプリへは以下のURLでアクセスできる。

http://joomla-$yournamespace.rhcloud.com

5. インストール完了後の設定変更

デプロイ直後はインストールウィザードを完了し、installationディレクトリを削除した状態となっている。
初期アカウントは admin/admin で作成されているので、必ずパスワードを変更する。

バックエンド(管理サイト)へは以下のURLでアクセスできる。

http://joomla-$yournamespace.rhcloud.com/administrator

OpenShiftについて

EC2だけに当たりハズレはあるだろうけど、無料版は結構重い。公式でうたうDrupal7で15ページ/秒は厳しいかも。

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model  : 26
model name : Intel(R) Xeon(R) CPU           E5507  @ 2.27GHz
stepping : 5
cpu MHz  : 2266.746
cache size : 4096 KB
fpu  : yes
fpu_exception : yes
cpuid level : 11
wp  : yes
flags  : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm rep_good aperfmperf unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm dts
bogomips : 4533.49
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model  : 26
model name : Intel(R) Xeon(R) CPU           E5507  @ 2.27GHz
stepping : 5
cpu MHz  : 2266.746
cache size : 4096 KB
fpu  : yes
fpu_exception : yes
cpuid level : 11
wp  : yes
flags  : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm rep_good aperfmperf unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm dts
bogomips : 4533.49
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
$ cat /proc/meminfo 
MemTotal:        7513900 kB
MemFree:          449420 kB
Buffers:          428084 kB
Cached:          1616420 kB
SwapCached:       433624 kB
Active:          3321456 kB
Inactive:        2898616 kB
Active(anon):    1946544 kB
Inactive(anon):  2238516 kB
Active(file):    1374912 kB
Inactive(file):   660100 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:       6249464 kB
SwapFree:        2491652 kB
Dirty:               436 kB
Writeback:             0 kB
AnonPages:       3782804 kB
Mapped:           439952 kB
Shmem:              9540 kB
Slab:             479560 kB
SReclaimable:     298096 kB
SUnreclaim:       181464 kB
KernelStack:       36256 kB
PageTables:       225316 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    10006412 kB
Committed_AS:   36760956 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       38128 kB
VmallocChunk:   34359688252 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:     7864320 kB
DirectMap2M:           0 kB

Xeon E5507@2.27GHz 4コアCPU, 7GBメモリ のマシンを使用。バックエンドはAmazon EC2なので、M1ラージインスタンス相当。スモールギア1つへの割り当てメモリは512MBなので、最大で14個のスモールギアが同居中?