AlibabaクラウドでWordPressサイトを構築

AWSとの違いを踏まえながら詳しく解説します。東京リージョンで、スタートアップキャンペーンを使用します。

Alibabaクラウドって何?

Alibabaクラウド(略称Aliyun)とは、要はサーバレンタルの事です。

中国でそのようなことをやろうとすると、電子決済が必要になってきます。分かっている課題を共有します。 中国の事情 ...

Alibabaは支付宝を運用している会社です。似たようなサーバレンタルにAmazonのAWSがあります。

AWSを使用してテストサーバを構築する概要を初心者向けに解説します。Amazonのチャートリアルにそってお伝えします。 A...

AWSを使ったサーバ構築は前やりました。今回はそれのAliyun編になります!

AliyunとAWSどう違う?

実はほとんど同じです。初心者が使う分には。

違いを言うと、

 内容 Aliyun AWS
サーバの設置屋所 中国を中心とした全世界 全世界(中国無い)
中国からのアクセス 早い 早い/遅い/できない
サーバ代 高い 安い
制約 サーバの設置屋所が中国国内だと、中国のいろいろな法律の対象になる 無いと思う

(間違いがあるかもしれないけど)大体こんな感じです。AWSのサーバは、基本的に中国国内からアクセス可能です。ただし結構な確率で気分に左右されます。

  • ある時は早い
  • ある時は超遅い(体感的に19時から23時までは明らかに何かに阻害されて遅いです)
  • スタバからだと頻繁にアクセスできない←これが結構痛い

詳しい原因は分かりません。

ちなみにAliyunサーバの設置屋所で選べるのは、

↑の通りです(2018年5月現在)

Aliyun申し込み

前提条件

今回はこのようなサーバを構築します。

  • 一番低スペックで安いサーバ。スターターパッケージ。月額1200円+ネットワーク代
  • サーバの設置屋所は東京(今回は「中国の法律」については触れません)
  • Linux(Ubuntu)サーバ
  • サーバ(ドメイン)名はshwpcon.com

エキスパート向けサーバだと、クーポンが付いてきて利用額が割引になります。スターターにはありません。

必要なもの

  • 携帯番号 ・・・ 日本の物でOK
  • メールアドレス ・・・ GmailでOK
  • クレジットカード ・・・ VISA、MASTER、JCBのどれか
  • 免許証
  • ドメイン

ドメインはいつも通り申し込みます。自分の場合は「お名前.com」から取りました。

いざ申し込み

alibaba cloud

特に難しいところは無いと思います。Googleで検索して、日本語のページがあるので、そこから申し込みます。

クレジットカード登録

aliyunクレジットカード登録

申し込みが終わったら、まず最初にクレジットカード登録をします。これをやらないと何もできません。カード番号を入れて、免許の写真を送信します。

半日後サポートから返信があります。

サーバ調達

スターターパッケージの選択

まず、一番上の選択でスターターパッケージを選択します。

料金プランの選択

1200円のサーバを選択します。

データセンターとリージョンとゾーンの選択

サーバの設置屋所でアジア東北1(東京)を選択します。

OSの選択

サーバOSでUbuntuを選択します。

価格モデルの選択

上からの続きです。

価格モデルの選択

価格の所で、パッケージコスト+データ転送料金となっています。この辺りの仕組みはAWSと同じです。

データ転送量について

公式サイトから説明を拝借しました。昔あった携帯のパケット料金持越しと同じですな。

特に問題なければ「今すぐ購入」をクリックして調達完了です。サーバはすぐに使えるようになります。

Aliyunサーバ設定

Aliyuコンソール

ここまで進むと管理コンソールに調達したサーバが表示されるようになります。

キーペアとサーバの関連付け

キーペアとはサーバに接続するためのカギの事です。AWSとの違いは

  • AWS:サーバと鍵の組み合わせが1対1で、サーバ調達時に自動で作られる
  • Aliyun:自分で作る。鍵とサーバの組み合わせは自由。サーバ調達時に必ずダウンロードされるので、ローカルに保存しておく

キーペアのバインド

こうです。キーペアのバインドを自分で行います。

サーバパスワードの設定

パスワードのリセット

メニューからパスワードのリセットを選択します。ここで設定するのはrootユーザのパスワードです。サーバにログインするとき

  • ログイン先・・・IPアドレスまたはホスト名(後述)
  • ユーザ・・・root
  • パスワード・・・ここで設定したもの

になります。

セキュリティグループ設定

この設定はAWSと同じです。

セキュリティグループ

下3つのエントリは始めからあります。ポート80、ポート443のエントリを自分で追加します。この通りに設置すればOKです。

Elastic IP アドレス設定

Elastic IP アドレス設定

一番下の項目になります(画像は既に設定済みの場合)

Elastic IP アドレス(以降EIPと記述)の役割はAWSと同じで、クラウドサーバに接続するための固有のIPアドレスです。

  • AWS:EIPの割り振りを自分で申し込む
  • Aliyun:クリック一発で即申し込み完了

DNS設定1(お名前.com)

DNS設定でやることもAWSの場合と同じです。

今回はお名前.comでドメインを取得したので、それを参考に例を記載します。他のドメイン会社でも大きくは違いません。

お名前.comのネームサーバ設定

ネームサーバーの変更⇒他のネームサーバーを利用、と画面を進めてネームサーバー情報を入力欄にAliyunのネームサーバーを入れます。

  • ns7.alidns.com
  • ns8.alidns.com

設定を投入して次に進めます。この情報が反映されるのに3時間くらいかかります。(3時間後でないと先に進めない)

DNS設定2(Aliyun)

alibaba cloud DNS

管理コンソールのTOP画面からAlibaba Cloud DNSを選択します。

レコードの追加

レコードを追加します。

  • タイプ・・・A
  • ホスト・・・空白
  • ISP、TTL、デフォルトラインに同期・・・変更なし(デフォルト値)
  • 値・・・先に取得したEIP

Aレコード

上記のようになります。

サーバ接続テスト

ここまで進めてようやくサーバに接続可能です。

TeraTermを例に接続します。

TeraTerm新しい接続

ホスト欄にサーバ名(ドメイン名)を入力し、

パスワード入力

ユーザ名root、パスフレーズは先に設定したパスワード、秘密鍵に先にダウンロードしたキーペアを指定します。

Aliyunサーバログイン完了

今回調達したサーバにログインできました。

ここまでで全体の半分です。

WordPressサイト構築

ここからはTeraTermでの作業になります。ここで詳細に解説しなくても、既に解説サイトがあるので、それらの記事へのリンクを書いておきます。

パッケージレポジトリの追加

Ansibleでリポジトリを国内のミラーサーバーに変更する方法メモ # 国内ミラーサーバー一覧 ## Ubuntu Japanese Team (http...

調達したばかりのAliyunサーバは、レポジトリの参照先が何も設定されていないので、自分で入れる必要があります。

WordPressのインストール

- Ubuntu 16.04 LTS へWordPressをインストールした際のメモ。 - MySQL - Apache2 - PHP7 - インストール後にIPアドレスを変更し、サイト表示がおかしくなった場合の対処 ...

上記の中に、テストページの公開確認もあるので、このタイミングで見ておきます。

サイトのHTTPS化

フリーのSSL証明書Let’s Encryptを使った場合です。

開発用EC2インスタンスはhttpで使用していたのですが、セキュリティ対策を入れたりでステージング環境に近くなってきたので簡易的にSSLを導入しようとLet's Encryptを使用してみました。 思ったより簡単に導入できたの...
久しぶりにApacheをインストールしました。設定ファイルがディレクトリ毎に色々と分かれていたり、設定用のコマンドがあったりして、ちょっと戸惑いましたが、Let's Encryptの証明書でSSL化するまでの手順です。 # ...

自分の場合、途中で一か所スクリプトがエラーになったので調べて解決しました。解決方法は3つめのリンクにあります。

エラーメッセージは↓

OSError: Command /root/.local/share/letsencrypt/bin/python2.7 – setuptools pkg_resources pip wheel failed with error code 2

上記の通りです。

apt-get purge python-virtualenv python3-virtualenv virtualenv

キャッシュ、またはゴミがスクリプとの成功を阻害しているようなので、それをクリアするコマンドです。

サイトの表示確認

shwpconサイトの表示確認

上海龙凤论坛|我觉得钱比爱重要。

AWSで構築したサイトより断然早いです。

補足情報

サービスの確認

双方で動いているサービスを比較してみました。

■AWS

bitnami@ip-172-31-●●-●●:/tmp$ sudo service –status-all
[ + ] acpid
[ + ] apparmor
[ + ] apport
[ + ] atd
[ + ] bitnami
[ – ] bootmisc.sh
[ – ] checkfs.sh
[ – ] checkroot-bootclean.sh
[ – ] checkroot.sh
[ + ] console-setup
[ + ] cron
[ – ] cryptdisks
[ – ] cryptdisks-early
[ + ] dbus
[ + ] grub-common
[ + ] haveged
[ – ] hibagent
[ – ] hostname.sh
[ – ] hwclock.sh
[ + ] irqbalance
[ + ] iscsid
[ + ] keyboard-setup
[ – ] killprocs
[ + ] kmod
[ – ] lvm2
[ + ] lvm2-lvmetad
[ + ] lvm2-lvmpolld
[ + ] lxcfs
[ – ] lxd
[ + ] mdadm
[ – ] mdadm-waitidle
[ – ] mountall-bootclean.sh
[ – ] mountall.sh
[ – ] mountdevsubfs.sh
[ – ] mountkernfs.sh
[ – ] mountnfs-bootclean.sh
[ – ] mountnfs.sh
[ + ] networking
[ + ] ondemand
[ + ] open-iscsi
[ – ] open-vm-tools
[ – ] plymouth
[ – ] plymouth-log
[ + ] procps
[ + ] rc.local
[ + ] resolvconf
[ – ] rsync
[ + ] rsyslog
[ – ] screen-cleanup
[ – ] sendsigs
[ + ] ssh
[ + ] udev
[ + ] ufw
[ – ] umountfs
[ – ] umountnfs.sh
[ – ] umountroot
[ + ] unattended-upgrades
[ + ] urandom
[ – ] uuidd
[ – ] x11-common

■Aliyun

root@iZ6wec0n2qbk3384r4●●●●●:/tmp# service –status-all
[ + ] agentwatch
[ + ] apache-htcacheclean
[ + ] apache2
[ + ] apparmor
[ + ] atd
[ – ] bootmisc.sh
[ – ] checkfs.sh
[ – ] checkroot-bootclean.sh
[ – ] checkroot.sh
[ + ] console-setup
[ + ] cron
[ + ] dbus
[ + ] grub-common
[ – ] hostname.sh
[ – ] hwclock.sh
[ + ] irqbalance
[ – ] keyboard-setup.dpkg-bak
[ – ] killprocs
[ + ] kmod
[ – ] mountall-bootclean.sh
[ – ] mountall.sh
[ – ] mountdevsubfs.sh
[ – ] mountkernfs.sh
[ – ] mountnfs-bootclean.sh
[ – ] mountnfs.sh
[ + ] mysql
[ + ] networking
[ – ] nscd
[ + ] ntp
[ + ] ondemand
[ – ] plymouth
[ – ] plymouth-log
[ + ] procps
[ + ] rc.local
[ + ] resolvconf
[ – ] rsync
[ + ] rsyslog
[ – ] sendsigs
[ + ] ssh
[ + ] sysstat
[ + ] udev
[ + ] ufw
[ – ] umountfs
[ – ] umountnfs.sh
[ – ] umountroot
[ + ] urandom
[ – ] uuidd

WinMargeでサービス一覧を比較した結果

上記はWinMargeで比較した結果です。左がAWSで右がAliyunです。

AWSではHTTP関係のサービスがbitnamiという名称で存在しています。一方のAliyunではapache2です。

Let’s Encrypt証明書自動更新

Aliyunの場合は以下のようになります。

00 10 * * 1 /usr/bin/certbot-auto renew -q –no-self-upgrade –post-hook “service apache2 restart”

この定義をrootのCrontabに入れればOK

※毎週月曜日の午前1時に証明書の更新をチェックする。