初めに

この記事を見てくださりありがとうございます。
この記事ではOracleCloudを利用してWordpressが動き独自ドメインのサーバーを作ります。
wordpressを動かすサーバーは無料ですがドメインの部分は有料です。
ドメインとは:例google.com172.217.161.46と表せますが覚えにくいので代わりに使うものです。
必要なもの

  • VISAかmastercardのクレジットカードかデビットカード
  • デビットカードの場合は200円程度のある程度の残高(自分がやったときは120円でした余裕もってあったほうが良いです)
  • 2時間程度の空き時間
  • ドメインの代金 1円から
  • パソコン スマホでもできるとは思いますが難しいと思います

サーバーの性能

  • 4コアCPU(ARM)
  • 24GBメモリ
  • 月間転送量10TB(増強可能)
  • Nginx

個人的にこれだけあればよっぽどアクセスが集中しない限り大丈夫なサーバーだと思います。
ちなみにこのブログもこの性能のサーバーで動いています。
少なくともコアサーバーV1のMINIより性能がいいです。

OracleCloudへの登録

まず最初にOracleCloudのサイトにアクセスします。
https://signup.cloud.oracle.com/
そうするとこのような画面が表示されます。
OCI登録
そしたらメールの確認が来るのでリンクをクリック。
途中でホームリージョンを選ぶところがありますが今回使用する場合そこを利用することしかできず変更はできないようです。そして場合によってはA1Flexインスタンスが不足しているよと注意書きがあるリージョンがありますが今回はそれを使うので基本的に選ばないようにしてください。
そしてウェブサーバーは近いほうが良いので東京,大阪,ソウル,春川,シンガポールのところで選ぶのがおすすめです。
さらにと説明したいのですが一度やってから始めた企画なのでこっからアカウント登録の説明ができません。詳しくはこちらのサイトを参考にするとよいかもしれません。
なのでトップ画面までこっから飛びます。

サーバーのセットアップ

ここではOracleCloudでサーバーを立ち上げていきます。トップページを開くとこのような画面が見えると思います。見えなければ左上のOracleCloudと書かれたボタンを押せば同じ画面が出るはずです。
OCIトップ画面
そしたらVMインスタンスを作成を押します。そうするとこのような画面が出ます。 ocivm作成
そしたら赤枠で囲った部分の編集を押してください。
oci_os選択
そしてさらにこのように選択します。Canonical Ubuntu,バージョンは現時点では20.04ですが最新版を選択してください。minimal版は試していないのでわかりません。選択したらイメージを選択を押します。
oci_os_ubuntu選択
そしたらその下にあるChange shape を押します。
oci-マシン変更
そしてシェイプシリーズでAmpereを選択しVM.standard.A1.Flexにチェックをし
OCPU数を4,メモリー量を24GBに設定します。この時警告が出ることがあります。(リミット突破するよみたいなやつそれはそんなに気にしなくても大丈夫です。) oci-マシン変更A1
そしたらネットワーキングでパブリックIPV4アドレスの割り当てが有効になっていることを確認します。
oci-グローバルip割り当て確認
そしたらSSHキーの追加で基本的にキーペアを自動で生成を押した状態で
秘密キーの保存を押して保存してください。これはなくすと本当に面倒くさいことになりますので絶対なくさず大切に保管してください。逆にSSHキーをアップロードしてもかまいません。
必要におおじて公開キーも保存してもよいかもしれません。次同じ鍵を使いまわせると便利なので。
ocisshキー追加
そしたら作成を押します。
ociインスタンス作成
たまに容量不足で作成できないよというエラーが出ます。出たときは少し待ってから最初のサーバーのセットアップからやり直してください。特に東京,大阪リージョンだとよくあることです。

SSHでの操作

最初はプロビジョニング中と表示されます。1分ぐらい時間がかかります。 ocivmプロビジョニング中
この間にTeraTermをダウンロードします(windowsの場合)
Macの場合この記事を参考に作業を進めてください 公開鍵認証を使用します
TeraTermはzip,exeのどちらでも大丈夫ですがzipをお勧めします。
そして最新バージョンを選びダウンロードし解凍します。
teratermダウンロード
ダウンロードしたファイルを解凍したらttermpro.exeを実行します。
そしてそうこうしているうちにインスタンスが立ち上がっていると思うのでインスタンスへ接続していきます。ブラウザの画面に戻ると右のほうにパブリックIPアドレスが書かれているのでコピーします。 ocivmip確認
そしてTera Termの画面でhostのところにipアドレスを入力します。そしてOKを押します。
teraterm ip入力
セキュリティの警告が出ますがそのまま継続(continue)をクリック
teratermセキュリティ警告

  1. usernameにubuntuと入力
  2. Use RSAkey to log inを選択
  3. 先ほどサーバー作成時にダウンロードした秘密鍵のファイルを選択
  4. OKをクリック teratermログイン操作

Tera termでの操作

そしたらこのような画面が表示されます。 ubuntussh初期画面
この画面での操作の特徴として

  • 貼り付けはマウスの右クリック
  • コピーはマウスで範囲を選択
  • ctrl + c で途中で中断する

ここからは基本的に点滅していくところに入力しエンターを押してください。 (まずrootを取得します)

sudo -i

(aptで入手しているアプリケーションをすべて更新)

sudo apt update && sudo apt upgrade

しばらく時間がかかります。そして更新するか聞かれるのでy押してエンターしてください。
終わるとまた入力ができるようになります。
そしたら少し難しいですがファイアーウォールを設定していきます。

sudo vi /etc/iptables/rules.v4

を実行するとこのような画面になります。
iptables-ファイアーウォール設定
そしたら赤枠で囲った部分を削除します。

-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
削除するためにはINSERTキーを押し編集モードに切り替えます。
そしてカーソルを矢印キーで操作し赤枠の最後の部分にカーソル(点滅するやつ)を合わせます。
そして赤枠で囲った部分を削除します。(バックスペースで)
そうするとこのようになると思います。
iptablesファイアーウォール編集後
このようになったらESCキーを押し:wqと入力しエンターを押します。
そしてファイアーウォールの設定を更新するためこのように入力してください。

sudo iptables-restore < /etc/iptables/rules.v4

これでファイアーウォールの設定が終わりました。

それではaapanelをダウンロードしインストールします。

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh

(意味:aapanelのセットアップ用ファイルを入手しそれを実行) そしてインストールするか聞かれるのでyを押します aapanelインストール
5~10分程度くらいかかります。
なのでその間にネットワークの設定をします。

ネットワーク設定

まずブラウザでインスタンスの詳細画面を出します。
閉じてしまった場合はトップ画面->ダッシュボード->コンピュート->インスタンス->インスタンスを選択で出てきます。
そしてプライマリVNICからサブネットの右のリンクをクリックしてください。
ocivm-サブネット選択
そしてデフォルトセキュリティリストを選択
ociセキュリティリスト選択
さらにイングレス・ルールの追加をクリックします。
ociイングレスルール入力
そして入力していきます。
上のほう
ソースCIDRは0.0.0.0/0(すべてのipv4アドレス)
ipプロトコルはTCP
宛先ポート範囲は80,443,7800,21,20,888
下のほう
ソースCIDRは0.0.0.0/0(すべてのipv4アドレス)
ipプロトコルはUDP
宛先ポート範囲は80,443,7800,21,20,888
という風に設定します。
(画像では8888になっていますが最近アップデートで変更になりました。)
ociイングレスルール設定
そして設定し終わるころにはTeratarm(ssh)の画面にCongratulations! Installed successfully!と表示されていると思います。そしてその下にパネルへのアクセス先とユーザー名とパスワードが書かれているので必ずどこかへコピーしてください。コピーは範囲を選択するだけです。 aapanelインストール完了
そしたら②のリンクにアクセスします。そのためにはTera termのリンクの部分をダブルクリックするとデフォルトブラウザで開いてくれます。
そしたら③のところに書いてあるユーザー名とパスワードを入力します。
aapanelログイン画面
そうするとログインが成功しワンクリックインストールを尋ねられます。なので選択していきます。
個人的に動作の早いNginxがいいと思うのでNginxのほうを選択します。
PHPのバージョンは最新のほうが良いので執筆時点での最新バージョンを選択しています。
バージョンは基本最新のを入れておけば大丈夫です。
aapanel初回セットアップ
そして選択し終わったら左側のOne-Clickを押してください。
ここから1時間くらいダウンロードとインストールにかかります。(本当)なのでここからはドメインを購入し設定していきます。

ドメインの購入と設定

ドメインというのは最初にもちょっと説明した通り172.217.175.110では何を指しているかわかりにくいですがwww.google.comとすると多くの人が何のものかわかると思います。つまりそんなものです。
自分のブログもwww.ryokuryu.comとなっているように基本的に世の中のほとんどのウェブサービスはドメインを使用しています。
今回は安いのでお名前.comを使いやっていきます。ほかのサービスでも同じようにすればできます。

ドメインの購入

ドメインの選び方

  • 前側の文字列はどのドメインでも自由(google.comのgoogleの部分)
  • 後ろ側の文字列は基本的にお金で決まる(google.comのcomの部分)
  • ドメインは維持費がかかる(1000円~)
  • 初回料金の安さにつられないこと 維持費のほうが基本的にかかるため

これを守って選べばそこまで後悔しないドメイン選びになると思います。
個人的に値段から考えて.comや.netがおすすめです。(信頼性がありかつ更新料金も安いため)
まずお名前.comにアクセスします。
そしたらトップページの検索欄から取りたいドメイン名を入力してください。(google.comのgoogleの部分)そしたらとれる場合はチェックできる欄が出てくると思うので1つだけチェックしてください。画面例はryokuryu.netです。そしたら料金確認へ進むを押してください。
お名前.comドメインチェック
そうするとドメインと同時にサーバーを借りるかを聞かれるので利用しないを選択。したらスクロールします。
お名前.comサーバーオプション拒否
そしたらお申込内容のところにオプションが付いていないことを確認。
SSL証明書は無料のものがありそちらを利用するので不要です。
登録年数は複数年選ぶと少し安くなりますがとりあえず1年で全然大丈夫です。
お名前.com有料オプションも拒否
そしたら左上のお名前IDを登録するためのメールアドレスと設定するパスワードを入力し次へをクリック
お名前.com登録
そしたら会員情報の入力が求められるので正しく入力します。入力し終わったら次へをクリック。
もし正しく入力していないと最悪の場合ドメインが使えなくなるので注意が必要です。
お名前.com情報入力
そしたらクレジットカードで決済します。ちなみにVISAデビットでもできました。下のほうのやつはチェックしなくてもよいので申し込むをクリック。
お名前.comクレジットカード情報入力し次へ
そしたらサーバーの準備はと聞かれますがいらないので申し込まないをクリックそしたら購入完了です。
そしたら登録したメールにドメイン情報認証のメールが来るので必ずリンクをクリックします。
最後にDNSの設定をします。
まずお名前.comのトップページに戻り右上のお名前.com NAVIにログインを押します。
そしてログインIDはメールアドレスではなく発行された数字そしてパスワードは先ほど入力したやつです。
そしたら右上のバーにあるネームサーバーの設定をクリックしネームサーバーの設定をクリック。
お名前.comネームサーバーの設定を選択
そしたらドメインの選択で購入した使用するドメインにチェックを付けネームサーバーの選択でお名前.comのネームサーバーを使うを選択そして下にスクロールし確認を押しOKを押します。
お名前.comネームサーバー設定ドメイン選択
そしたら右上のメニューからネームサーバーの設定からDNSの設定を選択しクリックしてください。
そしたら設定するドメインを選択し次へをクリック
お名前.comネームサーバー確認次へをクリック
そしたらDNSレコード設定を利用するの設定をクリック
さらにスクロールしてホスト名に* TYPEはA TTLはデフォルト値(3600)VALUEにはパブリックIPアドレス(インスタンスのインスタンスアクセスに書かれているもの)を入力します。
お名前.comレコード追加
そして追加を押し下にスクロールして確認画面へを押します。そしたら設定するを押してください。
これで完了です。

そしたらaapanelのインストールが終わるまで待ちます。

WordPressのインストールと設定

aapanelのone-clickインストールが終わったらCurrently no tasks!と出ます。
aapanel-onetimeインストール完了
そしたらMessageBoxの×ボタンを押して閉じてください。
そしたらサイトの作成とwordpressのダウンロードとインストールそして設定をしていきます。

その前にデータベースを設定しておきます。
左側のメニューからDatabasesをクリックからRootpasswordを押しsubmitをクリック。
aapanel-databaseパスワード変更
そしたらadd databaseからDBnameを設定しsubmitをクリック。 aapanelデータベース追加
左側のメニューからWeb Siteを選択してください。
そしたらAdd siteをクリックします。
aapanelウェブサイト作成
そしたら作りたいサイトのドメインを書きます。ここではwww.ryokuryu.netとしています。
SSLの設定は両方ともチェックを入れます。そしたらsubmitをクリック。しばらく時間がかかります。
aapanelウェブサイト作成の設定
完了したらwordpress用の設定をしていきます。(これを忘れるとエラー原因になります)
まず作ったサイトをクリックして設定を開きURL rewriteをクリック上のところでwordpressを選択しSAVEをクリックして保存してください。
aapanel-wordpress用リライトルール設定
そしたらwordpressをダウンロードさせインストールしていきます。
左側のメニューからFilesからサイトのドメイン名のフォルダをクリックします。
aapanel-ディレクトリ移動
そしたら左上のRemote downloadをクリックしURL addressに

https://wordpress.org/latest.zip

と入力しconfirmをクリックしてください。多分数秒でダウンロードが終わります。
そしたらダウンロードしたlatest.zipをダブルクリックしconfirmをクリックし解凍します。
そしてwordpressファルダをクリックして移動します。
aapanelzip解凍
そしたら左上のチェックマークを押し右上のCUTボタンを押して右上の戻るボタンを押してください。
aapanelwordpress内容cut
そしたら右上のPasteボタンを押しペーストしてください。
aapanel-file-paste
そしたらいらなくなったファイルとフォルダを削除します。
今回はwordpressフォルダとlatest.zipを削除するのでチェックを付けて右上のdelボタンを押します。
そうすると本当に消すかと聞かれるのでconfirmをクリックします。
aapanelファイル削除
そしてこの段階で設定したURL(ここではwww.ryokuryu.net)にアクセスするとwordpressの初期設定画面が出てきます。
ここからはほかのほうが詳しいと思いますが一般的なwordpressの設定画面が出てきます。
まず言語設定で 日本語 を選択し続けるをクリック。
wordpress言語設定
次にさあ、始めましょう!をクリック。
そしたらデータベース名データベースのユーザー名とパスワードを入力したら送信をクリック。
データベースの名前やユーザー名、パスワードが分からないときはDatabaseのところから見ることができます。
wordpressデータベース設定
そしたらインストール実行をクリック。 そしたらサイト名やユーザー名パスワードメールアドレスなどを入力してwordpressをインストールをクリック。しばらく時間がかかります。
wordpressユーザー名等設定
そしたらログインをクリックしてログインをします。
これでwordpressの画面に到達です。お疲れさまでした。
初回登録の場合30日後に一回止まるかもしれないです。

最後に

多くのサイトでは無料のやつでは遅いということや大量アクセスへの性能が悪いと書かれているのを多数見かけましたので試してみました。ただし途中から性能検証側の性能不足で正しい結果になっていません。 環境:cocoon+WP Fastest Cacheを使用
アクセスソフト:Jmeter
試験時間:60秒
アクセス先:トップページ
単位: ms

試行回数 秒間アクセス数 平均 中央値 90%Line 99%Line 最大値 エラー
600 10 546 515 732 869 1021 0
1200 20 603 584 702 937 1746 0
1800 30 658 635 787 1131 1935 0
2400 40 665 624 815 1565 1998 0

これで終わりです。ここまでありがとうございます。

Q&A

aapanelのユーザー名,パスワード,ログインページが分からないor忘れた

SSH接続をし sudo /etc/init.d/bt default を実行してください。そうするとアドレスとユーザー名とパスワードが表示されます。

参考

原案https://www.minextuts.com/free-vps-hosting-wordpress-installation-arm-x64/ iptablesの永続化https://kitakantech.com/iptables-persistent/ wordpressの保存できなくなる現象の解消https://forum.aapanel.com/d/1110-wprdpress-bug