Wordpress以外のいいかんじのCMSないかなーとおもっていたらKeystone JSというのがよさげだったので試してみたメモ。
環境はCloud9でござる。
参照したページ
セットアップは超簡単。
KeystoneJSとYEOMANとmongoDBの各公式ページをみて、書いてあることを実行するだけでOK。
keystonejs.com
Getting started with Yeoman | Yeoman
Install MongoDB Community Edition on Amazon Linux — MongoDB Manual
セットアップ手順
もっかいやるときのために残しとく。
Cloud9で新しい環境を追加
- Create environment
- EC2のインスタンスは最低でもt2.small
※貧乏性にかられてt2.nanoで立てたみたら、かなり厳しかった。
KeystoneJSのSign inとか管理画面の表示でタイムアウトしちゃうレベル。
t2.smallにしたら一応触れるレベルにはなったので少なくともt2.small以上にしたほうがよい。
KeystoneJSいれていく
KeystoneJSのGet Startedにしたがって上からやっていく
npm install -g generator-keystone
mkdir my-test-project
cd my-test-project
yo keystone
ここで200%くらいの確率で yo command not found
と言われるので
npm install -g yo
yo keystone
でyoをいれてから実行してあげる。
yeomanっていうビルドツールなんだそうな。
実行すると、「サイト名何にする?」「スタイルガイドはなにつかう?PUG?」とか聞かれるので適当にエンターまたはYを押していく。
適当にこたえるとmy-siteというディレクトリができるので
cd my-site
で移動し、
node keystone
とやると、 Error: Cannot find module 'keystone'
とか言われる。
理不尽すぎて悲しくて面倒なので、
npm install -g npm-install-missing
npm-install-missing
とやって、足りないモジュールを一括で適当にインストール。
cloud9で試すだけだから細かいことは気にせず男気で押し切っていく。
んで、もっかい
node keystone
をしたら、今度はこんなエラーに。
Mongoose connection "error" event fired with:
{ MongoError: failed to connect to server [localhost:27017] on first connect
at Pool.<anonymous> (/home/ec2-user/environment/my-test-project/my-site/node_modules/mongodb-core/lib/topologies/server.js:326:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:188:7)
at Connection.<anonymous> (/home/ec2-user/environment/my-test-project/my-site/node_modules/mongodb-core/lib/connection/pool.js:272:12)
at Connection.g (events.js:292:16)
at emitTwo (events.js:106:13)
at Connection.emit (events.js:191:7)
at Socket.<anonymous> (/home/ec2-user/environment/my-test-project/my-site/node_modules/mongodb-core/lib/connection/connection.js:175:49)
at Socket.g (events.js:292:16)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at emitErrorNT (net.js:1290:8)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
name: 'MongoError',
message: 'failed to connect to server [localhost:27017] on first connect' }
Error: KeystoneJS (My Site) failed to start - Check that you are running `mongod` in a separate process.
at NativeConnection.<anonymous> (/home/ec2-user/environment/my-test-project/my-site/node_modules/keystone/lib/core/openDatabaseConnection.js:59:10)
at emitOne (events.js:96:13)
at NativeConnection.emit (events.js:188:7)
at Immediate.<anonymous> (/home/ec2-user/environment/my-test-project/my-site/node_modules/mongoose/lib/connection.js:296:19)
at runCallback (timers.js:672:20)
[mongodb-org-4.0]
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
mongoがいなくてンゴってなってるので Install MongoDB Community Edition on Amazon Linux
を
参考にmongoDBをインストール。
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
.repoの中には以下をコピペ。
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
以下でインスコ&mongoDB起動。
sudo yum install -y mongodb-org
sudo service mongod start
無事にmongoDBを起動できたので、
node keystone
をもっかいやると、
KeystoneJS Started:
My Site is ready on http://127.0.0.1:8080
という感じで、KeystoneJSが動いた。
Cloud9→Preview→Preview Running Applicationってやって、アプリケーションにブラウザからアクセスしてみると
というかんじ。
どうみてもTOPページです。本当にありがとうございました。