Blog

ブログプラットフォーム「Ghost」を Mac にインストールする方法

Ghost は、Node.js で書かれたブログプラットフォームです。Node.js は、ブラウザ上で動く JavaScript をサーバー上で動作させます。

WordPress は、PHP, MySQL で動いていますが、一方、Ghost は、Node.js, SQLite3 で動いています。WordPress は、テーマ作成をしたし、プラグイン作成もしたし、PHP を書くのに飽きたから、まだ勉強したことのない Node.js に触れられる Ghost で遊んでみることにします。

この記事では、ローカル環境で Ghost を動かしてみます。

Node.js をインストールする

http://nodejs.org の「INSTALL」ボタンから、pkg ファイルをダウンロードします。pkg ファイルを展開後、インストーラの指示に従って、Node.js をインストールします。

Ghost をインストールする

https://ghost.org/download/ の「DOWNLOAD GHOST」から、Ghost の zip ファイルをダウンロードします。zip ファイルを展開し、適当な場所に展開されたファイルを置きます。

ターミナルを起動し、展開されたファイルの場所に移動します。ちなみに、ターミナルに cd と入力した後に、展開されたファイルをドラッグ&ドロップすれば、簡単に移動できます。

移動後、npm install --production と入力して Ghost をインストールします。インストール後、npm start と入力すれば、開発モードで起動します。

起動後、127.0.0.1:2368 にブラウザでアクセスすれば、ローカルにインストールした Ghost ブログが表示されます。

http://127.0.0.1:2368/ghost/ に、移動すればユーザー登録できます。

ブログの投稿データを覗く

ghost-..*/content/data/ghost-dev.db にブログの投稿データが格納されるようです。試しに覗いてみます。MySQL と違って、ブログの投稿データのバックアップなどが簡単そうですね。

$ sqlite3 ghost-dev.db
sqlite> .ta
permissions        posts              roles_users        tags             
permissions_roles  posts_tags         sessions           users            
permissions_users  roles              settings
sqlite> .sc posts
CREATE TABLE "posts" ("id" integer not null primary key autoincrement not null, "uuid" varchar(36) not null, "title" varchar(150) not null, "slug" varchar(150) not null, "markdown" text, "html" text, "image" text, "featured" tinyint not null default '0', "page" tinyint not null default '0', "status" varchar(150) not null default 'draft', "language" varchar(6) not null default 'en_US', "meta_title" varchar(150), "meta_description" varchar(200), "author_id" integer not null, "created_at" datetime not null, "created_by" integer not null, "updated_at" datetime, "updated_by" integer, "published_at" datetime, "published_by" integer);
CREATE UNIQUE INDEX posts_slug_unique on "posts" ("slug");
sqlite> select title from posts;
Welcome to Ghost