序章


2013年4月、ブログ作成の分野に参入したばかりの John O’Nolan は、 Ghost と呼ばれる新しい種類のブログのキックスターターを立ち上げました。これにより、書き込みと保守が大幅に簡素化されます。ブログ。 ここでは、GhostをDigitalOceanVPSでセットアップして実行するためのすべての手順を説明します。

前提条件


始める前に、まとめておくべきことがいくつかあります

  1. Ghostのコピーを入手する

    • このチュートリアルでは、ローカルコンピューターにGhostのコピーが既にあることを前提としています。 現在、Kickstarterの支援者のみが利用できるため、ダウンロードできるサイトへのリンクが送信されているはずです。
  2. VPSを設定する

    • このチュートリアルでは、VPSがすでに設定されていることを前提としています。 Ubuntu 12.04を使用しますが、何でも問題ありません。 この部分についてサポートが必要な場合は、このチュートリアルを使用して開始できます。
  3. ドメインをVPSに向ける

    • このチュートリアルでは、VPSでドメインを指定していることを前提としています。 このチュートリアルは、その方法がわからない場合に、その部分を支援するはずです。

ステップ1:npmをインストールする


始める前に、システムが最新であることを確認することを強くお勧めします。 次のコマンドを実行して、VPSにSSHで接続することから始めます。

ssh [email protected]*your-server-ip*

ローカルマシンで、VPSで以下を実行します。

apt-get update
apt-get upgrade

それが完了したら、npmをインストールする必要があります。 次のコマンドを実行すると、Nodeのいくつかの依存関係がインストールされ、そのリポジトリがapt-getに追加されてから、nodejsがインストールされます。

apt-get install python-software-properties python g++ make
add-apt-repository ppa:chris-lea/node.js
apt-get update
apt-get install nodejs

注:おそらくrootとしてログインしているため、sudoでコマンドを実行する必要はありませんが、このチュートリアルから逸脱して別のユーザーとしてログインしている場合、おそらくsudoが必要になることを忘れないでください。

これで、コマンドラインでnpmを実行すると、ヘルプ情報が出力されます。 それでよければ、Ghostをインストールする準備ができています。

ステップ2:Ghostをインストールする


次に行うことは、Ghostのコピーをリモートサーバーに取得することです。 Ghostがベータ版である間、このステップは今のところのみ必要であることに注意してください。 一般に公開されると、npmからインストールできるようになります(このチュートリアルは、それを反映するように更新される可能性があります)。

ファイルをVPSに直接ダウンロードするか、FTP経由で転送することができます。 SCPを使用してフォルダをホストからサーバーにコピーする方法を説明します。 次のコマンドは、ローカル端末で実行されます。

cd /path/to/unzipped/ghost/folder
scp -r ghost-0.3 [email protected]*your-server-ip*:~/

これにより、ghost-0.3フォルダーのすべての内容がサーバー上のrootユーザーのホームフォルダーにコピーされます。

次に、リモートサーバーに戻り、アップロードしたGhostフォルダーに移動し、npmを使用してGhostをインストールします。 コマンドは次のようになります。

cd ~/ghost-0.3
npm install --production

これが完了したら、以下を実行して、インストールが正しく機能したことを確認します。

npm start

出力は次のようになります。

> [email protected] start /root/ghost-0.3
> node index

Ghost is running...
Listening on 127.0.0.1:2368
Url configured as: http://my-ghost-blog.com

その場合は、おめでとうございます! Ghostがサーバー上で稼働しています。 Control-Cでプロセスを停止し、次の手順に進んで構成を完了します。

ステップ3:nginxをインストールして構成する


次のステップは、nginxをインストールして構成することです。 Nginx(「engine-x」と発音)は、「無料のオープンソースの高性能HTTPサーバーおよびリバースプロキシ」です。 基本的に、ポート80の外部からの接続が、Ghostが実行されているポートに接続できるようになるため、他のユーザーがブログを見ることができます。

挿入は簡単です:

apt-get install nginx

構成はもう少し難しいだけです。 cdでnginxの構成ファイルにアクセスし、デフォルトのファイルを削除することから始めます。

cd /etc/nginx/
rm sites-enabled/default

次に、新しい構成ファイルを作成します。

cd sites-available
touch ghost

そして、次のコードを貼り付けて、独自の構成に適合するように変更します(変更する必要があるのはドメイン名だけです)。

server {
    listen 0.0.0.0:80;
    server_name *your-domain-name*;
    access_log /var/log/nginx/*your-domain-name*.log;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

最後に、sites-availableのファイルからsites-enabledへのシンボリックリンクを作成します。

cd ..
ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

これにより、ポート80で着信するトラフィックをリッスンし、指定したドメインに接続している場合は、Ghostにリクエストを渡します。

サーバーを再起動し(ステップ2の最後のコードを使用)、ドメインにアクセスします。 ゴーストを見たら、行ってもいいですよ!

ghost

ステップ4:アップスタートを構成する


最後のステップは、Ghostを処理するUpstartタスクを作成し、何らかの理由でサーバーの電源がオフになった場合に、Ghostがキックバックされることを確認することです。 次の手順を実行して、新しいUpstart構成ファイルを作成することから始めます。

cd /etc/init
nano ghost.conf

そして、次の構成で貼り付けます。

# ghost

# description "An Upstart task to make sure that my Ghost server is always running"
# author "Your Name Here"

start on startup

script
    cd /root/ghost
    npm start
end script

これにより、サーバーが起動するたびにGhostが起動し、service ghost startservice ghost stop、およびservice ghost restartを使用してGhostを簡単に制御できるようになります。