CONOHA VPSにKUSANAGI RODのDOCKER環境でWORDPRESSサイトを公開してみた

この記事は現役ウェブディベロッパーがわかりやすさにこだわって作成しました

はじめに

Conoha VPSが75%オフのキャンペーンが2022年11月初旬まで実施されているようです。以前からKusanagi RODでローカルに構築しているDOCKER環境をそのままVPSで公開できればと思っていたので、この機会にConoha VPSでWORDPRESS環境を構築してみました

環境

SERVER: メモリ 2GB 、 CPU 3コア、 SSD 100GB
OS: UBUNTU 22.4

SSH接続

管理画面からSSHキーを作成します。

サーバー側に公開キーを追加する

次に管理画面のコンソールから作成したVPSに入ります。

次にホームディレクトリの.sshディレクトリにauthorized_keysファイルに、先程作成したSSHの公開キーを追加します。

クライアント側からSSH接続する

SSH接続はターミナルから下記のコマンドで入ることができます。

ssh -i {秘密鍵のパス} {ユーザ名}@{サーバーパブリックIP}

UBUNTUのPCから接続しようとすると以下のエラーが発生しました。

Unable to negotiate with xxx port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

原因は最近のopensshが古い形式の秘密鍵をサポートしなくなったこと。openssh 8.3ではエラーが出なかったが8.8だとエラーになったとの報告があります。

これはLINUX PCに限らず古い形式の鍵を使用した場合にできようなのでその対処法は次のとおりです。

ホームディレクトリの.sshディレクトリにconfigファイルを作成します。

Host *
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa

KUSANAGI RoDのインストール

KUSANAGI RODのインストール要件として以下のパッケージが必須です。
CONOHA VPSでUBUNTUを選択するとほぼ必要なパッケージがインストールされますが、gettext、docker、docker-composeは別途インストールする必要があります。

  • bash (4.x以上)
  • git
  • sed
  • awk
  • grep
  • gettext
  • envsubst
  • curl
  • docker (18.0x以上)
  • docker-compose
curl https://raw.githubusercontent.com/prime-strategy/kusanagi-docker/master/install.sh | bash

KUSANAGI プロビジョニングの作成

ドメイン名が仮にsample.comの場合は、以下のkusanagi dockerコマンドでWORDPRESSが起動します。このドメイン名はCONOHA管理画面の「DNS」で対象VPSのIPアドレスに紐付けられたものを指定します。

kusanagi-docker provision --wp --httpd --wplang=ja --admin-user=admin --admin-pass=admin1234 --admin-email=admin@sinceretechnology.com.au --wp-title=WordPress --kusanagi-pass=kusanagi --dbname=database --dbuser=dbuser --dbpass=dbpassword --http-port=80 --tls-port=443 --fqdn sample.com sample
kusanagi-docker provision --wp --httpd --wplang=ja --admin-user=admin --admin-pass=admin1234 --admin-email=admin@sinceretechnology.com.au --wp-title=WordPress --kusanagi-pass=kusanagi --dbname=database --dbuser=dbuser --dbpass=dbpassword --http-port=80 --tls-port=443 --fqdn sample.com sample

ドメインの設定(DNS)

次に、ドメイン名に新しく作成したVPSのパブリックIPを紐付ける必要があります。

  • Conohaのコントロールパネル > DNS
  • 「+ドメイン」というボタンを押下して取得しているドメインを入力する。
  • プルダウンボタンを押下する
  • 鉛筆ボタンを押下してタイプ列の+ボタンを押下して下記を入力する。
    • タイプ:A
    • 名称:@
    • TTL:3600
    • 値:(VPSのIPアドレス)

dockerネットワークの作成

次のコマンドでプロキシサーバーと各コンテナ間のネットワークを作成します。

docker network create --driver bridge common_link

ブラウザから確認

最後にブラウザを立ち上げてドメインURLにアクセスしてみます。

KUSANAGI RODで作成したプロビジョニングのWORDPRESSサイトが表示されればOKです。

スクリプト

GitHub - matubara/kusanagi-rod-scripts
Contribute to matubara/kusanagi-rod-scripts development by creating an account on GitHub.
PHP/Javascript/WORDPRESS案件全般承ります

この記事についてのご質問またはお困りのことがございましたら、お気軽にお問い合わせください。

タイトルとURLをコピーしました