Wordpress以外のいいかんじのCMSないかなーとおもっていたらKeystone JSというのがよさげだったので試してみたメモ。 環境はCloud9でござる。
参照したページ
セットアップは超簡単。 KeystoneJSとYEOMANとmongoDBの各公式ページをみて、書いてあることを実行するだけでOK。
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ページです。本当にありがとうございました。