GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04にApacheとSSLを使用してGhostブログソフトウェアをインストールする方法

Ghostは、美しく設計された使いやすい強力なオープンソースのパブリッシングおよびブログプラットフォームです。 Ghostはjavascriptで記述されており、ランタイム環境としてnode.jsを使用します。最初のGhostバージョンはMITライセンスの下で2013年にリリースされ、常に更新されています。このチュートリアルでは、Ghost Blogソフトウェア、Node.js、ApacheをUbuntu16.04にSSLプロキシサーバーとしてインストールする方法を示します。

Nodejsは サーバーサイドWebアプリケーションを開発するためのChromeのV8JavaScriptエンジン(v4)上に構築されたオープンソースのjavaScriptランタイム。 Nodejsは、OS X、Microsoft Windows、Linux、およびFreeBSDで実行できるクロスプラットフォームランタイムです。イベント駆動型アーキテクチャとノンブロッキングI/Oモデルを提供し、リアルタイムWebアプリケーション向けに軽量で効率的になります。 Node.jsプロジェクトはRyanDahlによって2009年に開始され、今日の時点でバージョン6.5.0(LTS)に達しました。

前提条件
  • Ubuntu 16.04
  • root権限

このチュートリアルで行うこと:

  • Node.jsをインストールします
  • Ghostをインストールする
  • ゴーストを構成する
  • Apacheをインストールし、GhostVirtualHostを追加します
  • GhostのSSLを有効にする

ステップ1-UbuntuにNode.jsをインストールする

このチュートリアルでは、nodejsv4.xを使用します。 Nodejsは、ソースからのインストールやUbuntuリポジトリからのインストールなど、さまざまな方法でインストールできます。 nodesecure https://deb.nodesource.com/node_4.xのnodejsリポジトリを使用します インストールの場合、最新のソフトウェアが含まれており、リポジトリを使用すると、後でnode.jsを簡単に更新できます。

次のコマンドを使用して、nodesourceリポジトリキーをインストールします。

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

次に、以下のコマンドを実行してnodejsリポジトリを追加します。

sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list

リポジトリを更新します:

sudo apt-get update

これで、node.jsとそのサーバーへの依存関係をインストールする「nodejs」パッケージをインストールできます。

sudo apt-get install -y nodejs

次に、nodejsのバージョンをチェックして、インストールが成功したことを確認します。

node --version

npmバージョンを確認してください:

npm --version

npmは、ノードプログラムをインストール、公開、管理するためのパッケージマネージャーです。

ステップ2-Ghostブログをインストールする

ディレクトリ「/var/ www /」にghostをインストールし、最新バージョンのGhostを使用します。 / varに新しいディレクトリ「www」を作成し、「cd」と入力してください:

mkdir -p /var/www/
cd /var/www/

wgetコマンドでGhostをダウンロードし、「ghostblog」というディレクトリに解凍します:

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

:-d:ディレクトリを自動的に作成します。

次に、ghostblogディレクトリに移動し、 npmを使用してGhostをインストールします。 コマンド:

cd ghostblog/
sudo npm install --production

ステップ3-ゴーストを構成する

ghostblogディレクトリに移動し、構成サンプルファイルを「config.js」にコピーしてください

cd /var/www/ghostblog/
cp config.example.js config.js

次に、新しいユーザー「ghost」を追加します。このユーザーは、Ghostを実行するように訴えられます:

useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER

注:

-d =/var/www/内のゴーストユーザーのホームディレクトリを定義します。

-s=ゴーストユーザーのシェルを定義します。

次に、ゴーストインストールディレクトリの所有者をユーザー「ghost」に変更します。

chown -R ghost:ghost /var/www/ghostblog

ghost userとしてnpmコマンドを実行して、ghostblogをテストします。ユーザーゴーストにログインしてください:

su - ghost

インストールディレクトリに移動してGhostを起動します:

cd ghostblog/
npm start --production

Ghostは、ポート2368のローカルホストにインストールされて実行されています。curlコマンドで確認できます:

curl -I localhost:2368

ゴーストが実行されていることがわかります-HTTP / 1.1 200 OK

ゴーストを開始しやすくするために、サービスとしてゴーストを実行します。 「exit」と入力してsudo/rootユーザーに戻り、ディレクトリ「/ lib / systemd /system/」に「ghost.service」という名前の新しいファイルを作成してください。

cd /lib/systemd/system/
vim ghost.service

以下にsystemdスクリプトを貼り付けます:

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

次に、systemdデーモンをリロードします:

systemctl daemon-reload

次に、起動時に開始するゴーストを追加し、systemctlコマンドを使用してゴーストを開始します。

systemctl enable ghost
systemctl start ghost

ポート2368をチェックして、ゴーストが実行されていることを確認します。

netstat -plntu

ステップ4-ApacheとGhostVirtualHostをインストールします

apt-getコマンドでapacheをインストールします:

sudo apt-get install apache2

インストールが完了したら、ディレクトリ「/ etc / apache2 /sites-available/」にゴースト仮想ホストの新しいファイルを作成します。

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

以下に設定を貼り付けます:

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

保存して終了します。

以下に示すように、コマンドa2enmodを使用してApacheでHTTPプロキシモジュールをアクティブ化します。

sudo a2enmod proxy proxy_http

最後に、Ghost仮想ホストをアクティブにしてから、apacheを再起動する必要があります:

sudo a2ensite ghostblog
sudo systemctl restart apache2

ゴーストを再起動します:

sudo systemctl restart ghost

ドメインにアクセスしてテストします: http://ghostblog.me

ステップ5-ゴーストのSSLを有効にする

ApacheでSSLを有効にするには、OpenSSLライブラリがシステムにインストールされていることを確認してください。ディレクトリ「/etc/ apache2/certs」に新しいキーとcrtファイルを生成します。まず、新しいディレクトリ証明書を作成します:

sudo mkdir -p /etc/apache2/certs

そして、以下のコマンドで証明書キーを生成します:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

証明書ファイルの権限を変更してください:

sudo cd /etc/apache2/certs/
sudo chmod 600 *

次に、「ghostblog.conf」ファイルを編集して、SSL構成をゴースト仮想ホストに追加します。

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

以下に新しい構成スクリプトを貼り付けます:

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

ファイルを保存してvimを終了します。

OpenSSL apacheモジュールをアクティブにして、apacheを再起動します:

sudo a2enmod ssl headers
sudo systemctl restart apache2

テスト

http://ghostblog.meにアクセスします 、ブログのHTTPS/SSLサイトに移動する必要があります。

apacheとSSLを備えたGhostが正常にインストールされました。

結論

Nodejsは、サーバー側のWebアプリケーションを構築するためのオープンソースのマルチプラットフォームJavaScriptランタイムです。リアルタイムWebアプリケーション向けに軽量で効率的です。 Ghostは、Node.js用のJavascriptで記述されたブログプラットフォームです。 Ghostは美しくデザインされており、ユーザーフレンドリーです。直感的なインターフェースにより、このブログシステムは使いやすくなっています。 Ghostは、スタンドアロンでインストールすることも、ApacheやNginxなどのウェブサーバーと一緒にインストールすることもできます。 OpenSSLを使用してGhostを保護できます。 ApacheとOpenSSLを使用したGhostの構成は簡単で、apachehttp_proxyモジュールをセットアップしてSSL証明書を生成するだけです。


Ubuntu
  1. Ubuntu18.04でApacheを使用してNextcloudをインストールおよび構成する方法

  2. CentOS、Ubuntu、LinuxMintにHadoopを使用してApacheHiveをインストールする方法

  3. Ubuntu18.04および16.04にApacheMavenをインストールする方法

  1. Ubuntu18.04でApacheを使用してphpMyAdminをインストールして保護する方法

  2. Ubuntu18.04でApacheを使用してownCloudをインストールおよび構成する方法

  3. Ubuntu 15.10にNginx、PHP-FPM、SSLを使用してDrupal8をインストールする方法

  1. Ubuntu 15.10にApache、MySQL、SSLを使用してDrupal8をインストールする方法

  2. Ubuntu15.10にNginxとSSLを使用してOpenCart2をインストールする方法

  3. Ubuntu 16.04にNginx、PHP-FPM、SSLを使用してDrupal8.1をインストールする方法